python interpolate插值實例
我就廢話不多說了,大家還是直接看代碼吧~
import numpy as np#從scipy庫中導入插值需要的方法 interpolatefrom scipy import interpolate#數據可視化,繪制散點圖import matplotlib.pyplot as plt
#定義函數 x:橫坐標列表 y:縱坐標列表 kind:插值方式
f = interpolate.interp1d(x, y, kind=’cubic’)
插值方式:
nearest:最鄰近插值法
zero:階梯插值
slinear、linear:線性插值
quadratic、cubic:2、3階B樣條曲線插值
#定義新的橫坐標列表x_new=list(np.arange(0, 15, 0.5))y_new=list(f(x_new))plt.plot(x,y,’r’,label=’original values’)plt.plot(x_new,y_new,’b’,label=’interpolated values’)plt.show()plt.close()
補充知識:python scipy樣條插值函數大全(interpolate里interpld函數)
scipy樣條插值
1、樣條插值法是一種以可變樣條來作出一條經過一系列點的光滑曲線的數學方法。插值樣條是由一些多項式組成的,每一個多項式都是由相鄰的兩個數據點決定的,這樣,任意的兩個相鄰的多項式以及它們的導數(不包括仇階導數)在連接點處都是連續的。 連接點的光滑與連續是樣條插值和前邊分段多項式插值的主要區別。
2、在Scipy里可以用scipy.interpolate模塊下的interpld函數 實現樣條插值。 SciPy的0.14.0版本里樣條插值方式有:’linear’,’zero’, ’slinear’, ’quadratic’(2次), ’cubic’(3次), 4, 5等。
3、scipy多次樣條插值的應用格式如下所示:
import numpy as np, matplotlib.pyplot as pltfrom scipy.interpolate import interpld #導入scipy里interpolate模塊中的interpld插值模塊x= np.array([0, 1, 2, 3, 4, 5, 6, 7])y= np.array([3, 4, 3.5, 2, 1, 1.5, 1.25, 0.9]) #離散點的分布xx = np.linspace(x.min(), x.max(), 100) #新的插值區間及其點的個數plt.scatter(x, y) #散點圖#for n in [’linear’,’zero’, ’slinear’, ’quadratic’, ’cubic’, 4, 5]: #python scipy里面的各種插值函數f = interp1d(x, y,kind='cubic') #編輯插值函數格式ynew=f(xx) #通過相應的插值函數求得新的函數點plt.plot(xx,ynew,'g') #輸出新的函數點的圖像plt.show()
以上這篇python interpolate插值實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
