cross1.m

来自「在matlab环境下」· M 代码 · 共 20 行

M
20
字号
function pop_cross=cross(popc,pc,bound,cross_size);
[pop_size,chrom_size]=size(popc);
r=rand(1,pop_size);
a=0.34;k=0; p=1;
for i=1:1:pop_size
	if r(i)<pc
		k=k+1;
		b(k)=i;
		if k==2
         popc(b(1),:)=a*popc(b(2),:)+(1-a)*popc(b(1),:);
         popc(b(2),:)=a*popc(b(1),:)+(1-a)*popc(b(2),:);
         k=0;
      end;
      if p<=cross_size
         pop_cross(p,:)=popc(i,:);
         p=p+1;
      end
 	end;
end;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?