📄 monte_carlo.m
字号:
%Monte-Carlo仿真
clear,clc,close all
n=200;
%----------------
tic;
for kk=1:n
cs;
y(:,:,kk)=x;
end
xx1=y;
time1=toc
%----------------
tic;
for kk=1:n
ccs;
y(:,:,kk)=x;
end
xx2=y;
time2=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
clear ss1 ss2 ss3 ss4;
%-------------------------------------------------------------
t=1:length(z);
figure(1) ;
plot(t*T,RMSE_x1,'k*-',t*T,RMSE_x2,'ko-');
xlabel('跟踪时间(秒)');
ylabel('位移误差(米)');
title('x轴位移均方误差比较');
legend('CS','CCS');
figure(2);
plot(t*T,RMSE_vx1,'k*-',t*T,RMSE_vx2,'ko-');
ylabel('速度误差(米/秒)');
xlabel('跟踪时间(秒)');
title('X轴速度均方误差比较');
legend('CS','CCS');
figure(3) ;
plot(t*T,RMSE_y1,'k*-',t*T,RMSE_y2,'ko-');
xlabel('跟踪时间(秒)');
ylabel('位移误差(米)');
title('y轴位移均方误差比较');
legend('CS','CCS');
figure(4);
plot(t*T,RMSE_vy1,'k*-',t*T,RMSE_vy2,'ko-');
ylabel('速度误差(米/秒)');
xlabel('跟踪时间(秒)');
title('y轴速度均方误差比较');
legend('CS','CCS');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -