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()

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!