数值分析实验 实验1-2 牛顿插值公式 python3实现

题目:

题目

代码:

#数据点集的大小
n = int(input("请输入数据点集的大小:"))
#数据点集
dic = {}
for i in range(n):
    a, b = list(map(float, input("请输入数据点对,格式为 x y :").split()))
    dic[a] = b
points = list(dic.keys())
#预测点
pre = float(input("请输入需要预测的点:"))


#差商公式
def cs(l):
    if len(l) == 1:
        return dic.get(l[0])
    return (cs(l[1:]) - cs(l[:-1])) / (l[-1] - l[0])


result = 0
for i in range(len(points)):
    temp = 1
    for point in points[:i]:
        temp *= (pre - point)
    result += temp * cs(points[:i+1])

print("预测点的近似函数值:" + str(result))

运行结果:

数值分析实验 实验1-2 牛顿插值公式 python3实现_第1张图片

你可能感兴趣的:(数值分析实验)