finding the top ten values of arrary

2 次查看(过去 30 天)
Hello, I have an array a,i want to find the top ten max values and thier indexes , how i can do that , Thanks ?
  1 个评论
Azzi Abdelmalek
Azzi Abdelmalek 2012-7-21
if there are many equals numbers, what you want to do, take them all? in this case there will be more than 10 values.

请先登录,再进行评论。

采纳的回答

per isakson
per isakson 2012-7-21
编辑:per isakson 2012-7-21
Try this:
M = magic(4);
N = 10;
[ b, ix ] = sort( M(:), 'descend' );
[ rr, cc ] = ind2sub( size(M), ix(1:N) );
for ii = 1 : N
disp( M( rr(ii), cc(ii) ) )
end

更多回答(1 个)

Azzi Abdelmalek
Azzi Abdelmalek 2012-7-21
编辑:Azzi Abdelmalek 2012-7-21
% try this
a=[1 2 7 8 8 5 20 20 40 0 1 8 77 77 87 87 52 36 87 12 78]';
c=flipud(unique(sort(a))),
result=c(1:10); %top ten
ind=find(a>=c(10)) %their indices
resultat=flipud(sortrows([a(ind) ind],1))
% because there equals number , there is more than 10 classed. if you want take only %10 include this code
resultat1=resultat(1:10,:)

类别

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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by