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

21 次查看(过去 30 天)
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.

采纳的回答

Bruno Luong
Bruno Luong 2019-7-24
>> 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 个评论

请先登录,再进行评论。

更多回答(1 个)

madhan ravi
madhan ravi 2019-7-24
编辑:madhan ravi 2019-7-24
[~,idx]=sort(A,'descend');
B=idx(1:3)
C=setdiff(idx,B)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by