Azzera filtri
Azzera filtri

mutual array between two matrix

2 visualizzazioni (ultimi 30 giorni)
alexaa1989
alexaa1989 il 11 Ago 2014
Risposto: Andrei Bobrov il 11 Ago 2014
Hi everyone I need to eradicate mutual arrays between matrix Y and matrix Z and put the rest of Z in another matrix to make more clear:
Y=[8,4,2,1,7,3,5,6];
Z=[5,2,1,6,8,3,4,7];
Now I need to choose for example '2' and '7' in Y and consequently eliminate '2' and '7' in Z and keep the rest of Z (5,1,6,8,3,4) in for example R
can someone tell me how to code that?
thank you all in advance.
  1 Commento
Hikaru
Hikaru il 11 Ago 2014
This question is not that clear to me. What are the conditions to pick '2' and '7' in Y?

Accedi per commentare.

Risposte (3)

Iain
Iain il 11 Ago 2014
Two ways:
R = setdiff(Z,Y);
That'll remove every element of Y that appears in Z.
Aleternatively, use this approach
R = Z;
eliminate_this = Y(1);
R(R == eliminate_this) = [];
You'll need to add in the right loops, and index Y correctly.

Azzi Abdelmalek
Azzi Abdelmalek il 11 Ago 2014
Z=[5,2,1,6,8,3,4,7];
a=[2 7]
Z(ismember(Z,a))=[]

Andrei Bobrov
Andrei Bobrov il 11 Ago 2014
k = [2, 7];
t = ismember(k,Y);
if all(t)
R = Z(~ismember(Z,k));
end

Categorie

Scopri di più su Performance and Memory 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