2014-09-02 98 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中。