Compare and replace elements in a matrix

1 view (last 30 days)
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].

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 26 Dec 2013
Edited: Azzi Abdelmalek on 26 Dec 2013
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

More Answers (1)

Walter Roberson
Walter Roberson on 26 Dec 2013
Have a look at ismember()

Community Treasure Hunt

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

Start Hunting!