📄 mubiaoy.m
字号:
%%目标跟踪一:匀速直线运动的跟踪
clc;
clear;
t=0:2:400;
v_y=-15;
x0=2000;
y0=10000;%x,y的初始位置
sigma=100;
N=length(t);
w=sigma*randn(1,N);%噪声
y=y0+v_y*t;
X=x0+w;
Y=y+w;
%%%%%%%%%%%%%%%%%%%%%%
N=201;
for i=1:N;
Hy1(i,2)=2*(i-1); %i与t的关系为t=2*(i-1)
Hy1(i,1)=1;
Hx1(i,1)=1;
Zy1(i,1)=Y(1,i);Zx1(i,1)=X(1,i);%设置矩阵的值
end
for i=1:N-1
Hy=Hy1([1:(i+1)],:);
Zy=Zy1([1:(i+1)],:);
Y0k=[(Hy)'*Hy]^(-1)*(Hy)'*Zy;
Yi=Hy1(i+1,:)*Y0k;
Yi_pla(1,1)=Y0k(1,1);%k为200点时的Y0值;
Yi_pla(1,i+1)=Yi;
Hx=Hx1([1:(i+1)],:);Zx=Zx1([1:(i+1)],:);
X0k=[(Hx)'*Hx]^(-1)*Hx'*Zx;
Xi=Hx1(i+1,:)*X0k;
Xi_pla(1,1)=X0k(1,1);%k为200点时的X0值;
Xi_pla(1,i+1)=Xi;
end
figure;plot(x0,y,'b',X,Y,'g',Xi_pla,Yi_pla,'r');
title('运动轨迹');axis([1000 3000 3000 11000]);xlabel('x'),ylabel('y');
legend('目标轨迹理论曲线','目标轨迹观测曲线','目标轨迹估计曲线');
%%%%%用估计出的曲线与真实值相减得出整个误差曲线
y_dif=y-Yi_pla;
x_dif=x0-Xi_pla;
figure;
subplot(221);
plot(x0,y);title('目标轨迹理论曲线');
subplot(222);
plot(X,Y);title('目标轨迹观测曲线');
subplot(223);
plot(Xi_pla,Yi_pla);title('目标轨迹估计曲线');
subplot(224);
plot(t,y_dif,'b',t,x_dif,'g');
title('误差曲线');xlabel('x'),ylabel('y');
legend('y方向误差曲线','x方向误差曲线');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -