用MATLAB作曲線擬合.ppt
《用MATLAB作曲線擬合.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《用MATLAB作曲線擬合.ppt(12頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1.線性擬合,作多項(xiàng)式f(x)=a1xm+…+amx+am+1擬合,可用以下命令:,a=polyfit(x,y,m),多項(xiàng)式在x處的值y可用以下命令計(jì)算:y=polyval(a,x),用MATLAB作曲線擬合,解:輸入以下命令:x=0:0.1:1;y=[-0.4471.9783.286.167.087.347.669.569.489.3011.2];A=polyfit(x,y,2)%作出數(shù)據(jù)點(diǎn)和擬合曲線的圖形z=polyval(A,x);plot(x,y,k+,x,z,r),2)計(jì)算結(jié)果:A=-9.810820.1293-0.0317,例對下面一組數(shù)據(jù)作二次多項(xiàng)式擬合,(1)lsqcurvefit已知數(shù)據(jù)點(diǎn):xdata=(xdata1,xdata2,…,xdatan),ydata=(ydata1,ydata2,…,ydatan),2.非線性擬合,Matlab的提供了兩個(gè)求非線性最小二乘擬合的函數(shù):lsqcurvefit和lsqnonlin。兩個(gè)命令都要先建立M-文件fun.m,在其中定義函數(shù)f(x),但兩者定義f(x)的方式是不同的,可參考例題.,lsqcurvefit用以求含參量x(向量)的向量值函數(shù)F(x,xdata)=(F(x,xdata1),…,F(xiàn)(x,xdatan))T中的參變量x(向量),使得,,輸入格式為:(1)x=lsqcurvefit(‘fun’,x0,xdata,ydata);(2)x=lsqcurvefit(‘fun’,x0,xdata,ydata,options);(3)x=lsqcurvefit(‘fun’,x0,xdata,ydata,options,’grad’);(4)[x,options]=lsqcurvefit(‘fun’,x0,xdata,ydata,…);(5)[x,options,funval]=lsqcurvefit(‘fun’,x0,xdata,ydata,…);(6)[x,options,funval,Jacob]=lsqcurvefit(‘fun’,x0,xdata,ydata,…);,說明:x=lsqcurvefit(‘fun’,x0,xdata,ydata,options);,lsqnonlin用以求含參量x(向量)的向量值函數(shù)f(x)=(f1(x),f2(x),…,fn(x))T中的參量x,使得最小。其中fi(x)=f(x,xdatai,ydatai)=F(x,xdatai)-ydatai,2.lsqnonlin,已知數(shù)據(jù)點(diǎn):xdata=(xdata1,xdata2,…,xdatan)ydata=(ydata1,ydata2,…,ydatan),輸入格式為:1)x=lsqnonlin(‘fun’,x0);2)x=lsqnonlin(‘fun’,x0,options);3)x=lsqnonlin(‘fun’,x0,options,‘grad’);4)[x,options]=lsqnonlin(‘fun’,x0,…);5)[x,options,funval]=lsqnonlin(‘fun’,x0,…);,說明:x=lsqnonlin(‘fun’,x0,options);,,例2用下面一組數(shù)據(jù)擬合中的參數(shù)a,b,k,該問題即解最優(yōu)化問題:,1)編寫M-文件curvefun1.mfunctionf=curvefun1(x,tdata)f=x(1)+x(2)*exp(-0.02*x(3)*tdata)%其中x(1)=a;x(2)=b;x(3)=k;,2)輸入命令tdata=100:100:1000cdata=1e-03*[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59];x0=[0.2,0.05,0.05];x=lsqcurvefit(curvefun1,x0,tdata,cdata)f=curvefun1(x,tdata),F(x,tdata)=,x=(a,b,k),解法1.用命令lsqcurvefit,解法2:用命令lsqnonlinf(x)=F(x,tdata,ctada)=x=(a,b,k),1)編寫M-文件curvefun2.mfunctionf=curvefun2(x)tdata=100:100:1000;cdata=1e-03*[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59];f=x(1)+x(2)*exp(-0.02*x(3)*tdata)-cdata,2)輸入命令:x0=[0.2,0.05,0.05];x=lsqnonlin(curvefun2,x0)f=curvefun2(x),函數(shù)curvefun2的自變量是x,cdata和tdata是已知參數(shù),故應(yīng)將cdatatdata的值寫在curvefun2.m中,可以看出,兩個(gè)命令的計(jì)算結(jié)果是相同的.,3)運(yùn)算結(jié)果為:f=0.00430.00510.00560.00590.00610.00620.00620.00630.00630.0063x=0.0063-0.00340.2542,4)擬合得a=0.0063b=-0.0034k=0.2542,用命令:polyfit(x,y,m),得到a1=3.3940,a2=702.4918,練習(xí)1用給定的多項(xiàng)式,如y=x3-6x2+5x-3,產(chǎn)生一組數(shù)據(jù)(xi,yi,i=1,2,…,n),再在yi上添加隨機(jī)干擾(可用rand產(chǎn)生(0,1)均勻分布隨機(jī)數(shù),或用rands產(chǎn)生N(0,1)分布隨機(jī)數(shù)),然后用xi和添加了隨機(jī)干擾的yi作的3次多項(xiàng)式擬合,與原系數(shù)比較。如果作2或4次多項(xiàng)式擬合,結(jié)果如何?,練習(xí)2.已知數(shù)據(jù):,求擬合函數(shù):,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- MATLAB 曲線擬合
鏈接地址:http://kudomayuko.com/p-3447593.html