Matrix syntax error question

10 Ansichten (letzte 30 Tage)
Luke Blades
Luke Blades am 18 Apr. 2016
Kommentiert: Guillaume am 18 Apr. 2016
Hello,
I have 2 matrices 500 x 500, A and B.
I want to replace all values within A which are larger than the corresponding values in B WITH the value in B. Hope that makes sense!
I've tried
A(A>B) = B
But i get the error:
"In an assignment A(I) = B, the number of elements in B and I must be the same."
Do I have my syntax wrong? The two matrices are definitely both 500 x 500.
Many thanks,
Luke Blades

Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 18 Apr. 2016
index=A>B;
A(index)=B(index);
  1 Kommentar
Guillaume
Guillaume am 18 Apr. 2016
Yes, what you're missing is a filter on B. As a one liner:
A(A > B) = B(A > B);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Performance and Memory finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by