📄 uniformcross.asv
字号:
function [Chorm]=ucross(Chorm,Pc)
[m,n]=size(Chorm);
k=floor(m/2);
A=Chorm((1:k),:);
B=Chorm((k+1:2*k),:);
for j=1:k
if rand<Pc
for i=1:n
if floor(2*rand)==0 %采用均匀交叉方法,即随机数值是0的位交叉,1的不交叉
A(j,i)=B(j,i);
B(j,i)=A(j,i);
end
end
end
end
%[m,n]=size(Chorm);
%k=floor(m/2);
%p=randperm(m);%取1-m的随机全排列
%A=Chorm(p(1:k),:);
%B=Chorm(p(k+1:2*k),:);
%W=floor(2*rand(k,n));%交叉掩码
%W(rand(k,1)>Pc,:)=0; %按概率1-Pc设置掩码为0
%Chorm(p(1:k),:)=(A&~W)|(B&W);
%Chorm(p(k+1:2*k),:)=(B&~W)|(A&W);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -