amccormack
amccormack

Reputation: 13927

How to Test if row is in matrix?

I am looking for a way to return the index of where a particular row resides in matrix. I can guarantee every row to be unique, as well as the row to always exist in the matrix. How can I do this in matlab?
For example, Suppose you have a matrix c:

 c =

   1   2   3
   3   2   1

further, you have a matrix b:

b =

   1   2   3

I would like some function func where I could call

func(b,c)
    1

or even just return:

0
1

Upvotes: 10

Views: 10068

Answers (1)

Jonas
Jonas

Reputation: 74940

Use ISMEMBER. If every row is unique, and all you want is the index, you can get it as follows (replace ~ by dummy if you're using Matlab pre-2009b).

[~,index] = ismember(b,c,'rows')

Upvotes: 16

Related Questions