Compare and replace elements in a matrix

1 回表示 (過去 30 日間)
aneps
aneps 2013 年 12 月 26 日
編集済み: Azzi Abdelmalek 2013 年 12 月 26 日
I have a matrix say A=[1 2 3 4 5 6 7 8 9 10] B=[2 5 10]. I want to compare A and B so that 2,5 and 10 (in B) should be replaced with zeros in A. The result should be [1 0 3 4 0 6 7 8 9 0].

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 12 月 26 日
編集済み: Azzi Abdelmalek 2013 年 12 月 26 日
A=[1 2 3 4 5 6 7 8 9 10];
B=[2 5 10];
for k=1:numel(B)
A(ismember(A,B(k))=0;
end
or
A(ismember(A,B))=0
or
A(any(bsxfun(@eq,A,B')))=0

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2013 年 12 月 26 日
Have a look at ismember()

カテゴリ

Help Center および File ExchangeGet Started with MATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by