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

    function Chrom = creat_chrom(Nind,num_integer,variable_range)
%creat_chrom 产生初始种群
%   Nind为种群的个体数目,num_integer为基因中是整数的个数,variable_range给出了每个个体所携带的变量个数和每个变量
%的取值范围,variable_range为2xn的矩阵,n为变量的个数,第一行为变量的下界,第二行为变量的上界
[~,Lind]=size(variable_range);
Range = rep((variable_range(2,:)-variable_range(1,:)),[Nind 1]);
Lower = rep(variable_range(1,:), [Nind 1]);
Chrom=zeros(Nind,Lind);
Chrom(:,1:num_integer)=floor(rand(Nind,num_integer).*(Range(:,1:num_integer)+1))+Lower(:,1:num_integer);
Chrom(:,num_integer+1:Lind)=rand(Nind,Lind-num_integer).*Range(:,num_integer+1:Lind)+Lower(:,num_integer+1:Lind);
end