matlab最小二乘法程序,最小二乘法MATLAB程序及结果
最小二乘一次完成算法的MATLAB仿真针对辨识模型,有z(k)-+a1*z(k-1)+a2*z(k-2)=b1*u(k-1)+b2*u(k-2)+v(k)模型结构,对其进行最小二乘一次完成算法的MATLAB仿真,对比真值与估计值。更改a1、a2、b1、b2参数,观察结果。仿真对象:z(k)-1.5*z(k-1)+0.7z(k-2)=u(k-1)+0.5*u(k-2)+v(k)程序如下:u=[-1,
最小二乘一次完成算法的MATLAB仿真
针对辨识模型,有z(k)-+a1*z(k-1)+a2*z(k-2)=b1*u(k-1)+b2*u(k-2)+v(k)模型结构,对其进行最小二乘一次完成算法的MATLAB仿真,对比真值与估计值。更改a1、a2、b1、b2参数,观察结果。
仿真对象:z(k)-1.5*z(k-1)+0.7z(k-2)=u(k-1)+0.5*u(k-2)+v(k)
程序如下:
u=[-1,1,-1,1,1,1,1,-1,-1,-1,1,-1,-1,1,1];%输入信号为一个周期的M序列
z=zeros(1,16);
for k=3:16
z(k)=1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2);%以理想输出值作为观测值
end
subplot(3,1,1)
stem(u)
subplot(3,1,2)
i=1:1:16;
plot(i,z)
subplot(3,1,3)
stem(z),grid on
u,z %显示输入信号与输出观测信号
L=14;
HL=[-z(2) -z(1) u(2) u(1);-z(3) -z(2) u(3) u(2);-z(4) -z(3) u(4) u(3);-z(5) -z(4) u(5) u(4);-z(6) -z(5) u(6) u(5);-z(7) -z(6) u(7) u(6);-z(8) -z(7) u(8) u(7);-z(9) -z(8) u(9) u(8);
-z(10) -z(9) u(10) u(9);-z(11) -z(10) u(11) u(10);-z(12) -z(11) u(12) u(11);-z(13) -z(12) u(13)
u(12);-z(14) -z(13) u(14) u(13);-z(15) -z(14) u(15) u(14)] %给样本矩阵HL赋值
ZL=[z(3);z(4);z(5);z(6);z(7);z(8);z(9);z(10);z(11);z(12);z(13);z(14);z(15);z(16)] %给样本矩阵ZL 赋值
c1=HL'*HL;c2=inv(c1);c3=HL'*ZL;c=c2*c3
a1=c(1),a2=c(2),b1=c(3),b2=c(4)
程序运行结果如下:
u =
-1 1 -1 1 1 1 1 -1 -1 -1 1 -1 -1 1 1
z =
Columns 1 through 9
0 0 0.5000 0.2500 0.5250 2.1125 4.3012 6.4731 6.1988
Columns 10 through 16
3.2670 -0.9386 -3.1949 -
4.6352 -6.2165 -
5.5800 -2.5185
HL =
0 0 1.0000 -1.0000
-0.5000 0 -1.0000 1.0000
-0.2500 -0.5000 1.0000 -1.0000
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)