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

29 Ansichten (letzte 30 Tage)
Grace
Grace am 4 Okt. 2014
Kommentiert: JC am 2 Jun. 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.

Antworten (2)

Guillaume
Guillaume am 4 Okt. 2014
Bearbeitet: Guillaume am 4 Okt. 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));

Zoltán Csáti
Zoltán Csáti am 4 Okt. 2014
Simply,
c = a;
c(b) = [];
  1 Kommentar
Guillaume
Guillaume am 4 Okt. 2014
Bearbeitet: Guillaume am 4 Okt. 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]

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by