Return Indices for x Smallest/Largest Values in Array
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Nicholas Sbalbi
il 4 Giu 2020
Commentato: David Hill
il 4 Giu 2020
Is there a clean and elegant way for extracting the indices of the x smallest or largest values in an array? For example say I have an array [1,6,4,9,0] and I want the indices of the 3 smallest values, [1,3,5]. The functions min/max only return the index for the single minimum/maximum.
0 Commenti
Risposta accettata
Più risposte (2)
David Hill
il 4 Giu 2020
[~,idx]=sort(x);
minIdx=idx(1:3);%for minimum 3
maxIdx=idx(end:-1:end-2);%for maximum 3
0 Commenti
Sulaymon Eshkabilov
il 4 Giu 2020
Modificato: Sulaymon Eshkabilov
il 4 Giu 2020
here is one of the possible ways:
A = [...; ...; ...];
[Row1,Col1]=find(max(A(:))==A) % Shows row# and col# of largest element
[Row2,Col2]=find(min(A(:))==A) % Shows row# and col# of smallest element
0 Commenti
Vedere anche
Categorie
Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!