Fast way to replace elements in a matrix?

1 visualización (últimos 30 días)
Salad Box
Salad Box el 29 de En. de 2019
Comentada: madhan ravi el 29 de En. de 2019
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

Más información sobre Get Started with MATLAB 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