天天看點

如何用Matlab進行曲線拟合

推薦調用Matlab拟合工具:cftool

如下圖:

如何用Matlab進行曲線拟合

進行各項設定較為友善。

也附上一段代碼供大家參考:

x=[37 37.5 38 38.5 39 39.5 40 40.5 41 41.5 42 42.5 43];

y=[3.4 3 3 2.27 2.1 1.83 1.53 1.7 1.8 1.9 2.35 2.54 2.9];

p=polyfit(x,y,2); % 拟合出的二次函數的系數

ye=y-polyval(p,x); % 計算誤差

ye2s=sum(ye.^2); % 誤差的平方和

disp(sprintf('誤差的平方和=%d', ye2s));

xx=linspace(min(x),max(x)); % 繪圖用到的點的橫坐标

yy=polyval(p,xx); % 拟合曲線的縱坐标

plot(x,y,'o',xx,yy); % 繪圖,原始資料+拟合曲線

legend('原始資料','拟合曲線'); % 圖示

s=char(vpa(poly2sym(p,'x'),5)); % 二次函數式轉換為字元串,vpa轉換小數,保留5位有效數字

繼續閱讀