使用MATLAB估算误差(最小二乘)

时间:2013-02-09 17:06:17

标签: matlab least-squares

我有等式ln(c)= - 1 / 2k ^ 2 * z ^ 2,其中y = ln(c),x = z ^ 2和a = -1 / 2k ^ 2.

我想估算一下a,所以:

a = polyfit(z.^2, log(abs(c)), 1)

因为我有(初始)方程c = exp(-z ^ 2 / 2k ^ 2),从上面我建立了a的两个值,现在我想估计k(k1),所以我这样做:

k1 = sqrt(-1/2*a(1))

现在,我想使用k1和z的值来预测c和错误。所以,我这样做:

c_predict = polyval(a,z)
c1 = exp((-z.^2)/2*k1^2)
error = c_predict - c1

或者只是:

c1 = exp((-z.^2)./2*s1^2)
error1 = c - c1

什么是对的?

error = c_predict - c1

error = c - c1

1 个答案:

答案 0 :(得分:1)

尝试查看规范命令:

相对最小二乘误差= norm(y-y',2)/norm(y)

y是您的原始信号,y'是您测量误差的信号。

请参阅here