## finding mismatched elements ~ismember

on 25 Dec 2012

### Matt J (view profile)

``` 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.?

Matt J

### Matt J (view profile)

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.

Andrei Bobrov

### Andrei Bobrov (view profile)

on 25 Dec 2012
```q = A(flag,:);
```

or

```q = A(index,:);
```

## Products

No products are associated with this question.

### Matt J (view profile)

on 25 Dec 2012

```q = setdiff(A,B,'rows')
```

### Walter Roberson (view profile)

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.

http://matlab.wikia.com/wiki/FAQ#Why_is_0.3_-_0.2_-_0.1_.28or_similar.29_not_equal_to_zero.3F

#### Join the 15-year community celebration.

Play games and win prizes!

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi