python实现拉格朗日插值及作图
程序员文章站
2022-06-15 10:46:30
本文实例为大家分享了python实现拉格朗日插值及作图,供大家参考,具体内容如下python代码import numpy as npimport matplotlib.pyplot as pltx =...
本文实例为大家分享了python实现拉格朗日插值及作图,供大家参考,具体内容如下
python代码
import numpy as np import matplotlib.pyplot as plt x = input("x的值:").split(' ') y = input("y的值:").split(' ') x = input("要预测的值:") print('\n') x = np.array(x).astype(np.float64) y = np.array(y).astype(np.float64) x = np.array(x).astype(np.float64) n = len(x) # 原函数 def fun(x): return np.sin(x) # 累乘函数 def t(x, i, x): t_i = 1 for x_i in x: if x[i] == x_i: continue t_i = t_i * (x-x_i) return t_i # 插值基函数 def p(i, x, x, y): p_i = t(x, i, x)/t(x[i], i, x) * y[i] return p_i # 计算预测值 def l(x, x, y): result = 0 for i in range(n): result = result + p(i, x, x, y) return result y = l(x, x, y) print("预测结果:" + str(y) + '\n') print("误差:" + str(fun(x) - y)) # 画图 x_n = np.linspace(0, 1, 50) y_n = fun(x_n) x_n = np.linspace(0, 1, 50) y_n = l(x_n, x, y) l1, = plt.plot(x_n, y_n, label='theory') l2, = plt.plot(x_n, y_n, label='prediction',linestyle='--') plt.legend(handles=[l1,l2,],labels=['theory','prediction'], loc='best') plt.show()
代码测试结果(输入方式如图所示):
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: MYSQL之分组数据
推荐阅读
-
BZOJ3453: tyvj 1858 XLkxc(拉格朗日插值)
-
BZOJ2655: calc(dp 拉格朗日插值)
-
拉格朗日插值学习小结
-
python数据分析与挖掘实战---拉格朗日插值法
-
BZOJ4559: [JLoi2016]成绩比较(dp 拉格朗日插值)
-
洛谷P4593 [TJOI2018]教科书般的*(拉格朗日插值)
-
计算方法实验(一):拉格朗日插值多项式
-
插值多项式的拉格朗日形式
-
插值与拟合 (一) : 拉格朗日多项式插值 、Newton插值 、分段线性插值、Hermite插值 、样条插值、 B 样条函数插值、二维插值
-
lagrange插值法:求拉格朗日插值多项式matlab实现(内附代码及例题)