finding the top ten values of arrary

2 Ansichten (letzte 30 Tage)
khaled DAWOUD
khaled DAWOUD am 21 Jul. 2012
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 Kommentar
Azzi Abdelmalek
Azzi Abdelmalek am 21 Jul. 2012
if there are many equals numbers, what you want to do, take them all? in this case there will be more than 10 values.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

per isakson
per isakson am 21 Jul. 2012
Bearbeitet: per isakson am 21 Jul. 2012
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 Kommentar
khaled DAWOUD
khaled DAWOUD am 21 Jul. 2012
Thanks Very much , i realy appreciated you time and help

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 21 Jul. 2012
Bearbeitet: Azzi Abdelmalek am 21 Jul. 2012
% 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,:)
  1 Kommentar
khaled DAWOUD
khaled DAWOUD am 21 Jul. 2012
Thanks Very much , i realy appreciated you time and help

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Data Types finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by