⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kalman0127.m

📁 本程序为malab的卡尔曼滤波器
💻 M
字号:
clc;
clear all;
close all;
T=2;
A=[1 T 0 0;0 1 0 0;0 0 1 T;0 0 0 1];
G=[T 0;1 0;0 T;0 1];
H=[1 0 0 0;0 0 1 0];
vx=-15;
vy=-15;
t=400;
alldot=t/T;
i=1:t/T;
rx=2000+vx*i*T;
ry=10000+vy*i*T;
q=1;
Q=[q 0;0 q];
r=10;
R=[r,0; 0,r];
XX=zeros(4,200);
XX(:,1)=[1970;-15;9970;-15];
for j=1:199
XX(:,j+1)=A*XX(:,j)+G*[q*randn(1,1);q*randn(1,1)];
end
for k=1:200
srx(k)=XX(1,k);
sry(k)=XX(3,k); 
end
grx=srx+randn(1,200)*200;
gry=sry+randn(1,200)*200;
Z=[grx;gry];
PP=eye(4);
for k=1:200
    lrx(k)=XX(1,k);
    lry(k)=XX(3,k);   
    X=A*XX(:,k);
    P=A*PP*A'+G*Q*G';
    K=P*H'*inv(H*P*H'+R);
    wk(:,k)=K(:,1);
    XX(:,k)=X+K*[Z(:,k)-H*X];
    PP=[eye(4)-K*H]*P;
end
    figure;plot(rx,ry,'r-',lrx,lry,'k-',grx,gry,'g');
    figure;plot(wk(1,:));
    figure;plot(wk(2,:));
    figure;plot(srx-XX(1,:));hold on; plot(srx-grx,'g');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -