推薦調用Matlab拟合工具:cftool
如下圖:
進行各項設定較為友善。
也附上一段代碼供大家參考:
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位有效數字