matlab中的polyfit函數。


來源:https://blog.csdn.net/zhaluo0051/article/details/77949170

       :https://blog.csdn.net/g28_gwf/article/details/84450935

 

Matlab做線性最小二乘擬合

函數命令為:a=polyfit(x,y,m)    % x,y為對應的自變量,m為需要擬合的最高次冪

                       y=polyval(a,x);      %根據擬合的函數得出x對應的因變量的值

函數表達形式為:f(x)=a1*x^m+...+am*x+a_m+1。

 

當前有數據集

x = 0 : 1 : 21;
y = [3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76 92 76.5 123.2 131.7 150.7 179.3 204 226.5 251.4 281.4];

若想找出一條多項式曲線去描述此數據集,則可使用polyfit()函數與polyval()。

使用polyfit()函數獲得通過當前數據集的擬合結果,最后一個參數為多項式的最高次數。

之后用polyval()函數獲得當前數據集對應的輸出結果。

a = polyfit(x, y, 2);
z = polyval(a, x);

作圖查看擬合結果:

scatter(x, y);
hold on; plot(x, z);

得到圖像:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM