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. 詳解Android studio 動態fragment的用法2. 基于android studio的layout的xml文件的創建方式3. 編程語言PHP在Web開發領域的優勢在哪?4. 解決Android studio xml界面無法預覽問題5. 什么是python的自省6. Spring Boot和Thymeleaf整合結合JPA實現分頁效果(實例代碼)7. 圖文詳解vue中proto文件的函數調用8. Android如何加載Base64編碼格式圖片9. Springboot Druid 自定義加密數據庫密碼的幾種方案10. Vue封裝一個TodoList的案例與瀏覽器本地緩存的應用實現

網公網安備