用MATLAB作曲線擬合.ppt_第1頁
用MATLAB作曲線擬合.ppt_第2頁
用MATLAB作曲線擬合.ppt_第3頁
用MATLAB作曲線擬合.ppt_第4頁
用MATLAB作曲線擬合.ppt_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1. 線性擬合,作多項(xiàng)式f(x)=a1xm+ +amx+am+1擬合,可用以下命令:,a=polyfit(x,y,m),多項(xiàng)式在 x 處的值 y 可用以下命令計算: y=polyval(a,x),用MATLAB作曲線擬合,解:輸入以下命令: x=0:0.1:1; y=-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2; A=polyfit(x,y,2) %作出數(shù)據(jù)點(diǎn)和擬合曲線的圖形 z=polyval(A,x); plot(x,y,k+,x,z,r),2)計算結(jié)果: = -9.8108 20.1293 -0.0317,例 對下面一組數(shù)據(jù)作二次多項(xiàng)式擬合,(1) lsqcurvefit 已知數(shù)據(jù)點(diǎn): xdata=(xdata1,xdata2,xdatan), ydata=(ydata1,ydata2,ydatan),2.非線性擬合,Matlab的提供了兩個求非線性最小二乘擬合的函數(shù):lsqcurvefit和lsqnonlin。兩個命令都要先建立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.m function f=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:1000 cdata=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: 用命令 lsqnonlin f(x)=F(x,tdata,ctada)= x=(a,b,k),1)編寫M-文件 curvefun2.m function f=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)將cdata tdata的值寫在curvefun2.m中,可以看出,兩個命令的計算結(jié)果是相同的.,3)運(yùn)算結(jié)果為: f =0.0043 0.0051 0.0056 0.0059 0.0061 0.0062 0.0062 0.0063 0.0063 0.0063 x = 0.0063 -0.0034 0.2542,4)擬合得a=0.0063 b=-0.0034 k=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),再在y

溫馨提示

  • 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

提交評論