第七章 數據的曲線擬合席_第1頁
第七章 數據的曲線擬合席_第2頁
第七章 數據的曲線擬合席_第3頁
第七章 數據的曲線擬合席_第4頁
第七章 數據的曲線擬合席_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第七章數據的曲線擬合席第1頁,共26頁,2023年,2月20日,星期三1、聯系都是根據實際中一組已知數據來構造一個能夠反映數據變化規律的近似函數的方法。2、區別插值問題不一定得到近似函數的表達形式,僅通過插值方法找到未知點對應的值。數據擬合要求得到一個具體的近似函數的表達式。擬合模型可以分為直線擬合、曲線擬合和觀察數據修勻。插值與擬合的區別和聯系:第2頁,共26頁,2023年,2月20日,星期三一、直線擬合若用線性函數擬合如下數據:線性函數表示為:其中為待定系數。擬合直線稱為回歸直線。第3頁,共26頁,2023年,2月20日,星期三由于數據節點數大于未知數(即待定系數)的個數2,直線不可能經過每個點,但是直線與數據的偏差一定要達到最小。直線與點的偏離程度(即殘差)定義為:殘差的平方和為:第4頁,共26頁,2023年,2月20日,星期三要使R達到最小,令矩陣形式:“線性最小二乘法”第5頁,共26頁,2023年,2月20日,星期三確定系數的另一種方法是直接求解超定線性方程組:其中方程組兩邊同時左乘,得常規方程組:第6頁,共26頁,2023年,2月20日,星期三求解:在MATLAB中,也可直接求解超定方程組的解:c=A\y%可求得最小二乘解或已知數據點x與y,用polyfit命令c=polyfit(x,y,1)第7頁,共26頁,2023年,2月20日,星期三例1求擬合下列數據點的直線。>>x=[0.10.40.50.70.70.9];y=[0.610.920.991.521.472.03];c=polyfit(x,y,1)c=1.76460.2862即線性函數g(x)=1.7646x+0.2862第8頁,共26頁,2023年,2月20日,星期三>>A=[x'ones(6,1)];c=(A'*A)\(A'*y')c=1.76460.2862>>c=A\y'c=1.76460.2862第9頁,共26頁,2023年,2月20日,星期三繪圖程序:x=[0.10.40.50.70.70.9];y=[0.610.920.991.521.472.03];c=polyfit(x,y,1);y1=polyval(c,x);plot(x,y,'.',x,y1)gtext('y=1.7646x+0.2862');xlabel('X');ylabel('Y');第10頁,共26頁,2023年,2月20日,星期三二、非線性曲線擬合對一組數據,若做擬合冪函數:為確定待定系數,取自然對數:取:則:問題簡化為線性回歸,擬合數據點為:然后確定第11頁,共26頁,2023年,2月20日,星期三例2做下列數據點的冪函數擬合。c=polyfit(log(x),log(y),1)c=[0.20931.8588]結果:所以第12頁,共26頁,2023年,2月20日,星期三第13頁,共26頁,2023年,2月20日,星期三x=[0.150.40.61.011.52.22.42.72.93.53.84.44.65.16.67.6];y=[4.49645.12845.69316.28847.09897.55077.51068.07567.87088.24038.53038.73948.99819.14509.50709.9115];c=polyfit(log(x),log(y),1);alfa=c(1);beta=exp(c(2));y1=beta*x.^alfa;subplot(2,2,1)plot(x,y,'+')xlabel('X');ylabel('Y');第14頁,共26頁,2023年,2月20日,星期三subplot(2,2,2)plot(x,y,'+')holdonloglog(x,y)xlabel('X');ylabel('Y');title('(a)Loglogplotofyvsx','Color','r')subplot(2,2,3)plot(log(x),log(y),'+',log(x),log(y))xlabel('log(X)');ylabel('log(Y)');title('(b)Linearplotoflog(y)vslog(x)','Color','r');subplot(2,2,4)plot(x,y,'+',x,y1)xlabel('X');ylabel('Y');title('(c)Linearplotofyvsx','Color','r');holdoff第15頁,共26頁,2023年,2月20日,星期三例3

已知

x01234y1.52.53.55.07.5利用最小二乘法求指數擬合

y=ceax方法1令求a,c使S(a,c)=min%非線性最小二乘方法2非線性模型的線性化處理

y=ceax

取自然對數

ln(y)=ax+ln(c)得,Y=ax+b%線性最小二乘確定了a,b之后,可得c=eb第16頁,共26頁,2023年,2月20日,星期三MATLAB提供了求非線性最小二乘擬合的函數:lsqcurvefit:

輸入格式為:(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,…);其中,‘fun’--事先定義的非線性擬合函數x0--迭代初值xdata,ydata--已知數據點第17頁,共26頁,2023年,2月20日,星期三x=[01234];y=[1.52.53.55.07.5];

c=lsqcurvefit('fff',[1;2],x,y)%非線性最小二乘法yy=c(1)*exp(c(2)*x);

c1=polyfit(x,log(y),1);%線性化方法y1=exp(c1(2))*exp(x*c1(1));plot(x,yy,'b',x,y1,'r')legend('最小二乘法','線性化方法')xlabel('X');ylabel('Y');functiony=fff(c,x)y=c(1)*exp(c(2)*x);y=ceaxY=ax+b,c=eb第18頁,共26頁,2023年,2月20日,星期三三、高次多項式曲線擬合最小二乘的思想可以推廣到高次多項式擬合。設n次多項式:曲線與數據點的殘差:記:為使R最小,令第19頁,共26頁,2023年,2月20日,星期三即:矩陣形式為:第20頁,共26頁,2023年,2月20日,星期三另一種推導格式:將其寫為超定方程:其中:當時,方程為超定的,可求其最小二乘解:c=A\y或c=polyfit(x,y,n)第21頁,共26頁,2023年,2月20日,星期三例4

用二次多項式擬合下列數據:x=[0.1,0.4,0.5,0.7,0.7,0.9]';y=[0.61,0.92,0.99,1.52,1.47,2.03]';cc=polyfit(x,y,2);xx=0:0.1:1;yy=polyval(cc,xx);plot(xx,yy,x,y,'x')axis([0,1,0,3])xlabel('X');ylabel('Y')第22頁,共26頁,2023年,2月20日,星期三第23頁,共26頁,2023年,2月20日,星期三四、函數線性組合曲線擬合法擬合數據時,也可用已知函數的線性組合,形式為:其中是已知函數,是待定系數,n是所用函數個數。用上式擬合數據,得超定方程:第24頁,共26頁,2023年,2月20日,星期三例5

確定擬合函數的系數,擬合的數據如下。第25頁,共26頁,2023年,2月20日,星期三data=[0.10.61;0.40.92;0.50.99;0.71.52;0.71.47;0.92.03];x=data(:,1);y=data(:,2);A(:,1)=ones(size(x));A(:,2)=x;A(:

溫馨提示

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

評論

0/150

提交評論