gusucode.com > 利用遗传算法进行图像分割matlab源码程序 > segment_ga/cross1.m

    function c1=cross1(s_code1,k)
   
   %交叉算子
   
   if k <= 20                                 %交叉概率取0.8,0.6
       pc=0.8; 
   else
       pc=0.6; 
   end
   
   population=10;
   
   
   %(1,2)/(3,4)/(5,6)进行交叉运算,(7,8)/(9,10)复制
   
   ww=s_code1;
   
   for i=1:(pc*population/2)
       r=abs(round(rand(1)*10)-3);
       for j=(r+1):8
           temp=ww(2*i-1,j);
           ww(2*i-1,j)=ww(2*i,j);
           ww(2*i,j)=temp;
       end
   end
   
   c1=ww;