matlab非線性擬合匯總.ppt_第1頁(yè)
matlab非線性擬合匯總.ppt_第2頁(yè)
matlab非線性擬合匯總.ppt_第3頁(yè)
matlab非線性擬合匯總.ppt_第4頁(yè)
matlab非線性擬合匯總.ppt_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

,非線性曲線擬合,回歸的操作步驟:,(1)根據(jù)圖形(實(shí)際點(diǎn)),選配一條恰當(dāng)?shù)暮瘮?shù)形式(類(lèi)型)-需要數(shù)學(xué)理論與基礎(chǔ)和經(jīng)驗(yàn)。(并寫(xiě)出該函數(shù)表達(dá)式的一般形式,含待定系數(shù)) (2)選用某條回歸命令求出所有的待定系數(shù),所以可以說(shuō),回歸就是求待定系數(shù)的過(guò)程(需確定函數(shù)的形式),非線性曲線擬合,配曲線的一般方法是:,(一)先對(duì)兩個(gè)變量x和y 作n次試驗(yàn)觀察得(xi,yi),i=1,2,n畫(huà)出散點(diǎn)圖。 (二)根據(jù)散點(diǎn)圖確定須配曲線的類(lèi)型。 通常選擇的六類(lèi)曲線如下: (1)雙曲線 1/y=a+b/x (2)冪函數(shù)曲線y=axb , 其中x0,a0 (3)指數(shù)曲線y=aebx其中參數(shù)a0. (4)倒指數(shù)曲線y=aeb/x 其中a0, (5)對(duì)數(shù)曲線y=a+blogx,x0 (6)S型曲線 y=1/(a+be-x) (三)然后由n對(duì)試驗(yàn)數(shù)據(jù)確定每一類(lèi)曲線的未知參數(shù)a和b。,非線性曲線擬合,一、一元多次擬合: polyfit(x,y,n) 二、多元非線性回歸,regress、 nlinfit、 lsqcurvefit、 fminsearch lsqnonlin、求解線性方程組/,格式為:p=polyfit(x,y,n) 其中 x和y為原始的樣本點(diǎn)構(gòu)成的向量 n為選定的多項(xiàng)式階次 p為多項(xiàng)式系數(shù)按降冪排列得出的行向量,Y=polyval(p,x) 求polyfit所得的回歸多項(xiàng)式在x處的預(yù)測(cè)值Y,非線性曲線擬合,命令,已知某函數(shù)的線性組合為:g(x)=c1f1(x)+c2f2(x)+c3f3(x)+cnfn(x)其中f1(x),f2(x),fn(x) 為已知函數(shù),c1,c2,cn為待定系數(shù)。假設(shè)已經(jīng)測(cè)出(x1,y1),(x2,y2),(xm,ym)則可以建立如下線性方程。 其中,該方程的最小二乘解為 c=Ay,非線性曲線擬合,例:假設(shè)測(cè)出一組(xi,yi),已知函數(shù)原型為y(x)=c1+c2e-3x+c3cos(-2x)e-4x+c4x2用已知數(shù)據(jù)求出待定系數(shù)ci的值。,程序運(yùn)行過(guò)程:, 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.26 1.97 1.93 2.09 2.11 2.2 2.54 2.96 3.16 3.21; A=ones(size(x),exp(-3*x),cos(-2*x).*(-4*x),x.2; c=Ay; c1=c c1 = 1.2686 1.6356 -0.0289 0.9268,非線性曲線擬合,使用格式: b=或b, bint, r, rint, stats=regress(y, x)或regress(y, x, alpha),-命令中是先y后x, -須構(gòu)造好矩陣x(x中的每列與目標(biāo)函數(shù)的一項(xiàng)對(duì)應(yīng)) -并且x要在最前面額外添加全1列/對(duì)應(yīng)于常數(shù)項(xiàng) -y必須是列向量 -結(jié)果是從常數(shù)項(xiàng)開(kāi)始-與polyfit的不同。),b為回歸系數(shù) 的估計(jì)值(第一個(gè)為常數(shù)項(xiàng)) bint為回歸系數(shù)的區(qū)間估計(jì) r: 殘差 rint: 殘差的置信區(qū)間 stats: 用于檢驗(yàn)回歸模型的統(tǒng)計(jì)量,有四個(gè)數(shù)值:相關(guān)系數(shù)r2、F值、與F對(duì)應(yīng)的概率p和殘差的方差(前兩個(gè)越大越好,后兩個(gè)越小越好) alpha: 顯著性水平(缺省時(shí)為0.05,即置信水平為95%),其中:,顯著性(Significance)首次由Fisher在 假設(shè)性實(shí)驗(yàn)中提出.假設(shè)檢驗(yàn)中有兩種錯(cuò)誤: 拒真和納偽.顯著性檢驗(yàn)僅考慮發(fā)生拒真錯(cuò)誤的概率,也就是考慮原假設(shè)的Significance的程度,把拒真的概率控制在提前所給定的閾值alpha之下,來(lái)考慮檢驗(yàn)原假設(shè)是否正確,非線性曲線擬合,1)相關(guān)系數(shù)r2越接近1,說(shuō)明回歸方程越顯著;(r2越大越接近1越好) 2)F越大,說(shuō)明回歸方程越顯著;(F越大越好) 與F對(duì)應(yīng)的概率p越小越好,一定要Pa時(shí)拒絕H0而接受H1,即回歸模型成立。 3)(殘差)標(biāo)準(zhǔn)差(RMSE)越小越好,注:,例題同前例, 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.26 1.97 1.93 2.09 2.11 2.2 2.54 2.96 3.16 3.21; A=ones(size(x),exp(-3*x),cos(-2*x).*(-4*x),x.2; b,brint,r,rint,stats=regress(y,A);,程序,非線性曲線擬合,運(yùn)行結(jié)果,b = 1.2686 1.6356 -0.0289 0.9268,brint = 1.0534 1.4838 1.4082 1.8631 -0.1182 0.0605 0.5877 1.2659,r = -0.0242 0.0354 0.0283 -0.0068 -0.0156 -0.0183 -0.0154 -0.0057 0.0027 0.0102 0.0094,rint = -0.0329 -0.0156 0.0001 0.0707 -0.0150 0.0716 -0.0513 0.0378 -0.0670 0.0357 -0.0692 0.0326 -0.0670 0.0362 -0.0461 0.0347 -0.0460 0.0513 -0.0359 0.0562 -0.0315 0.0503,stats = 1.0e+03 * 0.0010 1.4774 0.0000 0.0000,非線性曲線擬合,使用格式: beta = nlinfit(x,y, 程序名,beta0) beta,r,J = nlinfit(X,y,fun,beta0),X給定的自變量數(shù)據(jù), Y給定的因變量數(shù)據(jù), fun要擬合的函數(shù)模型(句柄函數(shù)或者內(nèi)聯(lián)函數(shù)形式), beta0函數(shù)模型中待定系數(shù)估計(jì)初值(即程序的初始實(shí)參) beta返回?cái)M合后的待定系數(shù) 其中beta為估計(jì)出的回歸系數(shù); r為殘差; J為Jacobian矩陣,可以擬合成任意函數(shù),最通用的,萬(wàn)能的命令.,非線性曲線擬合,結(jié)果要看殘差的大小和是否有警告信息,如有警告則換一個(gè)b0初始向量再重新計(jì)算,例題同前例,假設(shè)測(cè)出一組(xi,yi),已知函數(shù)原型為y(x)=c1+c2e-3x+c3cos(-2x)e-4x+c4x2用已知數(shù)據(jù)求出待定系數(shù)ci的值。, 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.26 1.97 1.93 2.09 2.11 2.2 2.54 2.96 3.16 3.21; myfunc=inline(beta(1)+beta(2)*exp(-3*x)+beta(3)*cos(-2*x).*exp(-4*x)+beta(4)*x.2,beta,x); beta0=0.2,0.2,0.2,0.2; beta = nlinfit(x,y,myfunc,beta0) beta = 1.2186 2.3652 -0.7040 0.8716,非線性曲線擬合,function yy= myfun( beta,x) yy=beta(1)+beta(2)*exp(-3*x)+beta(3)*cos(-2*x).*exp(-4*x)+beta(4)*x.2 end,法二、, 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.26 1.97 1.93 2.09 2.11 2.2 2.54 2.96 3.16 3.21; beta0=1,1,1,1; beta= nlinfit(x,y,myfun,beta0) beta = 1.2186 2.3652 -0.7040 0.8716,非線性曲線擬合,lsqcurvefit和lsqnonlin為兩個(gè)求非線性最小二乘擬合的函數(shù)兩個(gè)命令都要先建立M-文件fun.m,在其中定義函數(shù)f(x),但兩者定義f(x)的方式是不同的,1. lsqcurvefit 已知數(shù)據(jù)點(diǎn): xdata=(xdata1,xdata2,xdatan), ydata=(ydata1,ydata2,ydatan) lsqcurvefit用以求含參量x(向量)的向量值函數(shù) F(x,xdata)=(F(x,xdata1),F(xiàn)(x,xdatan)T 中的參變量x(向量),使得,非線性曲線擬合,輸入格式為:,x = lsqcurvefit (fun,x0,xdata,ydata,options),fun是一個(gè)事先建立的定義函數(shù)F(x,xdata) 的M-文件, 自變量為x和xdata,迭代初值,已知數(shù)據(jù)點(diǎn),選項(xiàng)見(jiàn)無(wú) 約束優(yōu)化,2. lsqnonlin,lsqnonlin用以求含參量x(向量)的向量值函數(shù) f(x)=(f1(x),f2(x),fn(x)T 中的參量x,使得 最小。 其中 fi(x)=f(x,xdatai,ydatai)=F(x,xdatai)-ydatai,下面是擬合的option設(shè)置 (1)Display:結(jié)果顯示方式。off不顯示,iter顯示每次迭代的信息,final為最終結(jié)果,notify只有當(dāng)求解不收斂的時(shí)候才顯示結(jié)果 (2)MaxFunEvals:允許函數(shù)計(jì)算的最大次數(shù),取值為正整數(shù) (3)MaxIter:允許迭代的最大次數(shù),正整數(shù) (4)TolFun:函數(shù)值(計(jì)算結(jié)果)精度,正整數(shù) (5)TolX:自變量的精度,正整數(shù)。 使用方法如下 option=optimset(MaxFunEvals,212,MaxIter,214,TolX,1e-8,TolFun,1e-8);,非線性曲線擬合,x= lsqnonlin (fun,x0,options),fun是一個(gè)事先建立的定義函數(shù)f(x)的M-文件,自變量為x,迭代初值,選項(xiàng)見(jiàn)無(wú) 約束優(yōu)化,例2 用下面一組數(shù)據(jù)擬合 中的參數(shù)a,b,k,該問(wèn)題即解最優(yōu)化問(wèn)題:,非線性曲線擬合,1)編寫(xiě)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; end,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),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,非線性曲線擬合,解法 2 用命令lsqnonlin f(x)=F(x,tdata,ctada)= x=(a,b,k),1)編寫(xiě)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 end,2)輸入命令: x0=0.2,0.05,0.05; x=lsqnonlin(curvefun2,x0) f= curvefun2(x),非線性曲線擬合,3)運(yùn)算結(jié)果為 f =1.0e-003 *(0.2322 -0.1243 -0.2495 -0.2413 -0.1668 -0.0724 0.0241 0.1159 0.2030 0.2792 x =0.0063 -0.0034 0.2542,4)結(jié)論:即擬合得a=0.0063 b=-0.0034 k=0.2542,可以看出,兩個(gè)命令的計(jì)算結(jié)果是相同的.,非線性曲線擬合,比較以上幾種非線性擬合函數(shù)適用的條件和注意事項(xiàng):,1)Regress函數(shù)和 命令:,1) 首先要確定要擬合的函數(shù)形式,然后確定待定的系數(shù) 從常數(shù)項(xiàng)開(kāi)始排列,須構(gòu)造矩陣(每列對(duì)應(yīng)于函數(shù)中的一項(xiàng),剔除待定系數(shù)) 2) 適用于多元(可通過(guò)變形而適用于任意函數(shù))。y為列向量;x為矩陣,第一列為全1列(即對(duì)應(yīng)于常數(shù)項(xiàng)),其余每一列對(duì)應(yīng)于一個(gè)變量(或一個(gè)含變量的項(xiàng)),即x要配成目標(biāo)函數(shù)的形式(常數(shù)項(xiàng)在最前) 3) regress只能用于函數(shù)中的每一項(xiàng)只能有一個(gè)待定系數(shù)的情況,不能用于aebx等的情況, 且必須有常數(shù)項(xiàng)的情況(且每項(xiàng)只有一個(gè)待定系數(shù),即項(xiàng)數(shù)與待定系數(shù)數(shù)目相同),非線性曲線擬合,2)nlinfit、 lsqcurvefit、 lsqnonlin函數(shù),1)x,y順序,x不需要任何加工,直接用原始數(shù)據(jù)。(也不需要全1列)-所編的程序一定是兩個(gè)形參(待定系數(shù)/向量,自變量/矩陣:每一列為一個(gè)自變量) 2)結(jié)果要看殘差的大小和是

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論