finding the top ten values of arrary
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentario
Azzi Abdelmalek
el 21 de Jul. de 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.
Respuesta aceptada
per isakson
el 21 de Jul. de 2012
Editada: per isakson
el 21 de Jul. de 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
Más respuestas (1)
Azzi Abdelmalek
el 21 de Jul. de 2012
Editada: Azzi Abdelmalek
el 21 de Jul. de 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,:)
Ver también
Categorías
Más información sobre Data Types en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!