MATLAB Answers

0

find index of last 5 largest values in cell array

Latest activity Commented on by Star Strider
on 24 Aug 2015
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

  0 Comments

Sign in to comment.

1 Answer

Answer by Star Strider
on 24 Aug 2015
 Accepted Answer

This works:
[as,idx] = sort(cell2mat(a),'descend');
result = idx(1:5);

  2 Comments

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
My pleasure.
The unique function works for the second problem:
[C,idx] = unique(cell2mat(a));
result = idx(end-4:end);

Sign in to comment.