📄 crossover.m
字号:
function [NewPop]=CrossOver(OldPop,pCross)
[m,n]=size(OldPop);
r=rand(1,m);
y1=find(r<pCross);
len=length(y1);
if len>2 & mod(len,2)==1
y1(len)=[];
end
NewPop=OldPop;
if length(y1)>=2
for i=0:2:length(y1)-2
hidecode=round(rand(1,n));
crossposition=find(hidecode==1);
holdposition=find(hidecode==0);
NewPop(y1(i+1),crossposition)=OldPop(y1(i+1),crossposition);
NewPop(y1(i+1),holdposition)=OldPop(y1(i+2),holdposition);
NewPop(y1(i+2),crossposition)=OldPop(y1(i+2),crossposition);
NewPop(y1(i+2),holdposition)=OldPop(y1(i+1),holdposition);
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -