python實現拉格朗日插值及作圖
更新時間:2021年04月05日 12:13:53 作者:From Star.
這篇文章主要為大家詳細介紹了python實現拉格朗日插值及作圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了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()
代碼測試結果(輸入方式如圖所示):
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
使用Python集合顯著優(yōu)化算法性能的實戰(zhàn)案例
掌握?Python?中的?set?數據結構,是算法和數據結構的基本功,今天我們從一個實戰(zhàn)案例出發(fā),探討如何利用Python集合顯著優(yōu)化算法性能,感興趣的同學跟著小編一起來探討吧2023-06-06python使用pandas處理大數據節(jié)省內存技巧(推薦)
這篇文章主要介紹了python使用pandas處理大數據節(jié)省內存技巧,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-05-05Python2和Python3之間的str處理方式導致亂碼的講解
今天小編就為大家分享一篇關于Python2和Python3之間的str處理方式導致亂碼的講解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01jupyter notebook引用from pyecharts.charts import Bar運行報錯
這篇文章主要介紹了jupyter notebook引用from pyecharts.charts import Bar運行報錯,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04