Matlab中插值函數(shù)匯總和使用說明.doc_第1頁
Matlab中插值函數(shù)匯總和使用說明.doc_第2頁
Matlab中插值函數(shù)匯總和使用說明.doc_第3頁
Matlab中插值函數(shù)匯總和使用說明.doc_第4頁
Matlab中插值函數(shù)匯總和使用說明.doc_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余5頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

MATLAB中的插值函數(shù) 命令1:interp1功能:一維數(shù)據(jù)插值(表格查找)。該命令對數(shù)據(jù)點(diǎn)之間計(jì)算內(nèi)插值。它找出一元函數(shù)f(x)在中間點(diǎn)的數(shù)值。其中函數(shù)f(x)由所給數(shù)據(jù)決定。x:原始數(shù)據(jù)點(diǎn)Y:原始數(shù)據(jù)點(diǎn)xi:插值點(diǎn)Yi:插值點(diǎn)格式(1) yi = interp1(x,Y,xi) 返回插值向量yi,每一元素對應(yīng)于參量xi,同時由向量x 與Y 的內(nèi)插值決定。參量x 指定數(shù)據(jù)Y 的點(diǎn)。若Y 為一矩陣,則按Y 的每列計(jì)算。yi 是階數(shù)為length(xi)*size(Y,2)的輸出矩陣。(2) yi = interp1(Y,xi) 假定x=1:N,其中N 為向量Y 的長度,或者為矩陣Y 的行數(shù)。(3) yi = interp1(x,Y,xi,method) 用指定的算法計(jì)算插值:nearest:最近鄰點(diǎn)插值,直接完成計(jì)算;linear:線性插值(缺省方式),直接完成計(jì)算;spline:三次樣條函數(shù)插值。對于該方法,命令interp1 調(diào)用函數(shù)spline、ppval、mkpp、umkpp。這些命令生成一系列用于分段多項(xiàng)式操作的函數(shù)。命令spline 用它們執(zhí)行三次樣條函數(shù)插值;pchip:分段三次Hermite 插值。對于該方法,命令interp1 調(diào)用函數(shù)pchip,用于對向量x 與y 執(zhí)行分段三次內(nèi)插值。該方法保留單調(diào)性與數(shù)據(jù)的外形;cubic:與pchip操作相同;v5cubic:在MATLAB 5.0 中的三次插值。對于超出x 范圍的xi 的分量,使用方法nearest、linear、v5cubic的插值算法,相應(yīng)地將返回NaN。對其他的方法,interp1 將對超出的分量執(zhí)行外插值算法。(4)yi = interp1(x,Y,xi,method,extrap) 對于超出x 范圍的xi 中的分量將執(zhí)行特殊的外插值法extrap。(5)yi = interp1(x,Y,xi,method,extrapval) 確定超出x 范圍的xi 中的分量的外插值extrapval,其值通常取NaN 或0。例1x = 0:10; y = x.*sin(x);xx = 0:.25:10; yy = interp1(x,y,xx);plot(x,y,kd,xx,yy)復(fù)制代碼例2 year = 1900:10:2010; product = 75.995 91.972 105.711 123.203 131.669 150.697 179.323 203.212 226.505249.633 256.344 267.893 ;p1995 = interp1(year,product,1995)x = 1900:1:2010;y = interp1(year,product,x,pchip);plot(year,product,o,x,y)復(fù)制代碼插值結(jié)果為:p1995 =252.9885復(fù)制代碼命令2:interp2功能 二維數(shù)據(jù)內(nèi)插值(表格查找)格式 (1)ZI = interp2(X,Y,Z,XI,YI) 返回矩陣ZI,其元素包含對應(yīng)于參量XI 與YI(可以是向量、或同型矩陣) 的元素, 即Zi(i,j) Xi(i,j),yi(i,j)。用戶可以輸入行向量和列向量Xi 與Yi,此時,輸出向量Zi 與矩陣meshgrid(xi,yi)是同型的。同時取決于由輸入矩陣X、Y 與Z 確定的二維函數(shù)Z=f(X,Y)。參量X 與Y 必須是單調(diào)的,且相同的劃分格式,就像由命令meshgrid 生成的一樣。若Xi與Yi 中有在X 與Y范圍之外的點(diǎn),則相應(yīng)地返回nan(Not a Number)。(2)ZI = interp2(Z,XI,YI) 缺省地,X=1:n、Y=1:m,其中m,n=size(Z)。再按第一種情形進(jìn)行計(jì)算。(3)ZI = interp2(Z,n) 作n 次遞歸計(jì)算,在Z 的每兩個元素之間插入它們的二維插值,這樣,Z 的階數(shù)將不斷增加。interp2(Z)等價于interp2(z,1)。(4)ZI = interp2(X,Y,Z,XI,YI,method) 用指定的算法method 計(jì)算二維插值:linear:雙線性插值算法(缺省算法);nearest:最臨近插值;spline:三次樣條插值;cubic:雙三次插值。例3:X,Y = meshgrid(-3:.25:3);Z = peaks(X,Y);XI,YI = meshgrid(-3:.125:3);ZZ = interp2(X,Y,Z,XI,YI);surfl(X,Y,Z);hold on;surfl(XI,YI,ZZ+15)axis(-3 3 -3 3 -5 20);shading flathold off復(fù)制代碼例4:years = 1950:10:1990;service = 10:10:30;wage = 150.697 199.592 187.625179.323 195.072 250.287203.212 179.092 322.767226.505 153.706 426.730249.633 120.281 598.243;w = interp2(service,years,wage,15,1975)復(fù)制代碼插值結(jié)果為:w =190.6288復(fù)制代碼命令3:interp3功能 三維數(shù)據(jù)插值(查表)格式 (1)VI = interp3(X,Y,Z,V,XI,YI,ZI) 找出由參量X,Y,Z決定的三元函數(shù)V=V(X,Y,Z)在點(diǎn)(XI,YI,ZI)的值。參量XI,YI,ZI 是同型陣列或向量。若向量參量XI,YI,ZI 是不同長度,不同方向(行或列)的向量,這時輸出參量VI 與Y1,Y2,Y3 為同型矩陣。其中Y1,Y2,Y3 為用命令meshgrid(XI,YI,ZI)生成的同型陣列。若插值點(diǎn)(XI,YI,ZI)中有位于點(diǎn)(X,Y,Z)之外的點(diǎn),則相應(yīng)地返回特殊變量值NaN。(2)VI = interp3(V,XI,YI,ZI) 缺省地, X=1:N ,Y=1:M, Z=1:P ,其中,M,N,P=size(V),再按上面的情形計(jì)算。(3)VI = interp3(V,n) 作n 次遞歸計(jì)算,在V 的每兩個元素之間插入它們的三維插值。這樣,V 的階數(shù)將不斷增加。interp3(V)等價于interp3(V,1)。(4)VI = interp3(.,method) %用指定的算法method 作插值計(jì)算:linear:線性插值(缺省算法);cubic:三次插值;spline:三次樣條插值;nearest:最鄰近插值。說明 在所有的算法中,都要求X,Y,Z 是單調(diào)且有相同的格點(diǎn)形式。當(dāng)X,Y,Z 是等距且單調(diào)時,用算法*linear,*cubic,*nearest,可得到快速插值。例5x,y,z,v = flow(20);xx,yy,zz = meshgrid(.1:.25:10, -3:.25:3, -3:.25:3);vv = interp3(x,y,z,v,xx,yy,zz);slice(xx,yy,zz,vv,6 9.5,1 2,-2 .2); shading interp;colormap cool復(fù)制代碼命令4:interpft功能 用快速Fourier 算法作一維插值格式 (1)y = interpft(x,n) 返回包含周期函數(shù)x 在重采樣的n 個等距的點(diǎn)的插值y。若length(x)=m,且x 有采樣間隔dx,則新的y 的采樣間隔dy=dx*m/n。注意的是必須nm。若x 為一矩陣,則按x 的列進(jìn)行計(jì)算。返回的矩陣y 有與x 相同的列數(shù),但有n 行。(2)y = interpft(x,n,dim) 沿著指定的方向dim 進(jìn)行計(jì)算命令5:griddata功能 數(shù)據(jù)格點(diǎn)格式 (1)ZI = griddata(x,y,z,XI,YI) 用二元函數(shù)z=f(x,y)的曲面擬合有不規(guī)則的數(shù)據(jù)向量x,y,z。griddata 將返回曲面z 在點(diǎn)(XI,YI)處的插值。曲面總是經(jīng)過這些數(shù)據(jù)點(diǎn)(x,y,z)的。輸入?yún)⒘浚╔I,YI)通常是規(guī)則的格點(diǎn)(像用命令meshgrid 生成的一樣)。XI 可以是一行向量,這時XI 指定一有常數(shù)列向量的矩陣。類似地,YI 可以是一列向量,它指定一有常數(shù)行向量的矩陣。(2)XI,YI,ZI = griddata(x,y,z,xi,yi) 返回的矩陣ZI 含義同上,同時,返回的矩陣XI,YI 是由行向量xi 與列向量yi 用命令meshgrid 生成的。(3)XI,YI,ZI = griddata(.,method) 用指定的算法method 計(jì)算:linear:基于三角形的線性插值(缺省算法);cubic: 基于三角形的三次插值;nearest:最鄰近插值法;v4:MATLAB 4 中的griddata 算法。命令6:spline功能 三次樣條數(shù)據(jù)插值格式 (1)yy = spline(x,y,xx) 對于給定的離散的測量數(shù)據(jù)x,y(稱為斷點(diǎn)),要尋找一個三項(xiàng)多項(xiàng)式y(tǒng) = p(x) ,以逼近每對數(shù)據(jù)(x,y)點(diǎn)間的曲線。過兩點(diǎn)(xi, yi) 和(xi+1, yi+1) 只能確定一條直線,而通過一點(diǎn)的三次多項(xiàng)式曲線有無窮多條。為使通過中間斷點(diǎn)的三次多項(xiàng)式曲線具有唯一性,要增加兩個條件(因?yàn)槿味囗?xiàng)式有4 個系數(shù)):a三次多項(xiàng)式在點(diǎn)(xi, yi) 處有: p¢i(xi) = p¢i(xi) ;b三次多項(xiàng)式在點(diǎn)(xi+1, yi+1) 處有: p¢i(xi+1) = pi¢(xi+1) ;cp(x)在點(diǎn)(xi, yi) 處的斜率是連續(xù)的(為了使三次多項(xiàng)式具有良好的解析性,加上的條件);dp(x)在點(diǎn)(xi, yi) 處的曲率是連續(xù)的;對于第一個和最后一個多項(xiàng)式,人為地規(guī)定如下條件: p¢1¢(x) = p¢2¢(x) p¢n¢(x) = p¢n¢-1(x)上述兩個條件稱為非結(jié)點(diǎn)(not-a-knot)條件。綜合上述內(nèi)容,可知對數(shù)據(jù)擬合的三次樣條函數(shù)p(x)是一個分段的三次多項(xiàng)式:ï ïîï ï£ ££ ££ £=n n n+12 2 31 1 2p (x) x x xp (x) x x xp (x) x x xp(x)L L L L其中每段pi(x) 都是三次多項(xiàng)式。該命令用三次樣條插值計(jì)算出由向量x 與y 確定的一元函數(shù)y=f(x)在點(diǎn)xx 處的值。若參量y 是一矩陣,則以y 的每一列和x 配對,再分別計(jì)算由它們確定的函數(shù)在點(diǎn)xx 處的值。則yy 是一階數(shù)為length(xx)*size(y,2)的矩陣。(2)pp = spline(x,y) 返回由向量x 與y 確定的分段樣條多項(xiàng)式的系數(shù)矩陣pp,它可用于命令ppval、unmkpp 的計(jì)算。例6對離散地分布在y=exp(x)sin(x)函數(shù)曲線上的數(shù)據(jù)點(diǎn)進(jìn)行樣條插值計(jì)算:x = 0 2 4 5 8 12 12.8 17.2 19.9 20; y = exp(x).*sin(x);xx = 0:.25:20;yy = spline(x,y,xx);plot(x,y,o,xx,yy)復(fù)制代碼命令7:interpn功能 n 維數(shù)據(jù)插值(查表)格式 (1)VI = interpn(X1,X2,Xn,V,Y1,Y2,Yn) %返回由參量X1,X2,Xn,V 確定的n 元函數(shù)V=V(X1,X2,Xn)在點(diǎn)(Y1,Y2,Yn)處的插值。參量Y1,Y2,Yn 是同型的矩陣或向量。若Y1,Y2,Yn 是向量,則可以是不同長度,不同方向(行或列)的向量。它們將通過命令ndgrid生成同型的矩陣, 再作計(jì)算。若點(diǎn)(Y1,Y2,Yn) 中有位于點(diǎn)(X1,X2,Xn)之外的點(diǎn),則相應(yīng)地返回特殊變量NaN。VI = interpn(V,Y1,Y2,Yn) %缺省地,X1=1:size(V,1),X2=1:size(V,2), ,Xn=1:size(V,n),再按上面的情形計(jì)算。VI = interpn(V,ntimes) %作ntimes 次遞歸計(jì)算,在V 的每兩個元素之間插入它們的n 維插值。這樣,V 的階數(shù)將不斷增加。interpn(V)等價于interpn(V, 1)。VI = interpn(,method) %用指定的算法method 計(jì)算:linear:線性插值(缺省算法);cubic:三次插值;spline:三次樣條插值法;nearest:最鄰近插值算法。命令8:meshgrid功能 生成用于畫三維圖形的矩陣數(shù)據(jù)。格式 X,Y = meshgrid(x,y) 將由向量x,y(可以是不同方向的)指定的區(qū)域min(x),max(x) , min(y) , max(y) 用直線x=x(i),y=y(j) ( i=1,2,length(x) ,j=1,2,length(y))進(jìn)行劃分。這樣,得到了length(x)*length(y)個點(diǎn),這些點(diǎn)的橫坐標(biāo)用矩陣X 表示,X 的每個行向量與向量x 相同;這些點(diǎn)的縱坐標(biāo)用矩陣Y 表示,Y 的每個列向量與向量y 相同。其中X,Y可用于計(jì)算二元函數(shù)z=f(x,y)與三維圖形中xy 平面矩形定義域的劃分或曲面作圖。X,Y = meshgrid(x) %等價于X,Y=meshgrid(x,x)。X,Y,Z = meshgrid(x,y,z) %生成三維陣列X,Y,Z,用于計(jì)算三元函數(shù)v=f(x,y,z)或三維容積圖。例7X,Y = meshgrid(1:3,10:14)復(fù)制代碼計(jì)算結(jié)果為:X =1 2 31 2 31 2 31 2 31 2 3Y =

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論