Python 拉格朗日/Language插值法
代码
"""
本函数用于通过Language插值法求函数在某点的值
"""
# 自变量的值以及f(x)的值
x = [0.1,0.2,0.3]
y = [1.10517,1.22140,1.34986]
# 待计算的x值
x_f = float(input('请输入想要插值的点:'))
# 最终结果
fun = 0
if len(x) != len(y):
print('自变量与函数值不匹配!')
exit()
# 根据自变量取点个数,自动选择次数
for i in range(len(x)):
upper = lower = 1
for j in range(len(x)):
if j != i:
upper *= (x_f-x[j])
lower *= (x[i]-x[j])
fun += y[i] * (upper/lower)
print('点 {0} 在此函数的插值结果为:{1}'.format(x_f,fun))