Hay varias formas de hacerlo, dependiendo de cómo quiera manejar los valores repetidos. He aquí una solución que encuentra índices de los 5 valores más grandes (que podrían incluir valores repetidos):
[sortedValues,sortIndex] = sort(A(:),'descend'); %# Sort the values in
%# descending order
maxIndex = sortIndex(1:5); %# Get a linear index into A of the 5 largest values
he aquí una solución que encuentra los 5 más grandes valores únicos, a continuación, busca todos los elementos iguales a los valores:
sortedValues = unique(A(:)); %# Unique sorted values
maxValues = sortedValues(end-4:end); %# Get the 5 largest values
maxIndex = ismember(A,maxValues); %# Get a logical index of all values
%# equal to the 5 largest values
Una aclaración: ¿Cómo le gustaría que tratar con elementos repetidos? Por ejemplo, si el número 32 apareció 7 veces, ¿le gustaría obtener índices para los 7, o solo cinco de ellos, o solo 1 de ellos y luego índices para los siguientes 4 elementos más grandes? – gnovice
@Eric Leschinski Por favor, no agregue etiquetas a los títulos, no es necesario y, en general, desalentado por la comunidad (consulte [esta metapublicación para la respuesta oficial sobre este tema] (http://meta.stackexchange.com/a/ 5069/151385)) –