python實(shí)現(xiàn)拉格朗日插值及作圖
本文實(shí)例為大家分享了python實(shí)現(xiàn)拉格朗日插值及作圖,供大家參考,具體內(nèi)容如下
python代碼
import numpy as np
import matplotlib.pyplot as plt
X = input("x的值:").split(' ')
Y = input("y的值:").split(' ')
x = input("要預(yù)測的值:")
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)
# 原函數(shù)
def fun(x):
return np.sin(x)
# 累乘函數(shù)
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
# 插值基函數(shù)
def P(i, x, X, Y):
P_i = T(x, i, X)/T(X[i], i, X) * Y[i]
return P_i
# 計(jì)算預(yù)測值
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("預(yù)測結(jié)果:" + 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()
代碼測試結(jié)果(輸入方式如圖所示):


以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python集合顯著優(yōu)化算法性能的實(shí)戰(zhàn)案例
掌握?Python?中的?set?數(shù)據(jù)結(jié)構(gòu),是算法和數(shù)據(jù)結(jié)構(gòu)的基本功,今天我們從一個實(shí)戰(zhàn)案例出發(fā),探討如何利用Python集合顯著優(yōu)化算法性能,感興趣的同學(xué)跟著小編一起來探討吧2023-06-06
python使用pandas處理大數(shù)據(jù)節(jié)省內(nèi)存技巧(推薦)
這篇文章主要介紹了python使用pandas處理大數(shù)據(jù)節(jié)省內(nèi)存技巧,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Python2和Python3之間的str處理方式導(dǎo)致亂碼的講解
今天小編就為大家分享一篇關(guān)于Python2和Python3之間的str處理方式導(dǎo)致亂碼的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01
python使用QQ郵箱實(shí)現(xiàn)自動發(fā)送郵件
這篇文章主要為大家詳細(xì)介紹了python使用QQ郵箱實(shí)現(xiàn)自動發(fā)送郵件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-06-06
Python BautifulSoup 節(jié)點(diǎn)信息
這篇文章主要介紹了Python BautifulSoup 節(jié)點(diǎn)信息,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-08-08
Python實(shí)現(xiàn)12306火車票搶票系統(tǒng)
這篇文章主要介紹了Python實(shí)現(xiàn)12306火車票搶票系統(tǒng),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-07-07
jupyter notebook引用from pyecharts.charts import Bar運(yùn)行報錯
這篇文章主要介紹了jupyter notebook引用from pyecharts.charts import Bar運(yùn)行報錯,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04

