MATLAB: Find elements in one array not in another

ismemberMATLAB

I have
a=1 3 5 6
b=2 4 3 7
I need to find first_set=1 5 6 second_set=2 4 7
I tried
p=ismember(a,b);
first_set=a(~p)
q=ismember(b,a);
second_set=b(~q)
is there an easier way to do this?

Best Answer

try setdiff
doc setdiff
% in above case
first_Set=setdiff(a,b)
second_set=setdiff(b,a)