您现在的位置:首页 >> 智能优化 >> 内容

m基于GA遗传优化算法的陆基制导系统地面站布设策略matlab仿真,并输出GDOP值

时间:2022/12/8 19:43:12 点击:

  核心提示:02_063m,,包括程序操作录像+参考文献...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/Y52Vkpxu

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分源码

for tt=1:1%为了仿真速度快点,这里只显示某一个时刻的部署结果

    %输出每一时刻的无人机位置    

    if mod(tt,1000) == 1%每1000s更新一次部署,这个1000可以自己修改

       target_pos= [1e3, 10e3, 0]';

    end

 

    N      = 3;%机动站个数,自己可以调整,调整后重新运行即可。 

    MAXGEN = 100;

    NIND   = 50;

    Nums   = 3*N; %

    Chrom  = crtbp(NIND,Nums*10);

 

    %sh

    Areas = [];

    %设置地图的最大范围

    for i = 1:2*N

        Areas = [Areas,[-SCALE;SCALE]];%雷达最大部署范围距离

    end

    for i = 1:N

        Areas = [Areas,[0;100]];%雷达最大部署范围距离

    end

    

    FieldD = [rep([10],[1,Nums]);Areas;rep([0;0;0;0],[1,Nums])];

 

    gen   = 0;

 

    %计算对应的目标值

    tmps         = repmat([400],[1,Nums]);

    X            = tmps;%初始值

    [fobj,Vgdop] = func_obj(X,target_pos);

    E            = fobj;

    Js           = E*ones(NIND,1);

    Objv         = (Js+eps);

    gen          = 0; 

 

    while gen < MAXGEN;   

          gen

          rng(gen);

          Pe0 = 0.995;

          pe1 = 0.005; 

 

          FitnV=ranking(Objv);    

          Selch=select('sus',Chrom,FitnV);    

          Selch=recombin('xovsp', Selch,Pe0);   

          Selch=mut( Selch,pe1);   

          phen1=bs2rv(Selch,FieldD);   

 

          for a=1:1:NIND  

              X1          = phen1(a,:);

              %计算对应的目标值

              [fobj,Vgdop]= func_obj(X1,target_pos);

              JJ(a,1)     = fobj;

              XYp{a}      = X1;

              Vp{a}       = Vgdop;

          end 

          Objvsel=(JJ);    

          [Chrom,Objv]=reins(Chrom,Selch,1,1,Objv,Objvsel);   

          gen=gen+1; 

          %保存参数收敛过程和误差收敛过程以及函数值拟合结论

          Error(gen) = mean(JJ);

    end 

 

    figure;

    plot(Error,'linewidth',2);

    grid on

    xlabel('迭代次数');

    ylabel('遗传算法优化过程');

    %根据优化结果输出部署结果

    figure;    

    [V,I] = min(JJ);

    XY    = XYp{I};

    Gdop  = Vp{a};

    X     = XY(1:length(XY)/3);

    Y     = XY(1+length(XY)/3:2*length(XY)/3);

    Z     = XY(1+2*length(XY)/3:end);

    JZ_pos= [X',Y',Z'];

    x     =-2*SCALE:STEPS:2*SCALE;

    y     =-2*SCALE:STEPS:2*SCALE;

    xx    = [0:0.5:20];

    [c,handle]=contour(x/1e3,y/1e3,Gdop,xx);

    clabel(c,handle);

    hold on;

    plot(JZ_pos(:,1)/1e3,JZ_pos(:,2)/1e3,'r.');

    xlabel('x(km)')

    ylabel('y(km)')

    title('GDOP图')

end

02_063m

3.部分仿真图预览



4.算法概述

        遗传算法的起源可追溯到20世纪60年代初期。1967年,美国密歇根大学J. Holland教授的学生 Bagley在他的博士论文中首次提出了遗传算法这一术语,并讨论了遗传算法在博弈中的应用,但早期研究缺乏带有指导性的理论和计算工具的开拓。1975年, J. Holland等提出了对遗传算法理论研究极为重要的模式理论,出版了专著《自然系统和人工系统的适配》,在书中系统阐述了遗传算法的基本理论和方法,推动了遗传算法的发展。20世纪80年代后,遗传算法进入兴盛发展时期,被广泛应用于自动控制、生产计划、图像处理、机器人等研究领域。  GDOP(Geometric dilution of precision)几何精度因子:包括经度,纬度,高程和时间等因子,称为几何精度因子。本算法的主要目的是通过优化布局策略,使得GDOP达到最小值。

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168