MENU

1 3 5 x 7 9

2024 年 07 月 13 日 • 默认分类阅读设置

已知有以下有限序列

$$ 1 ~~3 ~~5 ~~x~~7~~9 $$

求x值,设函数为

$$ f(x) = \frac{-27413}{30} x + \frac{90524}{45} x^2 + \frac{-18707}{12} x^3 + \frac{9779}{18} x^4 + \frac{-5179}{60} x^5 + \frac{457}{90} x^6 $$

通过Python不难算出,则代码运行后有以下结果

def f(x):
    a1 = -27413 / 30
    a2 = 90524 / 45
    a3 = -18707 / 12
    a4 = 9779 / 18
    a5 = -5179 / 60
    a6 = 457 / 90
    d = a1 * x + a2 * x ** 2 + a3 * x ** 3 + a4 * x ** 4 + a5 * x ** 5 + a6 * x ** 6
    return d

if __name__ == '__main__':
    print("f(1) = ", round(f(1)))
    print("f(2) = ", round(f(2)))
    print("f(3) = ", round(f(3)))
    print("f(4) = ", round(f(4)))
    print("f(5) = ", round(f(5)))
    print("f(6) = ", round(f(6)))

$$ f(1)=1 ~~~~ f(2)=3 ~~~~ f(3)=5~~~~ f(4)=250 ~~~~ f(5)=7~~~~ f(6)=9~~~~ $$

求出系数的python脚本如下

from sympy import symbols, Eq, solve

# 定义变量
a1, a2, a3, a4, a5, a6 = symbols('a1 a2 a3 a4 a5 a6')

# 定义方程
eq1 = Eq(a1 + a2 + a3 + a4 + a5 + a6, 1)
eq2 = Eq(2 * a1 + 2 ** 2 * a2 + 2 ** 3 * a3 + 2 ** 4 * a4 + 2 ** 5 * a5 + 2 ** 6 * a6, 3)
eq3 = Eq(3 * a1 + 3 ** 2 * a2 + 3 ** 3 * a3 + 3 ** 4 * a4 + 3 ** 5 * a5 + 3 ** 6 * a6, 5)
eq4 = Eq(4 * a1 + 4 ** 2 * a2 + 4 ** 3 * a3 + 4 ** 4 * a4 + 4 ** 5 * a5 + 4 ** 6 * a6, 250)
eq5 = Eq(5 * a1 + 5 ** 2 * a2 + 5 ** 3 * a3 + 5 ** 4 * a4 + 5 ** 5 * a5 + 5 ** 6 * a6, 7)
eq6 = Eq(6 * a1 + 6 ** 2 * a2 + 6 ** 3 * a3 + 6 ** 4 * a4 + 6 ** 5 * a5 + 6 ** 6 * a6, 9)

# 求解方程组
sol = solve((eq1, eq2, eq3, eq4, eq5, eq6), (a1, a2, a3, a4, a5, a6))
print(sol)

如此即可求出方程系数,所以中间的X应该为250,实际上可以为任何数,整数、小数、负数、无理数

最后编辑于: 2024 年 11 月 19 日