crossover1.asv

来自「请大家看一看, 我编的这个用遗传算法求 f(x)=xsin(10pi*x)+2」· ASV 代码 · 共 20 行

ASV
20
字号
%遗传算法中交叉部分程序;
%采用单点交叉的方式,随机选中其中的一位,作为交叉点.
function newpop=crossover1(oldpop,pc)
[px,py]=size(oldpop); 
crosssite=round(rand*py);
 for i=1:2:px
if rand<pc
      newpop(i,:)=[oldpop(i,1:crosssite) oldpop(i+1,crosssite+1:py)];
      newpop(i+1,:)=[oldpop(i+1,1:crosssite) oldpop(i,crosssite+1:py)];
  else
      newpop(i,:)=oldpop(i,:);
      newpop(i+1,:)=oldpop(i+1,:); 
end
end
         




⌨️ 快捷键说明

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