Extract top 10 values from each row
Mostrar comentarios más antiguos
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?
Respuesta aceptada
Más respuestas (1)
Laura Proctor
el 10 de Oct. de 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 comentarios
Fangjun Jiang
el 10 de Oct. de 2011
Maybe need to sort first?
Laura Proctor
el 10 de Oct. de 2011
For the maximum values, you will need to sort:
A = sort(A,'descend');
A(11:end,:) = 0;
Saurabh
el 10 de Oct. de 2011
Saurabh
el 10 de Oct. de 2011
Categorías
Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!