Find elements in one array not in another

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?

1 个评论

Be sure to read and understand the FAQ if you're working with single or double class numbers. http://matlab.wikia.com/wiki/FAQ#Why_is_0.3_-_0.2_-_0.1_.28or_similar.29_not_equal_to_zero.3F Depending on how you get the numbers, they may not be equal even though you think they should be.

请先登录,再进行评论。

 采纳的回答

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

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Matrix Indexing 的更多信息

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by