資源描述:
《插值、擬合與matlab編程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、實用文案插值、擬合與MATLAB編程相關(guān)知識在生產(chǎn)和科學(xué)實驗中,自變量與因變量間的函數(shù)關(guān)系有時不能寫出解析表達式,而只能得到函數(shù)在若干點的函數(shù)值或?qū)?shù)值,或者表達式過于復(fù)雜而需要較大的計算量。當要求知道其它點的函數(shù)值時,需要估計函數(shù)值在該點的值。為了完成這樣的任務(wù),需要構(gòu)造一個比較簡單的函數(shù),使函數(shù)在觀測點的值等于已知的值,或使函數(shù)在該點的導(dǎo)數(shù)值等于已知的值,尋找這樣的函數(shù)有很多方法。根據(jù)測量數(shù)據(jù)的類型有以下兩類處理觀測數(shù)據(jù)的方法。(1)測量值是準確的,沒有誤差,一般用插值。(2)測量值與真實值有誤差,一般用曲線擬合。在MA
2、TLAB中,無論是插值還是擬合,都有相應(yīng)的函數(shù)來處理。一、插值1、一維插值:已知離散點上的數(shù)據(jù)集,即已知在點集X=上的函數(shù)值Y=,構(gòu)造一個解析函數(shù)(其圖形為一曲線)通過這些點,并能夠求出這些點之間的值,這一過程稱為一維插值。MATLAB命令:yi=interp1(X,Y,xi,method)該命令用指定的算法找出一個一元函數(shù),然后以給出處的值。xi可以是一個標量,也可以是一個向量,是向量時,必須單調(diào),method可以下列方法之一:‘nearest’:最近鄰點插值,直接完成計算;標準文檔實用文案‘spline’:三次樣條函數(shù)插
3、值;‘linear’:線性插值(缺省方式),直接完成計算;‘cubic’:三次函數(shù)插值;對于[min{xi},max{xi}]外的值,MATLAB使用外推的方法計算數(shù)值。例1:已知某產(chǎn)品從1900年到2010年每隔10年的產(chǎn)量為:75.995,91.972,105.711,123.203,131.699,150.697,179.323,203.212,226.505,249.633,256.344,267.893,計算出1995年的產(chǎn)量,用三次樣條插值的方法,畫出每隔一年的插值曲線圖形,同時將原始的數(shù)據(jù)畫在同一圖上。解:程序
4、如下year=1900:10:2010;product=[75.995,91.972,105.711,123.203,131.699,150.697,179.323,203.212,226.505,249.633,256.344,267.893]p1995=interp1(year,product,1995)x=1900:2010;y=interp1(year,product,x,'cubic');plot(year,product,'o',x,y);計算結(jié)果為:p1995=252.9885。?2、二維插值已知離散點上的數(shù)據(jù)
5、集,即已知在點集標準文檔實用文案上的函數(shù)值,構(gòu)造一個解析函數(shù)(其圖形為一曲面)通過這些點,并能夠求出這些已知點以外的點的函數(shù)值,這一過程稱為二維插值。MATLAB函數(shù):Zi=interp2(X,Y,Z,Xi,Yi,method)該命令用指定的算法找出一個二元函數(shù),然后以給出處的值。返回數(shù)據(jù)矩陣,Xi,Yi是向量,且必須單調(diào),和meshgrid(Xi,Yi)是同類型的。method可以下列方法之一:‘nearest’:最近鄰點插值,直接完成計算;‘spline’:三次樣條函數(shù)插值;‘linear’:線性插值(缺省方式),直接完
6、成計算;‘cubic’:三次函數(shù)插值;例2:已知1950年到1990年間每隔10年,服務(wù)年限從10年到30年每隔10年的勞動報酬表如下:?表:某企業(yè)工作人員的月平均工資(元)服務(wù)年限年份1020301950150.697169.592187.6521960179.323195.072250.2871970203.212239.092322.7671980226.505273.706426.7301990249.633370.281598.243試計算1975年時,15年工齡的工作人員平均工資。標準文檔實用文案解:程序如下:y
7、ears=1950:10:1990;service=10:10:30;wage=[150.697169.592187.652179.323195.072250.287203.212239.092322.767226.505273.706426.730249.633370.281598.243];mesh(service,years,wage)%繪原始數(shù)據(jù)圖w=interp2(service,years,wage,15,1975);%求點(15,1975)處的值計算結(jié)果為:235.6288例3:設(shè)有數(shù)據(jù)x=1,2,3,4,5,
8、6,y=1,2,3,4,在由x,y構(gòu)成的網(wǎng)格上,數(shù)據(jù)為:12,10,11,11,13,1516,22,28,35,27,2018,21,26,32,28,2520,25,30,33,32,20求通過這些點的插值曲面。解:程序為:x=1:6;y=1:4;t=[12,10,11,11,13,1