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 Cell Arrays 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!