MATLAB的差值與曲線擬合PPT課件_第1頁
MATLAB的差值與曲線擬合PPT課件_第2頁
MATLAB的差值與曲線擬合PPT課件_第3頁
MATLAB的差值與曲線擬合PPT課件_第4頁
MATLAB的差值與曲線擬合PPT課件_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、MATLAB數(shù)據(jù)處理與應(yīng)用數(shù)據(jù)處理與應(yīng)用2011-2012學(xué)年選修課學(xué)年選修課西南交通大學(xué)摩擦學(xué)研究所2主要內(nèi)容插值運算曲線擬合分段函數(shù)拉格拉日插值牛頓插值Hermite插值西南交通大學(xué)摩擦學(xué)研究所3MATLAB插值與曲線擬合插值與曲線擬合 簡介把試驗數(shù)據(jù)繪制成圖是點狀分布,將這些點練成曲線,然后轉(zhuǎn)化為有意義的數(shù)學(xué)函數(shù),才能對數(shù)據(jù)做對比和分析上述過程涉及插值(interpolation)和曲線擬合(curve-fitting)插值過程中認(rèn)為數(shù)據(jù)是準(zhǔn)確的,求取描述點之間的數(shù)據(jù)曲線擬合中,假定已知曲線的規(guī)律,做曲線的最佳逼近,不需要經(jīng)過所有數(shù)據(jù)點西南交通大學(xué)摩擦學(xué)研究所4MATLAB插值與曲線擬合

2、插值與曲線擬合插值計算假設(shè)試驗得到一組數(shù)據(jù)形態(tài)為:f(xk);其中k=1,2,n;且x1=axn=c如果某些點xi不屬于上述的xi ,但是a=xi=c,要估計這些點的函數(shù)值f(xi)就需要做插值運算根據(jù)原始數(shù)據(jù)所描述的函數(shù)的復(fù)雜程度,存在有:一維插值二維插值Spline插值西南交通大學(xué)摩擦學(xué)研究所5MATLAB插值與曲線擬合插值與曲線擬合一維插值一維插值可以是線性的,也可以是三次多項式或spline插值一維線性插值是假設(shè)兩個數(shù)據(jù)中的變化為線性關(guān)系,因此可由已知點的坐標(biāo)(f(a),a)和(f(c),c)計算b點的函數(shù)值f(b)一維線性插值是最簡單的插值,適用范圍很小可用較為復(fù)雜的三次多項式或sp

