Test every element in matrix

5 visualizaciones (últimos 30 días)
Leor Greenberger
Leor Greenberger el 19 de Sept. de 2011
I have an M x N matrix, where I want to test whether each element is greater than some constant a, and if it is, perform some arithmetic to it. The only way I can think of doing this is using 2 For loops nested to select each element and an If statement to perform checking. Is this the best I can do?

Respuesta aceptada

Tigersnooze
Tigersnooze el 19 de Sept. de 2011
You can say something like this, instead of using a loop (assuming the matrix is called A):
A(A > a) = A(A > a) + arithmetic.
"Vectorizing" like this won't have significant speed advantages with smaller matrices, but when the matrix gets bigger you'll see huge time savings. Just a heads up for the future.
  4 comentarios
Sean de Wolski
Sean de Wolski el 19 de Sept. de 2011
Leor, look at ismember:
doc ismember
Leor Greenberger
Leor Greenberger el 19 de Sept. de 2011
Thank you, sir!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by