網站首頁 健康小知識 母嬰教育 起名 運動知識 職場理財 情感生活 綠色生活 遊戲數碼 美容 特色美食 愛好
當前位置:酷知知識幫 > 遊戲數碼 > 電腦

如何用Matlab進行指定函式的曲線擬合

欄目: 電腦 / 釋出於: / 人氣:1.36W

學習的過程中,我們經常需要對一些離散資料進行指定函式的曲線擬合嗎,來驗證一些理論推理,下面我將為大家示範如何使用Matlab進行指定函式的曲線擬合。

如何用Matlab進行指定函式的曲線擬合

操作方法

(01)我們通過阻尼振盪實驗中測得離散資料來進行示範,資料如下:x=[0 0.4 1.2 2 2.8 3.6 4.4 5.2 6 7.2 8 9.2 10.4 11.6 12.4 13.6 14.4 15]';y=[1 0.85 0.29 -0.27 -0.53 -0.4 -0.12 0.17 0.28 0.15 -0.03 -0.15 -0.071 0.059 0.08 0.032 -0.015 -0.02]';我們先通過散點圖來觀察其大致規律:

如何用Matlab進行指定函式的曲線擬合 第2張

(02)由上面的散點圖可知,其對應的函式形式為下圖所示:

如何用Matlab進行指定函式的曲線擬合 第3張

(03)接下我們採用這個函式模型對上面的離散資料進行曲線擬合,程式碼如下:syms tf=fittype('a*cos(k*t)*exp(w*t)','independent','t','coefficients',{'a','k','w'});cfun=fit(x,y,f) %顯示擬合函式,資料必須為列向量形式xi=0:0.1:20;yi=cfun(xi);figureplot(x,y,'r*',xi,yi,'b-');title('擬合函式圖形');figureplot(x,sqrt(y-yi(1:1:18,:).^2/18),'r*');title('標準誤差圖');執行結果如下:

如何用Matlab進行指定函式的曲線擬合 第4張
如何用Matlab進行指定函式的曲線擬合 第5張

(04)由上面的擬合函式圖形和標準誤差圖形可知,擬合函式給出了資料的大致趨勢,結果很好,下面再給出幾個引數值與對應引數的置信區間;

如何用Matlab進行指定函式的曲線擬合 第6張

(05)細心的網友可能看到命令視窗中給出的Warning,其實,因為我們三個引數a,k,w三個引數的初始值未給出導致,因此如果擬合結果不是十分理想,可以多執行幾次。

(06)最後,我們對上述Matlab程式碼所出現的一些函式進行大致介紹,如果想要詳細介紹請參考Matlab說明文件。%自定義擬合函式,在使用時直接模仿下面的引數填寫即可f=fittype('a*cos(k*t)*exp(w*t)','independent','t','coefficients',{'a','k','w'});%根據自定義的擬合函式來擬合數據x,y,注意資料必須為列向量形式cfun=fit(x,y,f)