Matlab曲線擬合fit命令1

來源:酷知科普網 1.03W

Matlab中可以進行曲線擬合,之前的曲線擬合方式比較複雜,這是在2016中的擬合方式。主要介紹fit命令,它包含有二維資料擬合和三維資料擬合。

Matlab曲線擬合fit命令1

操作方法

(01)給出一行資料,這裡我們使用sin函式來進行資料擬合,人為的加入了一些噪聲:aa = sin(0:0.05:pi);aa = aa+randn(1,63)/100;bb = 0:0.05:pi;plot(bb,aa,'bo');

Matlab曲線擬合fit命令1 第2張

(02)然後就可以使用fit命令進行資料擬合了。ff = fit(bb,aa,'poly2');回車之後出現如下情況,資料報錯。

Matlab曲線擬合fit命令1 第3張

(03)原因比較簡單,主要是需要列資料,而我們給出的是行資料。因此可以進行如下修改:aa = aa';bb = bb';ff = fit(bb,aa,'poly2');可以看到ff有三個引數,這主要是poly2起到了作用,意思是二階擬合。

Matlab曲線擬合fit命令1 第4張

(04)出現上述情況可以說明已經擬合成功,但是擬合的效果怎麼樣呢?plot(ff,bb,aa);看圖來說,效果還不錯。

Matlab曲線擬合fit命令1 第5張

(05)我們可以計算一下它們之間的差值。cc = -0.4185*bb.^2+1.136*bb-0.05554;dd = cc-aa;plot(dd);std(dd)ans =0.1665

Matlab曲線擬合fit命令1 第6張

(06)當然,後面的poly2也可以改成為poly10或者其他數值,後面的數值表示階數,在比較簡單的圖形中,少量的階數就可以很好的進行資料擬合,但是如果複雜的圖形的話,就需要較多的階數。比如還是以上圖形,我們使用5階;

Matlab曲線擬合fit命令1 第7張

(07)將二階和五階的圖形全部輸入到figure中,我們再繪製一個sin影象,從0~pi。從影象可以看出,五階的幾乎與sin影象重合了。因此階數越高,其函式擬合效果越好,當然計算所需的時間就會越長。

Matlab曲線擬合fit命令1 第8張
熱門標籤