Fast way to replace elements in a matrix?

Hi,
for eample I have an a matrix
a =
245 255 255
254 252 255
251 250 239
rules:
find the row index where all 3 numbers in the row are greater than 250.
Is there a faster way to achieve it than do it in a loop?

2 comentarios

Stephen23
Stephen23 el 29 de En. de 2019
Editada: Stephen23 el 29 de En. de 2019
Note that the question specifically asks for "Fast way to replace elements in a matrix?", and in real code (not just an assignment) logical indexing would likely be used as it avoids the find call:
madhan ravi
madhan ravi el 29 de En. de 2019
Agree with Stephen , I used find() to explicitly show which row it was.

Iniciar sesión para comentar.

 Respuesta aceptada

madhan ravi
madhan ravi el 29 de En. de 2019
Editada: madhan ravi el 29 de En. de 2019
idx=all(a>250,2) % logical index
L_idx=find(idx) % linear index , gives row number

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

el 29 de En. de 2019

Comentada:

el 29 de En. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by