Effacer les filtres
Effacer les filtres

How to eliminate the elements in an array from another array?

12 vues (au cours des 30 derniers jours)
Grace
Grace le 4 Oct 2014
Commenté : JC le 2 Juin 2019
Hi I have two arrays:
a=[ 1 2 3 5 6 7 8 9 100];
b=[1 2 3];
I want to eliminate the elements in b from a and gives me:
c=[5 6 7 8 9 100]
How am I going to do this? Thanks in advance.

Réponses (2)

Guillaume
Guillaume le 4 Oct 2014
Modifié(e) : Guillaume le 4 Oct 2014
Assuming there's no repeating elements in a:
c = setdiff(a, b); %will also remove duplicates in a
If you have repeating elements and want to keep the duplicates:
c = a(~ismember(a, b));
  1 commentaire
JC
JC le 2 Juin 2019
I don't think the second one could keep repeating elements...

Connectez-vous pour commenter.


Zoltán Csáti
Zoltán Csáti le 4 Oct 2014
Simply,
c = a;
c(b) = [];
  1 commentaire
Guillaume
Guillaume le 4 Oct 2014
Modifié(e) : Guillaume le 4 Oct 2014
No! That is completely wrong and only works because elements [1 2 3] also happen to be at index [1 2 3] in a. Try it with b = [100]

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by