How to sort a Matrix
Mostrar comentarios más antiguos
In below code we have a population 'P' of size 'NP' which has two fields 'Position' and 'Cost'. I need to sort the entire population 'P' with respect to field 'Cost' and select top p elements (say p = 4).
clc; clear all;
varMin = -5;
varMax = 5;
D = 3; % Dimension
VarSize = [1 D]; % Decision Variables Matrix Size
NP = 10; % Population size
empty_individual.Position = []; % Field 1
empty_individual.Cost = []; % Field 2
P = repmat(empty_individual, NP, 1); % Population
CostFunction = @(x) sphere(x);
%%Generating random population
for i = 1:NP
P(i).Position = unifrnd(varMin, varMax, VarSize);
P(i).Cost = CostFunction(P(i).Position);
end
% add Code here
sphere.m
function ret = sphere(x)
ret = sum(x.^2);
end
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Matrices and Arrays en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!