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



我有方程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

尝试查看 norm 命令:

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

y是

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

看这里

最新更新