uniformcross.m

来自「经典遗传算法」· M 代码 · 共 17 行

M
17
字号
function [Chrom]=UniformCross(Chrom,Pc)
[m,n]=size(Chrom);
k=floor(m/2);
A=Chrom((1:k),:);
B=Chrom((k+1:2*k),:);
for j=1:k
    if rand<Pc 
        for i=1:n
           if floor(2*rand)==0   %采用均匀交叉方法,即随机数值是0的位交叉,1的不交叉 
               l=A(j,i);
               A(j,i)=B(j,i);               
               B(j,i)=l;
           end
        end
    end
end
Chrom=[A;B];

⌨️ 快捷键说明

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