声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1692|回复: 1

[经典算法] 关于预测控制中kalman滤波的问题

[复制链接]
发表于 2008-3-31 14:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
请问有没有预测控制中的kalman滤波的达人? 卡尔曼滤波用在求解观测器的反馈增益矩阵中,它的matlab程序怎么写?小弟想了很久了,还是写不好~  希望达人给予指点还有就是其中的噪声的协方差阵 q和r应该怎么取? 急切盼望达人解答。。。  qq38093155

[ 本帖最后由 风花雪月 于 2008-4-7 15:28 编辑 ]

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2008-4-7 15:18 | 显示全部楼层
关于kalman预测的matlab程序
  1. %红线是原始曲线,蓝线是预测曲线
  2. t=0.1:0.1:6;;
  3. x=exp(t);
  4. i=1:60;
  5. plot(i,x,'r');
  6. hold on

  7. %%以上是要预测的曲线:y=exp(x);

  8. %系统方程:x(k+1)=fi*x(k)+gm*w(k)
  9. %观测方程:z(k)=h*x(k)+v(k)
  10. fi=1.1052;
  11. h=1;
  12. gm=1;

  13. w=randn(1,60);
  14. v=randn(1,60);

  15. xy(1)=0;
  16. p(1)=0;
  17. z(1)=x(1)+w(1);

  18. R=(std(v)).^2;
  19. Q=(std(w)).^2;
  20. k(1)=fi*p(1)*h'*(h*p(1)*h'-R);

  21. for i=2:60
  22. xy(i)=fi*xy(i-1)+k(i-1)*(z(i-1)-xy(i-1));
  23. p(i)=fi*p(i-1)*fi'-fi*p(i-1)*h'*inv((p(i-1)+R))*h*p(i-1)*fi+Q;%%%%
  24. k(i)=fi*p(i)*h'*inv(h*p(i)*h'+R);
  25. z(i)=x(i)+w(i);
  26. end
  27. n=1:60;
  28. plot(n,xy);
复制代码
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-29 05:54 , Processed in 0.082437 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表