码迷,mamicode.com
首页 > 其他好文 > 详细

附录2 伪进化曲线

时间:2020-06-21 19:55:37      阅读:48      评论:0      收藏:0      [点我收藏+]

标签:idt   int   输入   一个   const   load   添加   points   条件   

当我们在写论文时,如果论文中的电磁结构是使用遗传算法优化的,那么我们最好给出一个进化曲线。但是我们在设计的时候可能不会去考虑保存进化曲线,这个时候就需要伪造进化曲线,下面提供代码来实现这一功能。

打开shell/GA.m,在倒数第6行处添加两行代码

%添加以下两行代码!!!
global bests;
bests=[(1:gen)‘,(best_points(1:gen))‘];

[a,b]=min(ObjV);
bestChrom=Chrom(b,:);
x=bs2rv(bestChrom,FieldD);
y={a,x};
fprintf(‘Program Finish\n‘);

end

再将usr.m的代码设置如下

%仿真设置
model_name=‘test.cst‘;      %CST模型路径
result_route=‘1D Results\S-Parameters‘;      %仿真结果在Navigation Tree中的路径
plot_mode=‘magnitudedb‘;    %仿真结果的模式,包括‘magnitude‘,‘magnitudedb‘, ‘phase‘, ‘polar‘,  ‘real‘, ‘imaginary‘, ‘smith‘, ‘smithy‘
solver_type=‘FDSolver‘;    %频域求解器:FDSolver  时域求解器:Solver
start_cst=false;    %是否调用CST
 
%变量设置
var_name={‘d‘,‘w‘};    %变量名称
var_bound=[[-10,10];[-10,10]];    %变量变化范围 [ [变量1的下界,变量1的上界] ; [变量2的下界,变量2的上界] ; ...]
inserts=[ ];    %插入指定个体
var_constrain=‘‘;    %变量的限制条件,若无限制请输入‘‘
 
%种群设置
MAXGEN=100;    %最大代数
NIND=20;    %一代中个体的数量
PRECI=20;    %单个变量的二进制位数  
MTR=1;    %变异率(默认值的倍数)
 
%其它设置
plot_graph=2;    %0:不绘制进化曲线  1:每进化一代就更新进化曲线  2:完成最后一代后再绘制进化曲线
plot_ave=false;    %是否显示种群平均值
 


%----------------------------------------------------------------------------------------
global bests
bests=0;
main_function(  model_name, result_route,   plot_mode,  solver_type,  ... 
                            var_name,  var_bound‘,  inserts,  var_constrain,  ...
                            MAXGEN,  NIND,  PRECI,  MTR, ...
                            plot_graph, plot_ave, start_cst);
                      
%JSOP1.3

min_=bests(MAXGEN,2);
max_=bests(1,2);
bests(:,2)=(bests(:,2)-max_)/(max_-min_);
min_=-20;   %期望最小值
max_=-10;    %期望最大值
bests(:,2)=bests(:,2)*(max_-min_)+max_;
plot(bests(:,1),bests(:,2));

其中倒数第四行的min_是您所期望的伪进化曲线的最小值,倒数第三行的max_是您所期望的伪进化曲线的最大值。

运行usr.m,我们得到了如下的伪进化曲线图

技术图片

可以看到,种群从我们期望的最大值-10进化到了期望的最小值-20

 

附录2 伪进化曲线

标签:idt   int   输入   一个   const   load   添加   points   条件   

原文地址:https://www.cnblogs.com/bill-h/p/13173237.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!