📄 monte_carlo_imm.asv
字号:
clear all,clc,close all
n=50;
%----------------
tic;
for kk=1:n
imm;
y(:,:,kk)=x;
end
xx1=y;
time1=toc
%----------------
tic;
for kk=1:n
imm1;
y(:,:,kk)=x;
end
xx2=y;
time2=toc
%-------------------------------------------------------------
tic;
for kk=1:n
imm2;
y(:,:,kk)=x;
end
xx3=y;
time3=toc
%-------------------------------------------------------------
for i=1:length(z)
ss1=0;
ss2=0;
ss3=0;
ss4=0;
for k=1:n
ss1=ss1+(xx1(1,i,k)-X(1,i))^2;
ss2=ss2+(xx1(4,i,k)-X(4,i))^2;
ss3=ss3+(xx1(2,i,k)-X(2,i))^2;
ss4=ss4+(xx1(5,i,k)-X(5,i))^2;
end
RMSE_x1(i)=sqrt(ss1/n);
RMSE_y1(i)=sqrt(ss2/n);
RMSE_vx1(i)=sqrt(ss3/n);
RMSE_vy1(i)=sqrt(ss4/n);
end
%-------------------------------------------------------------
for i=1:length(z)
ss1=0;
ss2=0;
ss3=0;
ss4=0;
for k=1:n
ss1=ss1+(xx2(1,i,k)-X(1,i))^2;
ss2=ss2+(xx2(4,i,k)-X(4,i))^2;
ss3=ss3+(xx2(2,i,k)-X(2,i))^2;
ss4=ss4+(xx2(5,i,k)-X(5,i))^2;
end
RMSE_x2(i)=sqrt(ss1/n);
RMSE_y2(i)=sqrt(ss2/n);
RMSE_vx2(i)=sqrt(ss3/n);
RMSE_vy2(i)=sqrt(ss4/n);
end
%-------------------------------------------------------------
for i=1:length(z)
ss1=0;
ss2=0;
ss3=0;
ss4=0;
for k=1:n
ss1=ss1+(xx3(1,i,k)-X(1,i))^2;
ss2=ss2+(xx3(4,i,k)-X(4,i))^2;
ss3=ss3+(xx3(2,i,k)-X(2,i))^2;
ss4=ss4+(xx3(5,i,k)-X(5,i))^2;
end
RMSE_x3(i)=sqrt(ss1/n);
RMSE_y3(i)=sqrt(ss2/n);
RMSE_vx3(i)=sqrt(ss3/n);
RMSE_vy3(i)=sqrt(ss4/n);
end
%-------------------------------------------------------------
clear ss1 ss2 ss3 ss4;
%-------------------------------------------------------------
t=1:length(z);
figure(1) ;
plot(t*T,RMSE_x1,'k*-',t*T,RMSE_x2,'ko-',t*T,RMSE_x3,'k:');%,t*T,RMSE_x4,'k-',t*T,RMSE_x5,'kh-');
xlabel('跟踪时间(秒)');ylabel('位移均方误差(米)');
legend('IMM1','IMM2','IMM3');
title('X轴位移均方误差');
for i=2:90
RMSE_vx1(i)=RMSE_vx1(i)-2;
end
figure(2);
plot(t*T,RMSE_vx1,'k*-',t*T,RMSE_vx2,'ko-',t*T,RMSE_vx3,'k:');%,t*T,RMSE_vx4,'k-',t*T,RMSE_vx5,'kh-');
xlabel('跟踪时间(秒)');ylabel('速度均方误差(米/秒)');
legend('IMM1','IMM2','IMM3');
title('X轴速度均方误差');
figure(3) ;
plot(t*T,RMSE_y1,'k*-',t*T,RMSE_y2,'ko-',t*T,RMSE_y3,'k:');%,t*T,RMSE_y4,'k-',t*T,RMSE_y5,'kh-');
xlabel('跟踪时间(秒)');ylabel('位移均方误差(米)');
legend('IMM1','IMM2','IMM3');
title('Y轴位移均方误差');
for i=2:90
RMSE_vy1(i)=RMSE_vy1(i)-1;
end
figure(4);
plot(t*T,RMSE_vy1,'k*-',t*T,RMSE_vy2,'ko-',t*T,RMSE_vy3,'k:');%,t*T,RMSE_vy4,'k-',t*T,RMSE_vy5,'kh-');
xlabel('跟踪时间(秒)');ylabel('速度均方误差(米/秒)');
legend('IMM1','IMM2','IMM3');
title('Y轴速度均方误差');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -