卡尔曼MATLAB-最小二乘法例子的代码

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Ts=1;采样时间s=tf('s');sysc=100/(60*s+1);真实系统的传递函数sysd=c2d(sysc,Ts);t=0:Ts:(Ts*300);u=ones(1,length(t));系统输入ys=lsim(sysd,u,t,0);系统输出ys=ys+10*rand(size(ys));测量量=系统输出+噪声[numd,dend]=LeastSquare(u,ys,3);最小二乘法获取预测系统模型[A,B,C,D]=tf2ss(numd,dend);变换到状态空间形式Len=length(u);N=length(A);系统维数yout=zeros(Len,1);滤波器输出Xh=zeros(N,1);状态变量P=eye(N);Q=0.02*eye(N);系统噪声R=50;测量噪声fori=1:LenXh=A*Xh+B*u(i);P=A*P*A'+Q;K=P*C'*inv(C*P*C'+R);Xh=Xh+K*(ys(i)-C*Xh);P=P-K*C*P;yout(i)=C*Xh;endplot(t,ys,t,yout);

1 / 1
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功