Matrix syntax error question

8 ビュー (過去 30 日間)
Luke Blades
Luke Blades 2016 年 4 月 18 日
コメント済み: Guillaume 2016 年 4 月 18 日
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

採用された回答

Fangjun Jiang
Fangjun Jiang 2016 年 4 月 18 日
index=A>B;
A(index)=B(index);
  1 件のコメント
Guillaume
Guillaume 2016 年 4 月 18 日
Yes, what you're missing is a filter on B. As a one liner:
A(A > B) = B(A > B);

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangePerformance and Memory についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by