最小二乘法線性與非線性擬合_第1頁
最小二乘法線性與非線性擬合_第2頁
最小二乘法線性與非線性擬合_第3頁
最小二乘法線性與非線性擬合_第4頁
最小二乘法線性與非線性擬合_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、最小二乘法線性與非線性擬合最小二乘法線性與非線性擬合最小二乘法實(shí)現(xiàn)數(shù)據(jù)擬合最小二乘法原理函數(shù)插值是差值函數(shù)p(x)與被插函數(shù)f(x)在節(jié)點(diǎn)處函數(shù)值相同, 即p()=f()(i=0,1,2,3,n),而曲線擬合函數(shù)不要求嚴(yán)格地通過所有數(shù)據(jù)點(diǎn)(),也就是說擬合函數(shù)在處的偏差=不都嚴(yán)格地等于零。但是,為了使近似曲線能盡量反應(yīng)所給數(shù)據(jù)點(diǎn)的變化趨勢,要求|按某種度量標(biāo)準(zhǔn)最小。即ab中輸入以下程序x=0,0.2,0.4,0.7,0.9,0,92,0.99,1.2,1.4,1,48,1.5;y=2.88;2.2576;1.9683;1.9258;2.0862;2.109;2.1979;2.5409;2.96

2、27;3.155;3.2052;A=ones(size(x)exp(-3*x),cos(-2*x).*exp(-4*x)x.y;c運(yùn)行結(jié)果為ans=1.22002.3397-0.67970.8700下面畫出由擬合得到的曲線及已知的數(shù)據(jù)散點(diǎn)圖x1=0:0.01:1.5;A1=ones(size(x1)exp(-3*x1),cos(-2*x1).*exp(-4*x1)x1.;x00.20.40.70.90.920.991.21.41.481.5y2.882.25761.96831.92582.08622.1092.19792.54092.9627矩陣,表示因變量矩陣,是輸出的系數(shù)矩陣,即多項(xiàng)式的系

3、數(shù)。多項(xiàng)式在自變量x處的函數(shù)值y可用以下命令計(jì)算:y=polyval(A,x)例題對下面一組數(shù)據(jù)作二次多項(xiàng)式擬合,即要求出二次多項(xiàng)式中的,使最小。在Matlab中輸入以下命令x=0:.1:1;y=-0,4471.9783.286.167.087.347.669.569.489.3011.2;a=polyfit(x,y,2)運(yùn)行結(jié)果為a=-9.810820.1293-0.0317f=vpa(poly2sym(a),5)%vpa(polyval2sym(),n)只適用于關(guān)于多項(xiàng)式函數(shù)的擬合。因?yàn)榇撕瘮?shù)對于自變量統(tǒng)一規(guī)定為x,將由polyfit()所得出的系數(shù)按自變量哥次升降放在相應(yīng)的位置。運(yùn)行結(jié)果

4、為f=-9.8108*x+20.129*x-.31671e-1下面畫出由擬合得到的曲線及已知的數(shù)據(jù)散點(diǎn)圖y1=polyval(a,x);plot(x,y,o,x,y1)(二)非線性最小二乘擬合x00.10.20.30.40.50.60.70.80.91y-0.4471.9783.286.167.087.347.669.569.489.3011.2(1)lsqcurvefit()lsqcurvefit()是非線性最小二乘擬合函數(shù),其本質(zhì)上是求解最優(yōu)化問題。其使用格式為x=lsqcurvefit(fun,x0,xdata,ydata)其中,fun是要擬合的非線性函數(shù),x0是初始參數(shù),xdata,y

5、data是擬合點(diǎn)的數(shù)據(jù),該函數(shù)最終返回系數(shù)矩陣。例題假設(shè)已知并已知該函數(shù)滿足原型為,其中為待定系數(shù)。在Matlab中輸入以下命令x=0:.1:10;y=0.12*exp(-0.213*x)+0.54*exp(-0.17*x).*sin(1.23*x);f=inline(a(1)*exp(-a(2)*x)+a(3)*exp(-a(4)*x).*sin(a(5)*x),a,x);%建立函數(shù)原型,則可以根據(jù)他來進(jìn)行下面的求取系數(shù)的計(jì)算a,res=lsqcurvefit(f,1,1,1,1,1,x,y);a,res運(yùn)行結(jié)果為ans=0.11970.21250.54040.17021.2300res=7

6、.1637e-007所求得的系數(shù)與原式中的系數(shù)相近。如果向進(jìn)一步提高精度,則需修改最優(yōu)化的選項(xiàng),函數(shù)的調(diào)用格式也將隨之改變。在Matlab中輸入以下命令ff=optimset;ff.TolFun=1e-20;ff.TolX=1e-15;%修改精度,即是修改其限制條件a,res=lsqcurvefit(f,1,1,1,1,1,x,y,ff);%兩個(gè)空矩陣表示系數(shù)向量的上下限a,res運(yùn)行結(jié)果為ans=0.12000.21300.54000.17001.2300res=9.5035e-021下面繪圖x1=0:0.01:10;y1=f(a,x1);plot(x1,y1,x,y,o)(2)lsqnon

