Creating an array from 2 other arrays

I need a code that will do the following: Given an array X and another array Y which is smaller than X and every element in Y exists in X, I need to create a third array Z which consists of every element that is in X and NOT in Y.
For example, if X = [1 2 3 4 5] and Y = [1 2 3] then I want the code to return an array Z = [4 5].
Can anyone help write this code for me? I've been trying to do it using the 'find' function but can't get it to work. Thanks for the help.

 Réponse acceptée

Matt Fig
Matt Fig le 16 Fév 2011
Z = setdiff(X,Y)
or (just for fun):
Z = X(~ismember(X,Y))

1 commentaire

Ute123
Ute123 le 16 Fév 2011
Didn't know that function existed. Thanks!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by