Compare and replace elements in a matrix

1 visualizzazione (ultimi 30 giorni)
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].

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 26 Dic 2013
Modificato: Azzi Abdelmalek il 26 Dic 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

Più risposte (1)

Walter Roberson
Walter Roberson il 26 Dic 2013
Have a look at ismember()

Categorie

Scopri di più su Get Started with MATLAB in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by