3、line來近似找到原函數(shù)f(x)()()()(afcfacabafbf西南交通大學(xué)摩擦學(xué)研究所6MATLAB插值與曲線擬合插值與曲線擬合一維插值MATLAB的一維插值函數(shù)為interp1(a,c,b)和interp1(a,c,b,method)其中a,c為已知數(shù)據(jù),而b為要插值的數(shù)據(jù)點,method為預(yù)先設(shè)定的插值方法,分別為線性(linear)、三次多項式(cubic)和spline如果數(shù)據(jù)的變化較大,以spline插值所形成的曲線最為平滑,效果最好三次多項式所得的曲線平滑度介于linear和spline之間西南交通大學(xué)摩擦學(xué)研究所7MATLAB插值與曲線擬合插值與曲線擬合一維插值舉例假設(shè)汽

4、車引擎在額定轉(zhuǎn)速下溫度與時間的測量值關(guān)系如下00; 120; 260; 368; 477; 5110;用一維插值法估計時間為2.6s和4.9s時的溫度值。分別用三種方法估計其值x=0 1 2 3 4 5;y=0 20 60 68 77 110;y1=interp1(x,y,2.6)y2=interp1(x,y,2.6 4.9)y3=interp1(x,y,2.6 4.9,cubic)y3=interp1(x,y,2.6 4.9,spline)西南交通大學(xué)摩擦學(xué)研究所8MATLAB插值與曲線擬合插值與曲線擬合一維插值舉例畫出插值后的時間與溫度變化曲線圖。t=0 1 2 2.6 3 4 4.9 5

5、;y1=0 20 60 64.8 68 77 106.7 110;y2=0 20 60 65.2 68 77 105.6 110;y3=0 20 60 67.3 68 77 105.2 110;plot(t,y1,t,y2,t,y3)西南交通大學(xué)摩擦學(xué)研究所9MATLAB插值與曲線擬合插值與曲線擬合西南交通大學(xué)摩擦學(xué)研究所10MATLAB插值與曲線擬合插值與曲線擬合二維插值假設(shè)試驗所得到的一組數(shù)據(jù)形態(tài)為z=f(xk,yk),期中k=1,2,n;如果某些點(xi,yi)不屬于上述點,要估計這些點的函數(shù)值f(xi,yi)就需要進(jìn)行二維擦繪制運算,二維插值相當(dāng)于二元函數(shù)運算MATLAB中二維插值函數(shù)

6、是interp2(x,y,z,xi,yi),期中xi,yi為要插值的數(shù)據(jù)點,x,y,z為已知數(shù)據(jù)通過設(shè)定interp2(x,y,z,xi,yi,method)也可以設(shè)定不同的插值方法,有l(wèi)inear、cubic和spline三種西南交通大學(xué)摩擦學(xué)研究所11MATLAB插值與曲線擬合插值與曲線擬合二維插值舉例假設(shè)汽車的引擎轉(zhuǎn)速、溫度與時間的測量值關(guān)系如下表,估計時間為2.6s和速度為2500r時的溫度。T/SpeedTime/s2000r3000r4000r00001201101762601802203682403494773104505110405503西南交通大學(xué)摩擦學(xué)研究所12MATLAB

7、插值與曲線擬合插值與曲線擬合二維插值舉例應(yīng)用函數(shù)interp2函數(shù)分別用linear、cubic、spline來估計時間2.6s和轉(zhuǎn)速2500r的溫度值。t=1 2 3 4 5;speed=2000 3000 4000;temp=20 110 176;60 180 220;68 240 349;77 310 450;110 405 503;temp1=interp2(speed,t,temp,2500,2.6)temp2=interp2(speed,t,temp,2500,2.6,cubic)temp3=interp2(speed,t,temp,2500,2.6,spline)西南交通大學(xué)摩擦

8、學(xué)研究所13MATLAB插值與曲線擬合插值與曲線擬合spline插值函數(shù)spline有兩種應(yīng)用形式,spline(x,y,xi)和spline(x,y)spline(x,y,xi)與interp1(x,y,xi,spline)效果一樣舉例x=0 1 2 3 4 5;y=0 20 60 68 77 110;y1=spline(x,y,2.6)y1=spline(x,y,2.6,4.9)西南交通大學(xué)摩擦學(xué)研究所14MATLAB插值與曲線擬合插值與曲線擬合spline插值舉例:在0,10區(qū)間上按正弦規(guī)律y=sin(x)取10個點yi,再在區(qū)間0,10上取41個點,以yi為已知數(shù)據(jù),對這41個點做sp

9、line插值運算,得到函數(shù)值并繪圖,比較其值與正弦波偏離程度。x=0:10;y=sin(x);xx=0:0.25:10;yy=spline(x,y,xx);plot(x,y,o,xx,yy,xx,sin(xx);西南交通大學(xué)摩擦學(xué)研究所15MATLAB插值與曲線擬合插值與曲線擬合西南交通大學(xué)摩擦學(xué)研究所16MATLAB插值與曲線擬合插值與曲線擬合spline插值采用一維線性插值運算x=0:10;y=sin(x);xx=0:0.25:10;yy=interp1(x,y,xx);plot(x,y,o,xx,yy,xx,sin(xx);西南交通大學(xué)摩擦學(xué)研究所17MATLAB插值與曲線擬合插值與曲線

10、擬合西南交通大學(xué)摩擦學(xué)研究所18MATLAB插值與曲線擬合插值與曲線擬合spline插值采用一維三次多項式插值運算x=0:10;y=sin(x);xx=0:0.25:10;yy=interp1(x,y,xx,cubic);plot(x,y,o,xx,yy,xx,sin(xx);西南交通大學(xué)摩擦學(xué)研究所19MATLAB插值與曲線擬合插值與曲線擬合西南交通大學(xué)摩擦學(xué)研究所20MATLAB插值與曲線擬合插值與曲線擬合spline插值向量t=1900:10:1990,p=75.995 91.972 105.711 123.203 131.669 150.697 179.323 203.212 226.

11、505 249.633表示從1900年到1990年人口普查的數(shù)字,利用spline插值法預(yù)測2000年的人口數(shù),并繪制人口變化趨勢圖。t=1900:10:1990;p=75.995 91.972 105.711 123.203 131.669 150.697 179.323 203.212 226.505 249.633;y=spline(t,p,2000)plot(t 2000,p y,o)西南交通大學(xué)摩擦學(xué)研究所21MATLAB插值與曲線擬合插值與曲線擬合西南交通大學(xué)摩擦學(xué)研究所22MATLAB插值與曲線擬合插值與曲線擬合spline插值畫一個圓并在數(shù)據(jù)點y(:,2),y(:,6)處標(biāo)上字

12、母o。x=pi*0:0.5:2;y=0 1 0 -1 0 1 0;1 0 1 0 -1 0 1;pp=spline(x,y);yy=ppval(pp,linspace(0,2*pi,101);%計算分算函數(shù)的值plot(yy(1,:),yy(2,:),-b,y(1,2:5),y(2,2:5),or)西南交通大學(xué)摩擦學(xué)研究所23MATLAB插值與曲線擬合插值與曲線擬合西南交通大學(xué)摩擦學(xué)研究所24MATLAB插值與曲線擬合插值與曲線擬合曲線擬合曲線擬合(curve-fitting)顧名思義就是用近似的曲線方程來代表一組離散的數(shù)據(jù)曲線擬合與插值有許多相似之處,二者最大區(qū)別再于曲線擬合要找出一個曲線函

13、數(shù)式,而插值僅求出與數(shù)據(jù)點對應(yīng)的函數(shù)值而已曲線擬合運用最小二乘法原理如果擬合的曲線限定為多項式就稱為多項式最小二乘法曲線擬合MATLAB提供的曲線擬合有多項式最小二乘擬合、普通最小二乘擬合等西南交通大學(xué)摩擦學(xué)研究所25MATLAB插值與曲線擬合插值與曲線擬合線性回歸假設(shè)有一組數(shù)據(jù)形態(tài)為y=y(x),其中x=0 1 2 3 4 5,y=0 20 60 68 77 110,用一個最簡單的方程式來表示這組數(shù)據(jù),一階線性方程式最簡單隨意假設(shè)其方程式為y=20 xx=0 1 2 3 4 5;y=0 20 60 68 77 110;y1=20*xsum_sq=sum(y-y1).2)plot(x,y1,x

14、,y,o),title(Linear estimate),grid西南交通大學(xué)摩擦學(xué)研究所26MATLAB插值與曲線擬合插值與曲線擬合西南交通大學(xué)摩擦學(xué)研究所27MATLAB插值與曲線擬合插值與曲線擬合線性回歸從圖中看出,所假設(shè)的方程與實際數(shù)據(jù)的差距很大,從理論上講,誤差平方和最小才是代表數(shù)據(jù)的最佳方程式,以此標(biāo)準(zhǔn)尋找數(shù)據(jù)方程式的方法稱為最小平方誤差法或線性回歸MATLAB中的polyfit()函數(shù)提供了從一階到高階多項式的回歸運算,語法為coef=polyfit(x,y,n),期中x、y為輸入數(shù)據(jù),n為多項式的階數(shù),coef為輸出數(shù)組,數(shù)值為多項式的系數(shù)項西南交通大學(xué)摩擦學(xué)研究所28MATL

15、AB插值與曲線擬合插值與曲線擬合線性回歸假設(shè)一組數(shù)據(jù)x=0 1 2 3 4 5和y=0 20 60 68 77 110,期中y是x的函數(shù),使用最小二乘法建立一階線性回歸方程用polyfit函數(shù)求出系數(shù)x=0 1 2 3 4 5;y=0 20 60 68 77 110;coef=polyfit(x,y,1)西南交通大學(xué)摩擦學(xué)研究所29MATLAB插值與曲線擬合插值與曲線擬合線性回歸畫出方程的直線及x和y的數(shù)據(jù)點a1=coef(1);a0=coef(2);ybest=a1*x+a0;sum_sq=sum(y-ybest).2)plot(x,ybest,x,y,o);title(Linear reg

16、ression estimate),grid通過比較發(fā)現(xiàn),最小平方誤差法獲得的誤差平方和要小于y=20 x的值西南交通大學(xué)摩擦學(xué)研究所30MATLAB插值與曲線擬合插值與曲線擬合西南交通大學(xué)摩擦學(xué)研究所31MATLAB插值與曲線擬合插值與曲線擬合多項式回歸函數(shù)polyfit(x,y,n)中當(dāng)n大于等于2時,稱為多項式回歸高階多項式回歸有時并不如低階的更能代表原始數(shù)據(jù)對上述數(shù)據(jù)的x和y分別求二、三、四、五階多項式回歸方程,畫出其擬合曲線二階:x=0 1 2 3 4 5;y=0 20 60 68 77 110;coef=polyfit(x,y,2);ybest=coef(1)*x.2+coef(2

17、)*x+coef(3);plot(x,ybest,x,y,o),title(Linear regression estimate),grid西南交通大學(xué)摩擦學(xué)研究所32MATLAB插值與曲線擬合插值與曲線擬合多項式回歸三階:x=0 1 2 3 4 5;y=0 20 60 68 77 110;coef=polyfit(x,y,3);ybest=coef(1)*x.3+coef(2)*x.2+coef(3)*x+coef(4);plot(x,ybest,x,y,o),title(Linear regression estimate),grid三階的擬合曲線最為光滑西南交通大學(xué)摩擦學(xué)研究所33MAT

18、LAB插值與曲線擬合插值與曲線擬合多項式回歸四階:x=0 1 2 3 4 5;y=0 20 60 68 77 110;coef=polyfit(x,y,4);ybest=coef(1)*x.4+coef(2)*x.3+coef(3)*x.2 +coef(4)*x+coef(5);plot(x,ybest,x,y,o),title(Linear regression estimate),grid西南交通大學(xué)摩擦學(xué)研究所34MATLAB插值與曲線擬合插值與曲線擬合多項式回歸五階:x=0 1 2 3 4 5;y=0 20 60 68 77 110;coef=polyfit(x,y,5);ybest=

19、coef(1)*x.5+coef(2)*x.4+coef(3)*x.3+coef(4)*x.2+coef(5)*x+coef(6);plot(x,ybest,x,y,o),title(Linear regression estimate),grid五階以上的多項式回歸方程會通過所有的原始數(shù)據(jù)點,但曲振蕩劇烈西南交通大學(xué)摩擦學(xué)研究所35MATLAB插值與曲線擬合插值與曲線擬合西南交通大學(xué)摩擦學(xué)研究所36MATLAB插值與曲線擬合插值與曲線擬合多次式擬合及函數(shù)的計算polyval也可用來做多項式函數(shù)計算,由polyfit計算出多項式的系數(shù)后,再由polyval計算出多項式的函數(shù)值語法polyval

20、(coef,x),期中coef為多項式的各個系數(shù)所構(gòu)成的數(shù)組x=0:0.1:1;y=-.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2;coef =polyfit(x,y,2)xi=0:0.01:1;yi=polyval(coef,xi);plot(x,y,o,xi,yi);西南交通大學(xué)摩擦學(xué)研究所37MATLAB插值與曲線擬合插值與曲線擬合多次式擬合及函數(shù)的計算舉例:對數(shù)據(jù)x=0 1 2 3 4 5和y=0 20 60 68 77 110做二階到九階的多項式回歸分析,然后計算多項式的函數(shù)值,繪制其曲線x=0 1 2 3 4 5;y

21、=0 20 60 68 77 110;newx=0:0.05:5;for n=2:9f(:,n)=polyval(polyfit(x,y,n),newx);plot(newx,f(:,n),x,y,o);hold on;end西南交通大學(xué)摩擦學(xué)研究所38MATLAB插值與曲線擬合插值與曲線擬合西南交通大學(xué)摩擦學(xué)研究所39MATLAB插值與曲線擬合插值與曲線擬合分段多項式函數(shù)函數(shù)pp=mkpp(breaks,coefs)是區(qū)間breaks上根據(jù)多項式的系數(shù)coefs構(gòu)建一個分段多項式ppbreaks是一個長度為L+1的向量,元素是每一個區(qū)間的起點與終點,共有L個區(qū)間coefs是一個L(k+1)的

22、矩陣函數(shù)ppval()可估算分段多項式pp在特殊點xx上的值v=ppval(pp,xx)西南交通大學(xué)摩擦學(xué)研究所40MATLAB插值與曲線擬合插值與曲線擬合分段多項式函數(shù)舉例在區(qū)間-8 -4 0 4 8上分別畫出首尾相接的y=-0.5x+1;y=0.5x-1;y=-0.5x+1;y=0.5x-1四條線段breaks=-8 -4 0 4 8;coefs=-0.5 1;0.5 -1;-0.5 1;0.5 -1;pp=mkpp(breaks,coefs)x=-8:0.1:8;y=ppval(pp,x);plot(x,y,-b);西南交通大學(xué)摩擦學(xué)研究所41MATLAB插值與曲線擬合插值與曲線擬合分段

23、多項式函數(shù)二次多項式y(tǒng)=-x2/4+x,在區(qū)間-8 -4 0 4 8上分別畫出y;-y;y;-y的曲線breaks=-8 -4 0 4 8;coefs=-1/4 1 0;pp=mkpp(breaks,coefs;-coefs;coefs;-coefs)x=-8:0.1:8;y=ppval(pp,x);plot(x,y,K-);西南交通大學(xué)摩擦學(xué)研究所42MATLAB插值與曲線擬合插值與曲線擬合分段多項式函數(shù)在區(qū)間-8 -4上應(yīng)用函數(shù)pp=mkpp(breaks,coefs)構(gòu)建二次多項式函數(shù)y=-0.25x2+xcoefs=-0.25 1 0;pp=mkpp(-8 -4,coefs)x=-8:

24、0.1:-4;y=ppval(pp,x);plot(x,y);西南交通大學(xué)摩擦學(xué)研究所43MATLAB插值與曲線擬合插值與曲線擬合分段多項式函數(shù)畫出分段函數(shù)在連續(xù)三個周期內(nèi)的圖像x=0 0.075 0.1 0.175 0.2 0.275 0.3;y=40/3 0;-40 1;40/3 0;-40 1;40/3 0;-40 1;pp=mkpp(x,y);xx=0:0.001:0.3;yy=ppval(pp,xx);plot(xx,yy,b-); 1 . 0 ,075. 0 , 140075. 0 , 0 ,3/40 xxy西南交通大學(xué)摩擦學(xué)研究所44MATLAB插值與曲線擬合插值與曲線擬合西南交

25、通大學(xué)摩擦學(xué)研究所45MATLAB插值與曲線擬合插值與曲線擬合獲得分段多項式的詳細(xì)資料使用函數(shù)breaks,coefs,l,k,d=unmkpp(pp)可以獲得分段多項式的詳細(xì)資料Breaks是斷點數(shù),coefs是系數(shù),l是段數(shù),k是項數(shù),d是維數(shù),pp是由于spine或mkpp所創(chuàng)建為分段二項多項式-0.25x4+x和-(-0.25x4+x)創(chuàng)建一個描述y=-0.25 1 0;pp=mkpp(-8 -4 0 4 8,y;-y;y;-y);breaks,coefs,l,k,d=unmkpp(pp)西南交通大學(xué)摩擦學(xué)研究所46MATLAB插值與曲線擬合插值與曲線擬合拉格拉日插值法通過平面上不同兩

26、點可以去定一條直線經(jīng)過這兩點,這就是拉格拉日插值問題,對于不在同一條直線的三個點得到哦的插值多項式為拋物線舉例:已知cos30=sqrt(3)/2、cos45=sqrt(2)/2、 cos60=0.5、cos90=0,利用拉格拉日插值法計算cos(-40)、cos47、cos53、cos79、cos174的值,并給出插值多項式步驟:1.編寫拉格拉日插值方法函數(shù)文件lag.m2.編寫主函數(shù)文件lag_main.m3.命令窗口運行l(wèi)ag_main西南交通大學(xué)摩擦學(xué)研究所47MATLAB插值與曲線擬合插值與曲線擬合拉格拉日插值法x=pi/4,pi/6,pi/3,pi/2;y=cos(pi/4),co

27、s(pi/6),cos(pi/3),cos(pi/2);t=-40*pi/180,47*pi/180,53*pi/180,79*pi/180,174*pi/180;du=-40 47 53 79 174yt=lag(x,y,t)yreal=cos(-40*pi/180)cos(47*pi/180)cos(53*pi/180)cos(79*pi/180)cos(174*pi/180)dy=yt-yrealyt=lag(x,y)ezplot(yt,-pi/4,pi)hold onezplot(cos(t),-pi/4,pi);西南交通大學(xué)摩擦學(xué)研究所48MATLAB插值與曲線擬合插值與曲線擬合牛頓

28、插值法牛頓插值法主要是基于插商的概念進(jìn)行的,當(dāng)增加插值基點時原來的計算結(jié)果對后面的計算仍然有用舉例:已知零階Bvessel函數(shù)f(x)在若干點處的函數(shù)值如下,X 1.0 1.3 1.6 1.9 2.2f(x) 0.7651977 0.6200860 0.4554022 0.2818186 0.1103623x=1.0 1.3 1.6 1.9 2.2;y=0.7651977 0.6200860 0.4554022 0.2818186 0.1103623;yt=niudun(x,y,1.5)西南交通大學(xué)摩擦學(xué)研究所49MATLAB插值與曲線擬合插值與曲線擬合牛頓插值法5階勒讓德多項式為P5=(63X5-70X3+15X)/8,在-1,1上任意取9個點,如x=-1 -0.3 0.4 -0.7 0 -0.4 0.8 0.7 1,不管取點順序1.根據(jù)5階勒讓德多項式,計算這9點的函數(shù)值;2.依據(jù)這9點作牛頓插值,畫出插值多項式圖像,與勒讓德多項式圖像相比較;3.計算x=0.24 -0.46 0.83時的近似結(jié)果,與真實結(jié)果相比。步驟:1.編寫牛頓插值

溫馨提示

  • 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

提交評論