在matlab下,學會對資料求解最小二乘曲線擬合

來源:酷知科普網 1.01W

matlab作為一個常用的數學工具,可以幫助我們解決很多實用的問題,類試如數學建模之類的,進行資料擬合。以下用polyfit()函式對以下資料求解最小二乘曲線擬合。

在matlab下,學會對資料求解最小二乘曲線擬合

操作方法

(01)執行matlab軟體,就不贅述了。直接進行編寫程式。輸入x=[1 4 5 8 10 16 17 18 20 23 24 26 27 28]y=[0.5 0.9 1.3 0.7 2.0 2.5 1.7 1.4 1.5 1.8 2.2 2.5 3.0 4.3]

在matlab下,學會對資料求解最小二乘曲線擬合 第2張
在matlab下,學會對資料求解最小二乘曲線擬合 第3張

(02)輸入a=polyfit(x,y,1);x1=1:0.5:28;y1=a(1)*x1+a(2);plot(x,y,'*',x1,y1,'r')顯示如下(該圖是線性迴歸擬合圖),反應了函式整體上升時的趨勢,但具體細節部分並麼有反映出來。

在matlab下,學會對資料求解最小二乘曲線擬合 第4張

(03)下面對曲線進行二次擬合,其程式程式碼如下b=polyfit(x,y,2);x2=1:0.5:28;y2=b(1)*x2.^2+b(2)*x2+b(3)按下enter鍵後出現如下所示在輸入plot(x,y,'*',x2,y2,'r')後按下enter後,如第二圖所示(二次擬合圖)

在matlab下,學會對資料求解最小二乘曲線擬合 第5張
在matlab下,學會對資料求解最小二乘曲線擬合 第6張

(04)對比兩次的擬合圖,會發現二次擬合出來的結果比一次擬合結果更加準確,但仍未反映出資料的真實情況。在對曲線進行高次擬合。輸入c=polyfit(x,y,5);x3=1:0.5:28;y3=c(1)*x3.^5+c(2)*x3.^4+c(3)*x3.^3+c(4)*x3.^2+c(5)*x3+c(6)按enter鍵有如下y3的取值

在matlab下,學會對資料求解最小二乘曲線擬合 第7張

(05)輸入plot(x,y,'*',x3,y3,'-r')按enter鍵有如下影象。這個影象是對曲線進行的5次擬合的結果,基本上反映出了資料的真實變化情況。需要注意的是不可以對資料進行太高次數的擬合,次數太高就會出現警告。

在matlab下,學會對資料求解最小二乘曲線擬合 第8張

特別提示

程式設計序需要認真,要不然就會出錯

熱門標籤