题目:
文章图片
代码:
#预测点
pre_points = list(map(float, input("请输入预测点序列,格式为x1 x2 x3 :").split()))
#构造插值点,为等差数列
input_points = list(range(-5, 6))
#预测点的值
result = []def fx(x):
return 1 / (1 + x * x)#拉格朗日差值公式
def LGLR(points, pre_point):
sum_res = 0
for point in points:
am = 1# 分子
an = 1# 分母
temp_points = points.copy()
temp_points.remove(point)
for xn in temp_points:
am *= (pre_point - xn)
an *= (point - xn)
sum_res += am / an * fx(point)
return sum_resfor pre_point in pre_points:
result.append(LGLR(input_points, pre_point))for i, res in enumerate(pre_points):
print("近似值:" + str(result[i]), "准确值:" + str(fx(res)), "误差:" + str(abs(fx(pre_point) - result[i])))
运行结果: 【数值分析实验 实验1-1 拉格朗日插值公式 python3实现】
文章图片
推荐阅读
- 数值分析实验 实验2-1 复化梯形公式 python3实现
- 数值分析实验 实验4-2 选主元高斯消去法 python3实现
- 数值分析实验 实验2-3 龙贝格公式 python3实现
- 数值分析实验 实验1-2 牛顿插值公式 python3实现