2014-09-02 97 views
0

我有三個數據點,通過它我必須擬合Y = m * X + C形式的直線。我希望線具有預先確定的斜率'm',但常數'C'可以改變以在使用matlab進行擬合時獲得最小誤差。有人可以幫我嗎?最小二乘擬合,未知截圖

+0

什麼錯誤指標?絕對差距? – Daniel 2014-09-02 18:05:24

+1

標準錯誤。總和(Ymeasured-Ypredicted)。^ 2 – gopikrishna 2014-09-02 18:06:58

回答

0

如果您選擇使用曲線擬合工具箱中的解決方案如下。

開始產生一些數據

m = 3; 
x = (1:10).'; 
y = m*x + 2 + randn(size(x)); 

然後選擇模型,以適應和所設定的範圍爲它的係數

ft = fittype('poly1'); 
opts = fitoptions('Method', 'LinearLeastSquares'); 
opts.Lower = [m -Inf]; 
opts.Upper = [m Inf]; 

最後調用擬合程序

[fitresult, gof] = fit(x, y, ft, opts); 

截距存儲在fitresult.p2中。