天天看點

Matlab 線性拟合 polyfit 結果不準/偏差很大

polyfit 結果不準

由于我的資料來源于實驗,太大沒法放在這裡,直接放代碼和圖展示問題,記此筆記友善後續翻閱

[T30H_Lin, F30H_Lin] = SelectFitData(0.65,2.9,F30H, T30H);
[p,S,mu] = polyfit(T30H_Lin,F30H_Lin,1);  % 函數調用方式與下面有差別
T30H_Lin_Fit = T30H_Lin(1):0.1:20;
F30H_Lin_Fit = polyval(p,T30H_Lin_Fit);

plot(T30H_Lin_Fit, F30H_Lin_Fit)
           
Matlab 線性拟合 polyfit 結果不準/偏差很大
[T30H_Lin, F30H_Lin] = SelectFitData(0.65,2.9,F30H, T30H);
p = polyfit(T30H_Lin,F30H_Lin,1);
T30H_Lin_Fit = T30H_Lin(1):0.1:20;
F30H_Lin_Fit = polyval(p,T30H_Lin_Fit);

plot(T30H_Lin_Fit, F30H_Lin_Fit)
           
Matlab 線性拟合 polyfit 結果不準/偏差很大

結論

p = polyfit(T30H_Lin,F30H_Lin,1);
[p,S,mu] = polyfit(T30H_Lin,F30H_Lin,1);
           

這兩種調用方式結果不一樣,不應該認為傳回值傳回值越多越精确或者說傳回值越多的肯定包含少的

繼續閱讀