2011-03-29 10 views
9

Estoy buscando una forma de devolver el índice de donde reside una fila en particular en la matriz. Puedo garantizar que cada fila sea única, así como la fila que siempre existe en la matriz. ¿Cómo puedo hacer esto en Matlab?
Por ejemplo, suponga que tiene una matriz c:¿Cómo probar si la fila está en la matriz?

c = 

    1 2 3 
    3 2 1 

más, usted tiene una matriz b:

b = 

    1 2 3 

me gustaría alguna función func donde podría llamar

func(b,c) 
    1 

o simplemente acaba de regresar:

0 
1 

Respuesta

15

Use ISMEMBER. Si cada fila es única y todo lo que desea es el índice, puede obtenerlo de la siguiente manera (reemplace ~ por dummy si está usando Matlab pre-2009b).

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