📄 monte_carlo_ca.m
字号:
%Monte-Carlo仿真
clear,clc,close all
n=100;
%----------------
tic;
for kk=1:n
ca1;
y(:,:,kk)=x;
end
xx1=y;
time1=toc
%----------------
tic;
for kk=1:n
ca2;
y(:,:,kk)=x;
end
xx2=y;
time2=toc
%----------------
tic;
for kk=1:n
ca3;
y(:,:,kk)=x;
end
xx3=y;
time3=toc
%----------------
tic;
for kk=1:n
ca4;
y(:,:,kk)=x;
end
xx4=y;
time4=toc
%-------------------------------------------------------------
for i=1:length(z)
ss1=0;
ss2=0;
for kk=1:n
ss1=ss1+(xx1(4,i,kk)-X(4,i))^2;
ss2=ss2+(xx1(5,i,kk)-X(5,i))^2;
end
RMSE_x1(i)=sqrt(ss1/n);
RMSE_vx1(i)=sqrt(ss2/n);
end
%-------------------------------------------------------------
for i=1:length(z)
ss1=0;
ss2=0;
for kk=1:n
ss1=ss1+(xx2(4,i,kk)-X(4,i))^2;
ss2=ss2+(xx2(5,i,kk)-X(5,i))^2;
end
RMSE_x2(i)=sqrt(ss1/n);
RMSE_vx2(i)=sqrt(ss2/n);
end
%-------------------------------------------------------------
for i=1:length(z)
ss1=0;
ss2=0;
for kk=1:n
ss1=ss1+(xx3(4,i,kk)-X(4,i))^2;
ss2=ss2+(xx3(5,i,kk)-X(5,i))^2;
end
RMSE_x3(i)=sqrt(ss1/n);
RMSE_vx3(i)=sqrt(ss2/n);
end
%-------------------------------------------------------------
for i=1:length(z)
ss1=0;
ss2=0;
for kk=1:n
ss1=ss1+(xx4(4,i,kk)-X(4,i))^2;
ss2=ss2+(xx4(5,i,kk)-X(5,i))^2;
end
RMSE_x4(i)=sqrt(ss1/n);
RMSE_vx4(i)=sqrt(ss2/n);
end
clear ss1 ss2;
%-------------------------------------------------------------
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-');
%plot(t*T,RMSE_x2,'ko-',t*T,RMSE_x3,'k:',t*T,RMSE_x4,'k-');
xlabel('跟踪时间(秒)');ylabel('位移均方误差(米)');
legend('q=0.01','q=5','q=100','q=1000');
title('位移均方误差');
%legend('q=5','q=100','q=1000');
figure(2) ;
plot(t*T,RMSE_vx1,'k*-',t*T,RMSE_vx2,'ko-',t*T,RMSE_vx3,'k:',t*T,RMSE_vx4,'k-');
%plot(t*T,RMSE_vx2,'ko-',t*T,RMSE_vx3,'k:',t*T,RMSE_vx4,'k-');
xlabel('跟踪时间(秒)');ylabel('速度均方误差(米/秒)');
title('速度均方误差');
legend('q=0.01','q=5','q=100','q=1000');
%legend('q=5','q=100','q=1000');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -