python实现拉格朗日插值及作图
本文实例为大家分享了python实现拉格朗日插值及作图,供大家参考,具体内容如下
python代码
import numpy as npimport matplotlib.pyplot as pltX = 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 resulty = 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()
代码测试结果(输入方式如图所示):
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。
相关文章:
1. CSS Hack大全-教你如何区分出IE6-IE10、FireFox、Chrome、Opera2. 《CSS3实战》笔记--渐变设计(一)3. CSS3实例分享之多重背景的实现(Multiple backgrounds)4. asp(vbs)Rs.Open和Conn.Execute的详解和区别及&H0001的说明5. chatGPT教我写compose函数的详细过程6. 在 XSL/XSLT 中实现随机排序7. JavaScript避免嵌套代码浅析8. XML在语音合成中的应用9. 用css截取字符的几种方法详解(css排版隐藏溢出文本)10. Vue Element UI 表单自定义校验规则及使用
