select.m

来自「Diversos ejemplos sobre la aplicacion de」· M 代码 · 共 19 行

M
19
字号
function y = select(Fitness)

% dado un vector fila con los fitness de los individuos de la poblacion
% selecciona utilizando SELECCION PROPORCIONAL
cuantos = length(Fitness);
sumFitness = sum(Fitness);
aleatorio = rand * sumFitness;  %posicion dentro de la ruleta

%buscando el slot correspondiente
suma = Fitness(1);
j = 1;
while (suma < aleatorio) & (j<cuantos),
    j = j + 1;
    suma = suma + Fitness(j);
end

%retorna el individuo elegido
y = j;

⌨️ 快捷键说明

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