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