程序运行的环境背景
现在有A01-A10十个敌方基地需要进行侦察。
现在派出十个侦察无人机对十个基地分别侦察,侦察无人机的信息需要中继无人机进行传输,且中继无人机与侦察无人机之间距离不能超过一定值。
地方基地会对侦察无与中继无人机人机进行探测,存在暴露的风险;因此需要尽可能减少中继无人机暴露在地方基地的时间。(因为寻找的是最佳中继位置,不考虑侦察无人机的暴露情况)
![](https://img-blog.csdnimg.cn/img_convert/79fd32b8eb720c245f3b29ab8eee02d9.png)
其中FY-2为中继无人机,FY-1为侦察无人机
ATTACKTARGET中的十个雷达目标区域为侦察目标
程序能实现的功能
1.模拟侦察无人机在敌方基地内的运动
2.对不同空间进行加权(使得中继位置尽可能摆脱敌方监控)
程序流程图
![](https://img-blog.csdnimg.cn/img_convert/76d350fa2bc7e92896c1314967fffb26.png)
MATLAB程序代码
clear
%load('data_xyA.mat');
[r,c]=size(data_xyA);
P=0.7; %暴露在敌方侦察下的权值,权值越小代表越不愿意暴露在敌方监控下
%确定范围
data_min=min(data_xyA)-70;
data_max=max(data_xyA)+70;
N=10; %无人机数量
n=10000; %进行蒙特卡洛的次数
ad_uva_fir=data_xyA+(rand(r,c)-0.5).*2.*70; %确定无人机初始位置
X=[];
Y=[];
coun=[];
for i=1:n
t=0;
w=0;
x1=rand().*(data_max(1)-data_min(1))+data_min(1);
y1=rand().*(data_max(2)-data_min(2))+data_min(2);
for j=1:r
if dis(x1,y1,ad_uva_fir(j,1),ad_uva_fir(j,2))<=50 %保证中继范围内
t=t+1;
if dis(x1,y1,data_xyA(j,1),data_xyA(j,2))<=70 %避开敌方监测范围
w=w+1;
end
end
end
t=t.*P.^(w);
X=[X;x1];
Y=[Y;y1];
coun=[coun;t];
ad_uva_fir=ad_uva_fir*0.5+(data_xyA+(rand(r,c)-0.5).*2.*70).*0.5;
%生成新的侦察无人机坐标,模拟其在侦察区域内的运动
end
re=[X,Y,coun]; %结果的坐标XY,与"得分"
figure(1)
plot3(X,Y,coun,"bo");
hold on;
plot(data_xyA(:,1),data_xyA(:,2),"r*")
figure(2) %对空间与优秀点绘图
id01=find(coun>0);
id112=find(coun>1.2);
id15=find(coun>1.5);
plot(re(id01,1),re(id01,2),"*","Color",[0.6941 1.0000 0.6902]);
hold on;
plot(re(id112,1),re(id112,2),"*","Color",[1.0000 0.4118 0.1608]);
hold on;
plot(re(id15,1),re(id15,2),"V","Color",[0.8314 0.0588 0.0588],"LineWidth",1.5);
hold on;
plot(data_xyA(:,1),data_xyA(:,2),"o","color",[0.0157 0.4824 0.7020],"LineWidth",2)
legend("Activity space","Excellent point","Optimal point","A01-A10");
set(gca,'FontName','Times New Roman');
optimalpoint=[re(id15,1),re(id15,2)];%几个最优点的记录
程序中的坐标数据
data_xyA=[209.480964500000 201.429719200000
383.942655300000 188.251981400000
242.045529000000 157.246413600000
452.833182800000 145.222532600000
341.913926700000 110.527594400000
703.456193700000 134.575356300000
444.974379900000 77.6649609300000
445.963730300000 42.8214574500000
671.908980200000 75.2730604000000
555.034954300000 106.803558800000];
活动空间与优异点的寻找结果
![](https://img-blog.csdnimg.cn/img_convert/5c7bb2ef3e11da4d32a9619508db490d.png)