淺談matlab多變量擬合_第1頁
淺談matlab多變量擬合_第2頁
淺談matlab多變量擬合_第3頁
淺談matlab多變量擬合_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、.1首先申明本人是土木專業(yè)的,因為有需要要用到matlab中的擬合用途,今天好好學(xué)習(xí)了一些關(guān)于matlab多變量擬合的東西,從網(wǎng)上下載了一些程序,也運行了一下,就舉一些實例,附上源程序吧,主要是兩個自變量和三個自變量,一個因變量的擬合。讓自己也更清楚,以后用起來也方便。原理就是給出一個自變量和因變量的矩陣,然后給出一個自己認為的帶有未知數(shù)的擬合方程,然后付一組初始值,根據(jù)matlab返回的初始值和誤差在附一組初始值,知道最后的相關(guān)系數(shù)較大,也就是誤差較小時,就能擬合的比較好,寫出擬合后的方程了。1.廣義線性回歸擬合和源碼(兩個自變量,一個因變量,非線性擬合【例】這里有這樣一組數(shù)據(jù),涉及三個變量

2、:p,t 和z,要擬合出 z = f(p,t) 的關(guān)系式非線性的。z p0.8 1 1.2t609.73875 20.75 36.5987120 13.572529.6325 50.93875180 18.9787536.59875 80.138752402075125 38.22125 90.925300 22.05544.58104.7725為了使得回歸分析的結(jié)果更加直觀,我調(diào)用regstats函數(shù),編寫了一個更為實用的函數(shù):reglm,代碼如下代碼中有調(diào)用方法和例子。首先寫一個M文件:function stats = reglm(y,*,model,varnames)% 多重線性回歸分析

3、或廣義線性回歸分析% reglm(y,*),產(chǎn)生線性回歸分析的方差分析表和參數(shù)估計結(jié)果,并以表格形式顯示在屏幕上. 參%數(shù)*是自變量觀測值矩陣,它是n行p列的矩陣. y是因變量觀測值向量,它是n行1列的列向量.% stats = reglm(y,*),還返回一個包括了回歸分析的所有診斷統(tǒng)計量的構(gòu)造體變量stats.% stats = reglm(y,*,model),用可選的model參數(shù)來控制回歸模型的類型. model是一個字符串,%其可用的字符串如下% linear帶有常數(shù)項的線性模型默認情況% interaction帶有常數(shù)項、線性項和穿插項的模型% quadratic帶有常數(shù)項、線性

4、項、穿插項和平方項的模型% purequadratic帶有常數(shù)項、線性項和平方項的模型% stats = reglm(y,*,model,varnames),用可選的varnames參數(shù)指定變量標(biāo)簽. varnames%可以是字符矩陣或字符串元胞數(shù)組,它的每行的字符或每個元胞的字符串是一個變量的標(biāo)簽,它的行%數(shù)或元胞數(shù)應(yīng)與*的列數(shù)一樣. 默認情況下,用*1,*2,作為變量標(biāo)簽.%例:% * = 215 250 180 250 180 215 180 215 250 215 215% 136.5 136.5 136.5 138.5 139.5 138.5 140.5 140.5 140.5 13

5、8.5 138.5;% y = 6.2 7.5 4.8 5.1 4.6 4.6 2.8 3.1 4.3 4.9 4.1;% reglm(y,*,quadratic)% -方差分析表-%方差來源自由度平方和均方 F值 p值%回歸 5.0000 15.0277 3.0055 7.6122 0.0219%殘差 5.0000 1.9742 0.3948%總計 10.0000 17.0018%均方根誤差(Root MSE) 0.6284判定系數(shù)(R-Square) 0.8839%因變量均值(Dependent Mean) 4.7273調(diào)整的判定系數(shù)(Adj R-Sq) 0.7678% -參數(shù)估計-%變量

6、估計值標(biāo)準誤 t值 p值%常數(shù)項 30.9428 2021.1117 0.0154 0.9883% *1 0.7040 0.6405 1.0992 0.3218% *2 -0.8487 29.1537 -0.0291 0.9779% *1*2 -0.0058 0.0044 -1.3132 0.2461% *1*1 0.0003 0.0003 0.8384 0.4400% *2*2 0.0052 0.1055 0.0492 0.9626% Copyright 2021 - 2021 *iezhh.% $Revision: 1.0.0.0 $ $Date: 2021/12/22 21:41:00

7、$if nargin 2 error(至少需要兩個輸入?yún)?shù));endp = size(*,2); % *的列數(shù),即變量個數(shù)if nargin 3 | isempty(model) model = linear; % model參數(shù)的默認值end% 生成變量標(biāo)簽varnamesif nargin z = 9.73875 20.75 36.5987513.5725 29.6325 50.9387518.97875 36.59875 80.1387520.75125 38.22125 90.92522.055 44.58 104.7725; p,t = meshgrid(0.8 1 1.2,60:6

8、0:300); stats = reglm(z(:),p(:), t(:),quadratic,p,t); pnew,tnew = meshgrid(linspace(0.8,1.2,20),linspace(60,300,20); pp = pnew(:); tt = tnew(:); zhat = ones(400,1) pp tt pp.*tt pp.2 tt.2*stats.beta; mesh(pnew,tnew,reshape(zhat,20,20); hold on plot3(p(:),t(:),z(:),k*)擬合結(jié)果:-方差分析表-方差來源自由度平方和均方 F值 p值回歸

9、5.0000 11548.9147 2309.7829 93.4739 0.0000殘差 9.0000 222.3942 24.7105總計 14.0000 11771.3089均方根誤差(Root MSE) 4.9710判定系數(shù)(R-Square) 0.9811因變量均值(Dependent Mean) 41.2168調(diào)整的判定系數(shù)(Adj R-Sq) 0.9706-參數(shù)估計-變量估計值標(biāo)準誤 t值 p值常數(shù)項 242.6188 69.0439 3.5140 0.0066 p -513.7781 137.3777 -3.7399 0.0046 t -0.3637 0.1212 -3.0002

10、 0.0150 p*t 0.6022 0.0926 6.5010 0.0001 p*p 272.2625 68.0677 3.9999 0.0031 t*t -0.0003 0.0002 -1.1946 0.26282.三個自變量,一個因變量clear,clc*1=333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15 333.15

11、 333.15 333.15 328.15 330.65 333.15 335.65 338.15 340.65 343.15 333.15 333.15 333.15 323.15 325.65 345.65 348.15;*2=1.19 1.206 1.228 1.23 1.252 1.27 1.277 1.31 1.35 1.39 1.43 1.23 1.23 1.23 1.23 1.23 1.2 1.2 1.2 1.2 1.2 1.26 1.26 1.26 1.26 1.26 1.231.23 1.23 1.23 1.23 1.23 1.23 1.15 1.47 1.51 1.23 1

12、.23 1.23 1.23;*3=80 80 80 80 80 80 80 80 80 80 80 77 78 79 80 81 67 68 69 70 71 86 87 88 89 90 80 80 80 80 80 80 8080 80 80 80 80 80 80;y=59.49 55.16 50.18 49.78 45.75 42.96 41.96 37.87 33.96 30.83 28.29 47.92 48.54 49.19 49.78 50.42 47.49 48.21 48.9 49.63 50.32 47.8 48.38 48.91 49.47 50.04 50.49 50

13、.14 49.79 49.45 49.13 48.81 48.5 74.13 26.18 24.39 51.22 50.85 48.21 47.92;*=*1,*2,*3;ymin=min(y);y=y-ymin;f*=(b,*1,*2,*3)(b(1)+b(2)*1+b(3)*2+b(4)*3+b(5)*1.2+b(6)*2.2+b(7)*3.2+b(8)*1.*2+b(9)*1.*3+b(10)*2.*3+b(11)*1.3+b(12)*2.3+b(13)*3.3)./(1+b(14)*e*p(b(15)*1+b(16)*2+b(17)*3+b(18)*1.*2+b(19)*1.*3+b(

14、20)*2.*3);f*2=(b,*,y)(b(1)+b(2)*(:,1)+b(3)*(:,2)+b(4)*(:,3)+b(5)*(:,1).2+b(6)*(:,2).2+b(7)*(:,3).2+b(8)*(:,1).*(:,2)+b(9)*(:,1).*(:,3)+b(10)*(:,2).*(:,3)+b(11)*(:,1).3+b(12)*(:,2).3+b(13)*(:,3).3)./(1+b(14)*e*p(b(15)*(:,1)+b(16)*(:,2)+b(17)*(:,3)+b(18)*(:,1).*(:,2)+b(19)*(:,1).*(:,3)+b(20)*(:,2).*(:

15、,3);bm=105091.513651451,1328.,-711027.452435498,-1213.,-1.625,934239.742471165,-25.43,-1301.,10.67,-642.1,0.,-244987.606559315,0.9581,9.986e-05,-0.19651,13.74,0.32436,-0.,0.7,-0.50883;b=bm;for l=1:10 b=lsqcurvefit(f*2,b,*,y); b=nlinfit(*,y,f*2,b);endbm1=mean(*1);m2=mean(*2);m3=mean(*3);r1=range(*1);

16、 r2=range(*2);r3=range(*3);ry=range(y);*1a=min(*1);*1b=ma*(*1);*2a=min(*2);*2b=ma*(*2);*3a=min(*3);*3b=ma*(*3);ya=min(y);yb=ma*(y);n=length(y);str=num2str(1:n);figure(1),clfplot3(*1,*2,y,o)stem3(*1,*2,y,filled)te*t(*1,*2,y+.04*ry,str,fontsize,12)pause(.0001)hold on*11,*22=meshgrid(*1a:r1/75:*1b,*2a:

17、r2/75:*2b);y1=f*(bm,*11,*22,m3);surf(*11,*22,y1)a*is(*1a *1b *2a *2b ya yb)alpha(.85)shading interpa*is tightpause(1.0001)%clf% for l=1:10%plot3(*1,*2,y,o)%stem3(*1,*2,y,filled)%te*t(*1,*2,y+.04*ry,str,fontsize,12)%pause(.0001)%hold on%m3=*3a+l*r3/10;%y1=f*(bm,*11,*22,m3);%surf(*11,*22,y1)%a*is(*1a

18、*1b *2a *2b ya yb)%alpha(.4)%shading interp%a*is tight%pause(.5001)% end*label(*1),ylabel(*2),zlabel(Y)figure(2),clf*11,*33=meshgrid(*1a:r1/75:*1b,*3a:r3/75:*3b);plot3(*1,*3,y,o)stem3(*1,*3,y,filled)te*t(*1,*3,y+.04*ry,str,fontsize,12)pause(.0001)hold ony2=f*(bm,*11,m2,*33);surf(*11,*33,y2)a*is(*1a

19、*1b *3a *3b ya yb)alpha(.85)shading interpa*is tightpause(5.0001)%clf% for l=1:10%plot3(*1,*3,y,o)%stem3(*1,*3,y,filled)%te*t(*1,*3,y+.04*ry,str,fontsize,12)%pause(.0001)%hold on%m2=*2a+(l-1)*r2/10;%y2=f*(bm,*11,m2,*33);%surf(*11,*33,y2)%a*is(*1a *1b *3a *3b ya yb)%alpha(.4)%shading interp%a*is tight%pause(.5001)% end*label(*1),ylabel(*3),zlabel(Y)figure(3),clfplot3(*2,*3,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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論