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

Image Analyst
Image Analyst 2012년 5월 29일
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.

댓글을 달려면 로그인하십시오.

 채택된 답변

Thomas
Thomas 2012년 5월 29일

10 개 추천

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품

태그

질문:

2012년 5월 29일

Community Treasure Hunt

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

Start Hunting!

Translated by