MATLAB改进蒙特卡罗寻找无人机中继空间

程序运行的环境背景

现在有A01-A10十个敌方基地需要进行侦察。

现在派出十个侦察无人机对十个基地分别侦察,侦察无人机的信息需要中继无人机进行传输,且中继无人机与侦察无人机之间距离不能超过一定值。

地方基地会对侦察无与中继无人机人机进行探测,存在暴露的风险;因此需要尽可能减少中继无人机暴露在地方基地的时间。(因为寻找的是最佳中继位置,不考虑侦察无人机的暴露情况)

其中FY-2为中继无人机,FY-1为侦察无人机

ATTACKTARGET中的十个雷达目标区域为侦察目标

程序能实现的功能

1.模拟侦察无人机在敌方基地内的运动

2.对不同空间进行加权(使得中继位置尽可能摆脱敌方监控)

程序流程图

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];

活动空间与优异点的寻找结果

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值