Extract top 10 values from each row
Mostra commenti meno recenti
Hello,
I have a matrix and wish to keep only the top 10 values in each row and replace all the other (bottom 90) values with zeros. Is there an efficient way to achieve this?
Risposta accettata
Più risposte (1)
Laura Proctor
il 10 Ott 2011
This code will keep the top ten rows and replaces everything from the 11th row on with a zero.
A = rand(100);
A(11:end,:) = 0;
4 Commenti
Fangjun Jiang
il 10 Ott 2011
Maybe need to sort first?
Laura Proctor
il 10 Ott 2011
For the maximum values, you will need to sort:
A = sort(A,'descend');
A(11:end,:) = 0;
Saurabh
il 10 Ott 2011
Saurabh
il 10 Ott 2011
Categorie
Scopri di più su Shifting and Sorting Matrices in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!