您的位置:首页 > 编程语言 > MATLAB

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

2014-07-15 20:44 531 查看
视频教程:卡尔曼滤波器的原理以及在MATLAB中的实现。

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

示例代码:

Z=(1:100); %观测值
noise=randn(1,100); %方差为1的高斯噪声
Z=Z+noise;

X=[0; 0]; %状态
P=[1 0; 0 1]; %状态协方差矩阵
F=[1 1; 0 1]; %状态转移矩阵
Q=[0.0001, 0; 0 0.0001]; %状态转移协方差矩阵
H=[1 0]; %观测矩阵
R=1; %观测噪声方差

figure;
hold on;

for i=1:100

  X_ = F*X;
  P_ = F*P*F'+Q;
  K = P_*H'/(H*P_*H'+R);
  X = X_+K*(Z(i)-H*X_);
  P = (eye(2)-K*H)*P_;
  
  plot(X(1), X(2)); %画点,横轴表示位置,纵轴表示速度
end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: