Test every element in matrix

14 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 Logical 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