find index of last 5 largest values in cell array

2 ビュー (過去 30 日間)
Gopalakrishnan venkatesan
Gopalakrishnan venkatesan 2015 年 8 月 24 日
コメント済み: Star Strider 2015 年 8 月 24 日
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

採用された回答

Star Strider
Star Strider 2015 年 8 月 24 日
This works:
[as,idx] = sort(cell2mat(a),'descend');
result = idx(1:5);
  2 件のコメント
Gopalakrishnan venkatesan
Gopalakrishnan venkatesan 2015 年 8 月 24 日
編集済み: Gopalakrishnan venkatesan 2015 年 8 月 24 日
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 2015 年 8 月 24 日
My pleasure.
The unique function works for the second problem:
[C,idx] = unique(cell2mat(a));
result = idx(end-4:end);

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by