Lagrange插值
print("输入X:")
X = list(map(float, input().split(',')))
print("输入Y:")
Y = list(map(float, input().split(',')))
x = float(input())
result = 0.0
for i in range(len(X)):
L = Y[i]
for j in range(len(X)):
if i != j:
L *= ((x - X[j]) / (X[i] - X[j]))
result += L
print(result)
输入X:
0.32,0.34,0.36
输入Y:
0.314567,0.333487,0.352274
0.3367
0.3303743620374999
心得:由于刚开始接触python,所有东西都不太熟悉,这算是我第一次利用python编程实现的功能。(这是老师布置的作业,用程序编写Lagrange插值法)
下午看了一点bp神经网络的东西,感觉Lagrange插值跟神经网络有点类似,就试着用python编写了一下。
一开始的思路是正确的,而且我是先列好提纲,才开始编程,前面的输出有点迷糊,不过查了点资料,一步一步还是实现了出来,后面循环语句有点绕,其实是输入格式不对,我一直以为是编程出了问题,改了好几遍程序,还是觉得逻辑并没有错,最后查出来是python的输入默认是字符串,改过格式后正确运行了出来。总的来说还是基础不牢。