www.gusucode.com > 探地雷达中的波形反演问题源码程序 > 探地雷达中的波形反演问题源码程序/crossover.m
function [newpop]=crossover(pop,pc) [px,py]=size(pop); newpop=ones(size(pop)); for i=1:2:px-1 if (rand<pc) cpoint=round(mean([rand pc])*py); if cpoint==0 cpoint=1; end newpop(i,:)=[pop(i,1:cpoint) pop(i+1,cpoint+1:py)]; newpop(i+1,:)=[pop(i+1,1:cpoint) pop(i,cpoint+1:py)]; else newpop(i,:)=newpop(i,:); newpop(i+1,:)=newpop(i+1,:); end end end