docrossover.m

来自「Genetic Algorithm for two variable」· M 代码 · 共 11 行

M
11
字号
%Define NewChromosome (DoCrossover)
function NewChromosome = DoCrossover(NewChromosome, Index);
[PopulationSize, NumberOfGene] = size(NewChromosome);
NumberOfMating = size(Index, 1);

for i = 1:2:NumberOfMating
    temp = NewChromosome(Index(i), :);
    place = floor(rand*NumberOfGene+1);
    NewChromosome(Index(i),:) = [NewChromosome(Index(i),1:place) NewChromosome(Index(i+1), place+1: NumberOfGene)];
    NewChromosome(Index(i+1),:) = [NewChromosome(Index(i+1), 1:place) temp(:,place+1:NumberOfGene)];
end;

⌨️ 快捷键说明

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