最小二乘法擬合原理及代碼的實(shí)現(xiàn)_第1頁
最小二乘法擬合原理及代碼的實(shí)現(xiàn)_第2頁
最小二乘法擬合原理及代碼的實(shí)現(xiàn)_第3頁
最小二乘法擬合原理及代碼的實(shí)現(xiàn)_第4頁
最小二乘法擬合原理及代碼的實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、最小二乘法擬合原理及代碼實(shí)現(xiàn)最小二乘法定義已知一組實(shí)驗(yàn)數(shù)據(jù)(xi)(i=0,1,2,.m),且觀測數(shù)據(jù)有誤差求自變量x與因變量y之間的函數(shù)關(guān)系y=F(x),不要求y二F(x)經(jīng)過所有點(diǎn),而只要求在給定點(diǎn)的誤差Si=F(xi)-yi(i=0,l,2/.zm)按某種標(biāo)準(zhǔn)最小。度量的標(biāo)準(zhǔn)不同,將導(dǎo)致不同的結(jié)果,常用的準(zhǔn)則有如下三種:殘差的最大絕對值為最小maxI1=maxIy廠尸(兀)1=nun殘差的絕對值之和最小TOC o 1-5 h z HYPERLINK l bookmark4mm0卜必-尸(兀)|=】山1f=o/=0殘差的平方和最小 HYPERLINK l bookmark8mmf=Or=O

2、其中C被稱為最小二乘法原則。具體定義:已知一組數(shù)據(jù)(xGYi)(i=0,12,m),在函數(shù)類(p=spanl,x,.,xn中找到一個(gè)函數(shù)y=Sx),是誤差平方和最小,即: HYPERLINK l bookmark18mmm晴=QU)-yf=想豊Qw-z)21=0/=OZvf=o這里:S(x)=aQ+atx+anxn(nvm)求最小二乘解y=Sx)的方法現(xiàn)要求一S”(x)=f絞*使得:k=0mmn1=E二W一X2=EGa用-xl2=皿/=01=0k=0ntit顯然/=工工色h-)汀為他皿,.耳)的多元函數(shù),因此上述問題/=0k=0即為求/=/(,.衛(wèi)”)的極值問題。多元函數(shù)的求極值的必要條件:設(shè)

3、函數(shù)z=f(x,y)在點(diǎn)(x0,y0)具有偏導(dǎo)數(shù),且在點(diǎn)(xo,y。)有極值,則它在該點(diǎn)的偏導(dǎo)數(shù)必然為零。dididcijVIII(j=0,1,2,.,11)=(-開)斤(j=0,1,2,.,11)r=0Jt=onntm即:(護(hù))色(j=0,l,2,.,n)Jt=0/=O/=0上式是關(guān)于包刈,.)的線性方程組,用矩陣表示為:mmmm+1DEx-i=0z=oi=0a0mmmm弟o;E+1心0z=0/=0i=0ammm_n_m工礦1姑_/=0/=0/=0_-/=o_可以證明,方程組的系數(shù)矩陣式個(gè)對稱正定矩陣,故存在唯解。m/=0mD/=0mf=ontm/=0mD/=0mf=ontf=omE+1/=

4、0m/=0mEXlXA=XlY=EA=XlY=A=XlY??梢运愠?。,/”)。其中X-是X的逆矩陣,E是單位矩陣。還可以用消元法算出他,4,工%-仏+4兀)丁/=0應(yīng)有工久-(4+4X/)=-2S(X-o-)=/=01=0QmmT-E!/-Wo+4兀)丁=-2工(X-4-g)=0W=o1=0整理得mapFoldList,refdoublefk,refdoublefb)fmX0.0;fmY0.0;fmXX0.0;fmXY0.0;fn0.0;doubledoubledoubledoubledoubleif(0二二mapFoldList.Count):returnfalse;long1Count二m

5、apFoldListCount;if(ICount2):returnfalse;fn=ICount;foreach(sAD_PWRiterinmapFoldList)fmX+=iter.fAD;fmY+二iter.fPWR;fmXX+二iter.fAD*iter.fAD;fmXY+二iter.fAD*iter.fPWR;if(Math.Abs(fmX*fmX-fmXX*fn)0.000001)returnfalse;fk二(fmY*fmX-fmXY*fn)/(fmX*fmX-fmXX*fn);fb=(fmY-fmX*fk)/fn;returntrue;曲線擬合(三階及以上lllj線)代碼實(shí)現(xiàn)根

6、據(jù)曲=丫得出,我們需要算出矩陣X和矩陣丫,再對X進(jìn)行矩陣變換,得到消元后的矩陣,算出5%心。代碼的實(shí)現(xiàn):/Function:fnCurveSimulate(doublen,doubleT,intM,intN,intxi)/Parain:n/T/M/N/xi/ParaOut:無H變量數(shù)據(jù)數(shù)組因變量數(shù)據(jù)數(shù)組擬合公式的最高階數(shù)數(shù)據(jù)組數(shù)所返回系數(shù)值的對應(yīng)參數(shù)/Return:double/Description:用于最小二乘法曲線擬合/publicstaticdoublefnCurveSimulate(doublen,doubleT,intM,intN,intxi)double,b二newdouble1

7、0,20;double,A二newdouble10,10;doubleB二newdouble10;doublex二newdouble10;doubley二newdouble10;doublet=0.0;inti=o;intj=o;intk=o;int1=o;算出X矩陣for(i=0;iM;i+)for(j=0;jN;j+)t=l;for(l=0;li;1+)t=t*nj;bi,jl=t;for(i=0;iM;i+)for(k=0;kM;k+)t二0;for(j=0;jN;j+)t+=bi,j*bk,j;Ai,k=t;算出Y矩陣for(i=0;iM;i+)t二0;for(j=0;jN;j+)t+=Tj*bi,j;開始進(jìn)行消元運(yùn)算for(i=l;iM;i+)Ai,O=Ai,O/AO,0;for(i=l;iM;i+)for(j=i;jM;j+)t二0;for(20;ki;k+)t+=Ak,j*Ai,kJ;Ai,j=Ai,j-t;if(j+l!=M)t二0;for(k=0:ki:k+)t+=Ak,i*Aj+l,k;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論