算法補償中的最小二乘法多項式曲線擬合

因論文中需要使用到最小二乘法來擬合數據曲線,沒有原理推導,只是自學+簡單使用記錄。

Matlab中相關函數:polyfit,polyval(當然matlab中還有許多擬合函數:lsqcurvefit、regress等等)

使用:[P S mu]=polyfit(x,y,n),其中,P-返回n次擬合多項式係數從高到低依次存放於向量P中,S-包含三個值R、df、normr其中R是上三角矩陣係數,df是自由度,normr是殘差平方和,mu-包含兩個值 mean(x)均值,std(x)標準差。

兩個評級指標:決定係數r2(相關係數r的平方)和相對最大殘差ε

                             

St 爲總平方和,Sr爲殘差平方和,ym-y0 爲系統最大測量範圍,決定係數就是相關係數的平方。在Matlab中具體操作如下:

x=[。。。。。。];
y=[。。。。。。];
[p,s]=polyfit(x,y,n);
f=polyval(p,x);
rs=1-s.normr^2/norm(y-mean(y))^2;
e=max(abs(f-y));

x,y爲原始測量數據,rs爲決定係數,e爲最大殘差,n爲多項式階數(n要小於數據個數),圖和指令就不貼了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章