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.

 Accepted Answer

Z = setdiff(X,Y)
or (just for fun):
Z = X(~ismember(X,Y))

1 Comment

Didn't know that function existed. Thanks!

Sign in to comment.

More Answers (0)

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Asked:

on 16 Feb 2011

Community Treasure Hunt

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

Start Hunting!