最小二乘估计
- author:hwb
- version:0.01
- 现代信号处理作业,细节后续再填
matlab仿真代码
clear
clc
set(groot,'defaultLineLineWidth',2) % 设置线宽,不然太小了
N = 100;
x = linspace(-5,5,N);
a0 = 2; a1=3; c= 5;
y = a0*x.^2 + a1*x + c;
ydata = y + 20*randn(1,N);
xmat = [ones(1,size(x,2));x;x.^2];
w = inv(xmat*xmat')*xmat*ydata'; %直接由定义可算
disp(w)
y_fix_self=polyval(w,x);
P=polyfit(x,ydata,2);
y_fix=polyval(P,x);
plot(x,y);
hold on;
scatter(x,ydata);
hold on;
plot(x,y_fix);
hold on;
plot(x,y_fix_self);
legend('原方程','接收数据','内置拟合方程','自定拟合方程')
title('最小二乘估计')
仿真结果
结语
等作业上交完填充细节
另,线性均方仿真可见于: