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 Kommentare

Stephen23
Stephen23 am 29 Jan. 2019
Bearbeitet: Stephen23 am 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 am 29 Jan. 2019
Agree with Stephen , I used find() to explicitly show which row it was.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

madhan ravi
madhan ravi am 29 Jan. 2019
Bearbeitet: madhan ravi am 29 Jan. 2019

0 Stimmen

idx=all(a>250,2) % logical index
L_idx=find(idx) % linear index , gives row number

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by