我试图将 matlab 移动到遗传算法的 scilab 语法,但是选择函数有错误像这样

问题描述

function [best1,best2] = selection(population)

fitness = zeros(1,length(population));
for i=1:length(population)
    fitness(i) = population(i).fitness;
end

[~,index] = max(fitness);
best1 = population(index);

population(index) = [];
fitness(index) = [];

[~,index] = max(fitness);
best2 = population(index);

结束函数

解决方法

[~,index] = max(fitness); ^ 错误:语法错误,意外的“,”

,

当您不想分配输出参数时使用“~”的语法在 Scilab 中不可用。您必须使用虚拟变量,例如

[dummy,index] = max(fitness)