MATLAB: Creating an array from 2 other arrays

arraysfind functionismembersetdiff

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.

Best Answer

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