7、lin()lsqnonlin()函數(shù)是另一種求最小二乘擬合的函數(shù),其本質(zhì)上是求解最優(yōu)化問題最優(yōu)化解。它的應(yīng)用格式為x=lsqnonlin(fun,x0)其中,fun的定義與lsqnonlin()函數(shù)中fun的定義有差別,x0仍為初始參數(shù)向量,將輸出的系數(shù)結(jié)果放在變量中。說明lsqnonlin()函數(shù)的使用方法。首先編寫目標(biāo)函數(shù)(curve_fun.m)functiony=curve_fun(p)%非線性最小二乘擬合函數(shù)x=0.020.020.060.060.110.110.220.220.560.561.101.10;y=764797107123139159152191201207200;y=

8、p(1)*x./(p(2)+x)-y;再用Isqnonlin()函數(shù)求解,輸入p,resnorm,residual=lsqnonlin(curve_fun,200,0.1)運(yùn)行結(jié)果為p=212.68360.0641resnorm=1.1954e+003residual=Columns1through11-25.43393.56615.8111-4.188911.3617-4.63835.684712.6847-0.1671-10.1671-6.0313Column120.9687上面的兩種方法都可以作非線性最小二乘曲線擬合(3)非線性函數(shù)的線性化在進(jìn)行非線性擬合時(shí),以往由于計(jì)算機(jī)和相關(guān)軟件水平

9、有限,常常先把非線性的曲線擬合線性化,然后再進(jìn)行擬合。下面比較一下先線性化再進(jìn)行擬合和直接進(jìn)行非線性擬合的差異。例題已知數(shù)據(jù)t0.250.511.523468c19.2118.1515.3614.1012.899.327.455.243.01滿足曲線通過數(shù)據(jù)擬合求出參數(shù)和。方法一:先將非線性函數(shù)轉(zhuǎn)化為線性函數(shù)編寫Matlab程序如下d=300;t=0.250.511.523468;c=19.2118.1515.3614.1012.899.327.455.243.01;y=log(c);a=polyfit(t,y,1)運(yùn)行結(jié)果為a=-0.23472.9943k=-a(1)k=0.2347v=d/

10、exp(a(2)v=15,0219由止匕也可以求出相關(guān)系數(shù)。方法二:應(yīng)用非線性擬合直接求解系數(shù)建立m文件:functionf=curvefun3(x,tdata)d=300f=(x(1)d)*exp(-x(2)*tdata)%x(1)=v;x(2)=k運(yùn)行程序tdata=0,250.511.523468;cdata=19.2118.1515.3614.1012,899.327.455.243.01;x=lsqcurvefit(curvefun3,x0,tdata,cdata)運(yùn)行結(jié)果為x=下面繪圖f=curvefun3(x,tdata);plot(tdata,cdata,o,tdata,f)我

11、們發(fā)現(xiàn)兩種求法求出的系數(shù)很接近。(三)線性擬合和非線性擬合區(qū)別與聯(lián)系在許多實(shí)際問題中,變量之間內(nèi)在的關(guān)系并不想前面說的那樣簡單。呈線性關(guān)系,但有些非線性擬合曲線可以通過適當(dāng)?shù)淖兞刻鎿Q轉(zhuǎn)化為線性曲線,從而用線性擬合進(jìn)行處理。對于一個(gè)實(shí)際的曲線擬合問題,一般先根據(jù)觀測值在直角坐標(biāo)平面上描出散點(diǎn)圖,看一看散點(diǎn)的分布同哪類曲線圖形接近,讓后選用相接近的曲線擬合方程,再通過適當(dāng)?shù)淖兞刻鎿Q轉(zhuǎn)化為線性擬合問題,按線性擬合解出后再還原為原變量所表示的曲線擬合方程。表1.1線性擬合方程變量變換變換后線性擬合方程Y=,Y=aY=aY=,Y=Y=例題測出一組實(shí)際數(shù)x0=100.5;14.82120.2420據(jù)見下表

12、是對其進(jìn)行函數(shù)擬合。X1.10521.22141.34991.49181.64783.6693Y0.67950.60060.53090.46930.41480.1546X1.82212.01382.22552.45962.7183Y0.36660.32410.28640.25320.2238x=1.1052,1.2214,1.3499,1.4918,1.6478,1.8221,2.0138,2.2255,2.4596,2.7183,3.6693;y=0.6795,0.6006,0.5309,0.4693,0.4148,0.3666,0.3241,0.2864,0.2532,0.2238,0.1546;plot(x,y,x,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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論