?? 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 + -