📄 crossover.m
字号:
%交叉操作,概率为0.7,单点交叉
% function pop=crossover(pop)
for i=1:2:39
cross_P=rand; %随机产生一个数,以比较交叉概率
if cross_P<(-0.6*G+180.6)./200 %交叉概率线性变换,由0.9下降到0.3
cross_pos=round(10*rand); %交叉位置为0~9,若位置为0或1,则不进行交叉操作
if or(cross_pos==0,cross_pos==1)
continue;
end
for j=cross_pos:10
temp=pop(i,j);
pop(i,j)=pop(i+1,j);
pop(i+1,j)=temp;
end
end
end
clear i;
clear j;
clear temp;
clear cross_P;
clear cross_pos;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -