老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

使用python實現各種插值法的示例-創新互聯

這篇文章將為大家詳細講解有關使用python實現各種插值法的示例,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

10年積累的成都網站設計、成都網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站制作后付款的網站建設流程,更有平陽免費網站建設讓你可以放心的選擇與我們合作。

一維插值

插值不同于擬合。插值函數經過樣本點,擬合函數一般基于最小二乘法盡量靠近所有樣本點穿過。常見插值方法有拉格朗日插值法、分段插值法、樣條插值法

  • 拉格朗日插值多項式:當節點數n較大時,拉格朗日插值多項式的次數較高,可能出現不一致的收斂情況,而且計算復雜。隨著樣點增加,高次插值會帶來誤差的震動現象稱為龍格現象。

  • 分段插值:雖然收斂,但光滑性較差。

  • 樣條插值:樣條插值是使用一種名為樣條的特殊分段多項式進行插值的形式。由于樣條插值可以使用低階多項式樣條實現較小的插值誤差,這樣就避免了使用高階多項式所出現的龍格現象,所以樣條插值得到了流行。

# -*-coding:utf-8 -*-
import numpy as np
from scipy import interpolate
import pylab as pl

x=np.linspace(0,10,11)
#x=[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
y=np.sin(x)
xnew=np.linspace(0,10,101)
pl.plot(x,y,"ro")

for kind in ["nearest","zero","slinear","quadratic","cubic"]:#插值方式
 #"nearest","zero"為階梯插值
 #slinear 線性插值
 #"quadratic","cubic" 為2階、3階B樣條曲線插值
 f=interpolate.interp1d(x,y,kind=kind)
 # ‘slinear', ‘quadratic' and ‘cubic' refer to a spline interpolation of first, second or third order)
 ynew=f(xnew)
 pl.plot(xnew,ynew,label=str(kind))
pl.legend(loc="lower right")
pl.show()

結果:

使用python實現各種插值法的示例

二維插值

方法與一維數據插值類似,為二維樣條插值。

# -*- coding: utf-8 -*-
"""
演示二維插值。
"""
import numpy as np
from scipy import interpolate
import pylab as pl
import matplotlib as mpl

def func(x, y):
 return (x+y)*np.exp(-5.0*(x**2 + y**2))

# X-Y軸分為15*15的網格
y,x= np.mgrid[-1:1:15j, -1:1:15j]

fvals = func(x,y) # 計算每個網格點上的函數值 15*15的值
print len(fvals[0])

#三次樣條二維插值
newfunc = interpolate.interp2d(x, y, fvals, kind='cubic')

# 計算100*100的網格上的插值
xnew = np.linspace(-1,1,100)#x
ynew = np.linspace(-1,1,100)#y
fnew = newfunc(xnew, ynew)#僅僅是y值 100*100的值

# 繪圖
# 為了更明顯地比較插值前后的區別,使用關鍵字參數interpolation='nearest'
# 關閉imshow()內置的插值運算。
pl.subplot(121)
im1=pl.imshow(fvals, extent=[-1,1,-1,1], cmap=mpl.cm.hot, interpolation='nearest', origin="lower")#pl.cm.jet
#extent=[-1,1,-1,1]為x,y范圍 favals為
pl.colorbar(im1)

pl.subplot(122)
im2=pl.imshow(fnew, extent=[-1,1,-1,1], cmap=mpl.cm.hot, interpolation='nearest', origin="lower")
pl.colorbar(im2)
pl.show()

使用python實現各種插值法的示例 

左圖為原始數據,右圖為二維插值結果圖。

二維插值的三維展示方法

# -*- coding: utf-8 -*-
"""
演示二維插值。
"""
# -*- coding: utf-8 -*-
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib as mpl
from scipy import interpolate
import matplotlib.cm as cm
import matplotlib.pyplot as plt

def func(x, y):
 return (x+y)*np.exp(-5.0*(x**2 + y**2))

# X-Y軸分為20*20的網格
x = np.linspace(-1, 1, 20)
y = np.linspace(-1,1,20)
x, y = np.meshgrid(x, y)#20*20的網格數據

fvals = func(x,y) # 計算每個網格點上的函數值 15*15的值

fig = plt.figure(figsize=(9, 6))
#Draw sub-graph2
ax=plt.subplot(1, 2, 1,projection = '3d')
surf = ax.plot_surface(x, y, fvals, rstride=2, cstride=2, cmap=cm.coolwarm,linewidth=0.5, antialiased=True)
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('f(x, y)')
plt.colorbar(surf, shrink=0.5, aspect=5)#標注

#二維插值
newfunc = interpolate.interp2d(x, y, fvals, kind='cubic')#newfunc為一個函數

# 計算100*100的網格上的插值
xnew = np.linspace(-1,1,100)#x
ynew = np.linspace(-1,1,100)#y
fnew = newfunc(xnew, ynew)#僅僅是y值 100*100的值 np.shape(fnew) is 100*100
xnew, ynew = np.meshgrid(xnew, ynew)
ax2=plt.subplot(1, 2, 2,projection = '3d')
surf2 = ax2.plot_surface(xnew, ynew, fnew, rstride=2, cstride=2, cmap=cm.coolwarm,linewidth=0.5, antialiased=True)
ax2.set_xlabel('xnew')
ax2.set_ylabel('ynew')
ax2.set_zlabel('fnew(x, y)')
plt.colorbar(surf2, shrink=0.5, aspect=5)#標注

plt.show()

使用python實現各種插值法的示例

左圖的二維數據集的函數值由于樣本較少,會顯得粗糙。而右圖對二維樣本數據進行三次樣條插值,擬合得到更多數據點的樣本值,繪圖后圖像明顯光滑多了。

關于“使用python實現各種插值法的示例”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


分享名稱:使用python實現各種插值法的示例-創新互聯
當前鏈接:http://www.xueling.net.cn/article/ecsds.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 日本理论在线播放 | 综合激情在线 | 成人欧美一区二区三区黑人孕妇 | 夜夜操夜夜操 | 国产亚洲精品一品区99热 | 色综久久综合桃花网国产精品 | 少妇又紧又深又湿又爽视频 | 又粗又猛又大爽又黄老大爷1 | 久操一区| 成人性生交天码免费看 | 日本成熟少妇喷浆视频 | 成人影院在线观看视频 | 国产日本欧美一区二区三区 | 亚洲国产精品无码久久久高潮 | 国产在线无码不卡影视影院 | 国产在线看片无码人精品 | www.免费网站在线观看 | 中文字幕一区在线观看 | 日本午夜人人精品 | 亚洲国产综合在线观看 | 国产成人无码A区在线观看免费 | 久久精品国产av一区二区蜜臀 | 九九精品视频免费 | 国内精品久久久久久久影视麻生 | 成人乱淫av日日摸夜夜爽 | 亚洲色偷偷偷网站色偷一区 | 成人91 | 亚洲夜夜综合 | 国产麻豆剧果冻传媒一区 | 日韩精品亚洲人成在线 | 91一区二区三区在线观看 | 日本在线观看一区二区三区 | 又爽又黄又无遮挡的视频在线观看 | 一二三四视频在线观看中文版免费 | 国产精品av久久久久久毛片 | 久久午夜无码人妻鲁丝片午夜精品 | 日韩在线视频在线观看 | 欧美爱爱小视频 | 蜜臀天堂 | www一起操| 中文字幕一区二区三天 |