Fast way to replace elements in a matrix?

3 views (last 30 days)
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 Comments
Stephen23
Stephen23 on 29 Jan 2019
Edited: Stephen23 on 29 Jan 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 on 29 Jan 2019
Agree with Stephen , I used find() to explicitly show which row it was.

Sign in to comment.

Accepted Answer

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

More Answers (0)

Community Treasure Hunt

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

Start Hunting!