finding mismatched elements ~ismember

2 views (last 30 days)
A = [1 2 3;2 3 4;3 4 5;4 5 6;5 6 7;6 7 8;7 8 9]
B = [2 3 4;6 7 8]
flag = ~ismember(A,B,'rows');
index = find(flag);
q = A(index(flag))
The error is
??? Index exceeds matrix dimensions.
and The index finds only first elements of each row. The remaining two should also find it.. So, how to do it.?
  2 Comments
Matt J
Matt J on 25 Dec 2012
The index finds only first elements of each row. The remaining two should also find it.
This is not clear. Write explicitly what you want "index" and "q" to be.

Sign in to comment.

Accepted Answer

Matt J
Matt J on 25 Dec 2012
q = setdiff(A,B,'rows')

More Answers (1)

Walter Roberson
Walter Roberson on 25 Dec 2012
Are these integers or numbers with fractions? If they are numbers with fractions then you cannot use ismember() in most cases.

Categories

Find more on Structures in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!