gusucode.com > matlab编程遗传算法计算匹配电路源码程序 > code1/code/MATLAB源代码/matlab_match/ga_control.m

    function [] = ga_control()
%UNTITLED 此处显示有关此函数的摘要
%   此处显示详细说明
Nind=500;   %个体数目,或每个子种群的个体数目 
MAXGEN=400;   %最大遗传代数
SUBPOP=4;    %子种群数 
stu_min=5;
stu_max=7;         
exp_objv=4.5;
[Chrom,num_integer,num_parameter,ObjV,trace,sat_target,gen] = ga_helu_equalizer(Nind,MAXGEN,SUBPOP,stu_min,stu_max,exp_objv);
%if sat_target==0
%    Nind=200;
%    MAXGEN=150;
%    SUBPOP=4;
%    stu_min=6;
%    stu_max=7;
%    [Chrom,num_integer,num_parameter,ObjV,trace,sat_target,gen] = ga_helu_equalizer(Nind,MAXGEN,SUBPOP,stu_min,stu_max,exp_objv);
%end
%if sat_target==0
%    Nind=300;
%    MAXGEN=200;
%    SUBPOP=4;
%    stu_min=6;
%    stu_max=7;
%    [Chrom,num_integer,num_parameter,ObjV,trace,sat_target,gen] = ga_helu_equalizer(Nind,MAXGEN,SUBPOP,stu_min,stu_max,exp_objv);
%end
%if sat_target==0
%    Nind=400;
%    MAXGEN=250;
%    SUBPOP=4;
%    stu_min=8;
%    stu_max=9;
%    [Chrom,num_integer,num_parameter,ObjV,trace,sat_target,gen] = ga_helu_equalizer(Nind,MAXGEN,SUBPOP,stu_min,stu_max,exp_objv);
%end
figure(1);
plot(trace(1:gen,1));hold on;grid;                      %最优解的曲线
legend('解的变化');
%[ObjV,S21_passband,root_mean_square]=helu(Chrom,num_integer,num_parameter);
[BestObjV,Location]=min(ObjV)                  %找出最优解
[ObjV1,S21_passband_delta1,VSWR1_max1,VSWR2_max1]=helu(Chrom(Location,:),num_integer,num_parameter)
BestIndividual=Chrom(Location,:)               %最优解的基因
plot_s21_helu(Chrom(Location,:),num_integer,num_parameter);
load train
sound(y,Fs)
end