<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
插值:是根據已知的資料序列(可以理解為你座標中一系列離散的點),找到其中的規律,然後根據找到的這個規律,來對其中尚未有資料記錄的點進行數值估計。
線性插值:是針對一維資料的插值方法。它根據一維資料序列中需要插值的點的左右臨近兩個資料來進行數值估計。當然了它不是求這兩個點資料大小的平均值(在中心點的時候就等於平均值)。而是根據到這兩個點的距離來分配比重的。
numpy.interp(x, xp, fp, left=None, right=None, period=None)
引數:
範例:
import numpy as np import matplotlib.pyplot as plt xp = [1, 2, 3] fp = [3, 2, 0] y = np.interp(2.5, xp, fp) #1.0 y = np.interp([0, 1, 1.5, 2.72, 3.14], xp, fp) #array([3. , 3. , 2.5 , 0.56, 0. ]) UNDEF = -99.0 y = np.interp(3.14, xp, fp, right=UNDEF) #-99.0 #sine 函數插值 x = np.linspace(0, 2*np.pi, 10) y = np.sin(x) xvals = np.linspace(0, 2*np.pi, 50) yinterp = np.interp(xvals, x, y) plt.plot(x, y, 'o') plt.plot(xvals, yinterp, '-x') plt.show() #週期 x 座標的插值 x = [-180, -170, -185, 185, -10, -5, 0, 365] xp = [190, -190, 350, -350] fp = [5, 10, 3, 4] y = np.interp(x, xp, fp, period=360) #array([7.5 , 5. , 8.75, 6.25, 3. , 3.25, 3.5 , 3.75]) #複數插值Complex interpolation: x = [1.5, 4.0] xp = [2,3,5] fp = [1.0j, 0, 2+3j] y = np.interp(x, xp, fp) #array([0.+1.j , 1.+1.5j])
範例:已知y座標,求x點。
import numpy as np y = np.array([0, 38.39, 71.41, 99.66, 123.67, 143.88, 160.61, 174.03, 184.16, 190.8, 193.52]) x = np.array([0, 0.37, 0.74, 1.11, 1.48, 1.85, 2.22, 2.59, 2.96, 3.33, 3.7]) plt.plot(x, y, '-') y_val = 30 root = np.interp(y_val, y, x) print(root)
scipy.interpolate.interp1d(x, y, kind='linear', axis=- 1, copy=True, bounds_error=None, fill_value=nan, assume_sorted=False)
引數:
範例:
x = data['時間'] y = data['濃度'] # 構建完整的時間序列 = [1,23,...23] xnew = np.linspace(1,23,num=23) # 線性插值 f1 = interp1d(x,y,kind='linear') ynew1 = f1(xnew) plt.scatter(x,y,zorder=3) plt.plot(xnew,ynew1,marker='s',ls='--',c='C1') plt.legend(['data','線性插值']) plt.xticks(range(0,24,1)) plt.grid(ls='--',alpha=0.5) plt.xlabel('A') plt.ylabel('B') plt.tight_layout() plt.show()
範例:
from scipy.interpolate import interp1d x = [1, 2, 3] y = [3, 2, 0] f = interp1d(x,y,fill_value=(3,0),bounds_error=False) # 線性內插 out = f([0, 1, 1.5, 2.72, 3.14]) print(out) #array([3. , 3. , 2.5 , 0.56, 0. ]) fe = interp1d(x,y, fill_value='extrapolate') # 線性內插+外插 out = fe([0, 1, 1.5, 2.72, 3.14]) print(out) #array([ 4. , 3. , 2.5 , 0.56, -0.28])
到此這篇關於python實現線性插值的文章就介紹到這了,更多相關python線性插值內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45