视频教程:卡尔曼滤波器的原理以及在MATLAB中的实现

视频教程:卡尔曼滤波器的原理以及在MATLAB中的实现。

最近一个月的所有周末都用在这上面了,希望大家喜欢。(分享自 @优酷) http://t.cn/RPPT9uz



示例代码:

[plain]  view plain  copy
  1. Z=(1:100); %观测值  
  2. noise=randn(1,100); %方差为1的高斯噪声  
  3. Z=Z+noise;  
  4.   
  5. X=[0; 0]; %状态  
  6. P=[1 0; 0 1]; %状态协方差矩阵  
  7. F=[1 1; 0 1]; %状态转移矩阵  
  8. Q=[0.0001, 0; 0 0.0001]; %状态转移协方差矩阵  
  9. H=[1 0]; %观测矩阵  
  10. R=1; %观测噪声方差  
  11.   
  12. figure;  
  13. hold on;  
  14.   
  15. for i=1:100  
  16.   
  17.   X_ = F*X;  
  18.   P_ = F*P*F'+Q;  
  19.   K = P_*H'/(H*P_*H'+R);  
  20.   X = X_+K*(Z(i)-H*X_);  
  21.   P = (eye(2)-K*H)*P_;  
  22.     
  23.   plot(X(1), X(2)); %画点,横轴表示位置,纵轴表示速度  
  24. end  


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值