1、牛顿插值法
转载于https://blog.csdn.net/deramer1/article/details/79037740
x = [0,1,2,3,5,6]#输入已知的x值
y = [0,1,4,9,25,36]#输入已知的y值
def five_order_difference_quotient(x, y):
# i记录计算差商的次数,这里循环5次,计算5次差商。
i = 0
quotient = [0, 0, 0, 0, 0, 0]
while i < 5:
j = 5
while j > i:
if i == 0:
quotient[j]=((y[j]-y[j-1])/(x[j]-x[j-1]))
else:
quotient[j] = (quotient[j]-quotient[j-1])/(x[j]-x[j-1-i])
j -= 1
i += 1
return quotient
def function(data):
return x[0]+parameters[1]*(data-x[0])+parameters[2]*(data-x[0])*(data-x[1])+\
parameters[3]*(data-x[0])*(data-x[1])*(data-x[2])\
+parameters[4]*(data-x[0])*(data-x[1])*(data-x[3])
def calculate_data(x,pa