Fast way to replace elements in a matrix?

3 visualizzazioni (ultimi 30 giorni)
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 Commenti
Stephen23
Stephen23 il 29 Gen 2019
Modificato: Stephen23 il 29 Gen 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 il 29 Gen 2019
Agree with Stephen , I used find() to explicitly show which row it was.

Accedi per commentare.

Risposta accettata

madhan ravi
madhan ravi il 29 Gen 2019
Modificato: madhan ravi il 29 Gen 2019
idx=all(a>250,2) % logical index
L_idx=find(idx) % linear index , gives row number

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by