牛顿插值
差商
牛顿插值函数流程图
牛顿插值法特点及公式
插值法利用函数f(x)在某区间中若干点的函数值,作出适当的特定函数,在这些点上取已知值,在区间的其他点上用这特定函数的值作为函数f(x)的近似值。
牛顿插值法相对于拉格朗日插值法具有承袭性的优势,即在增加额外的插值点时,可以利用之前的运算结果以降低运算量。
代码
x = [0,2,3,5,6]
y = [[0,8,27,125,216]]
x_f = 4.5
fun = 0
for i in range(1, len(x)):
f = []
for k in range(len(x) - i):
k = -(k+1)
c = abs((y[i-1][k]-y[i-1][k-1])/(x[k] - x[k - i]))
f.append(c)
f.reverse()
y.append(f)
for i in range(len(y)):
upper = 1
for j in range(i):
upper *= (x_f - x[j])
fun += y[i][0] * upper
print('点 {0} 在此函数的插值结果为:{1}'.format(x_f,fun))