find index of last 5 largest values in cell array

3 visualizaciones (últimos 30 días)
I have a cell array of numbers a = {5 ; 6 ; 8 ; 8 ; 10; 1 ; 15 ; 25 ; 10 ; 35 ; 45 ; 3}
I need to find the index of last five largest values in cell array
index = 11,10,8,7,5
How can i do this ?
Thanks a lot

Respuesta aceptada

Star Strider
Star Strider el 24 de Ag. de 2015
This works:
[as,idx] = sort(cell2mat(a),'descend');
result = idx(1:5);
  2 comentarios
Gopalakrishnan venkatesan
Gopalakrishnan venkatesan el 24 de Ag. de 2015
Editada: Gopalakrishnan venkatesan el 24 de Ag. de 2015
Thank you. How to avoid the repetition index , for example if my cell array consists of
a = {10,10,5,10,3,6,6,3,6,9,8}
index = 1, 10, 11 , 6, 3
Star Strider
Star Strider el 24 de Ag. de 2015
My pleasure.
The unique function works for the second problem:
[C,idx] = unique(cell2mat(a));
result = idx(end-4:end);

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by