How to find the index of top k max values in the matrix

51 views (last 30 days)
A=[ 5 40 10 9 2 1 8 12 33 23]
find index of top 3 max values as:B= [ 2 9 10]
and return the rest index value in another array C=[1 3 4 5 6 7 8]
Thank you.

Accepted Answer

Bruno Luong
Bruno Luong on 24 Jul 2019
>> A=[ 5 40 10 9 2 1 8 12 33 23]
A =
5 40 10 9 2 1 8 12 33 23
>> [~,B]=maxk(A,3)
B =
2 9 10
>> C=setdiff(1:length(A),B)
C =
1 3 4 5 6 7 8
  10 Comments
Hang Vu
Hang Vu on 24 Jul 2019
Thank you so much for the help! and your time also.

Sign in to comment.

More Answers (1)

madhan ravi
madhan ravi on 24 Jul 2019
Edited: madhan ravi on 24 Jul 2019
[~,idx]=sort(A,'descend');
B=idx(1:3)
C=setdiff(idx,B)

Community Treasure Hunt

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

Start Hunting!