Как проверить, есть ли строка в матрице? - PullRequest
10 голосов
/ 29 марта 2011

Я ищу способ вернуть индекс того, где конкретная строка находится в матрице. Я могу гарантировать, что каждая строка будет уникальной, а также строка, которая всегда существует в матрице. Как я могу сделать это в Matlab?
Например, предположим, у вас есть матрица c:

 c =

   1   2   3
   3   2   1

далее у вас есть матрица b:

b =

   1   2   3

Мне нужна функция func, где я могу вызвать

func(b,c)
    1

или даже просто вернуть:

0
1

1 Ответ

16 голосов
/ 29 марта 2011

Использовать ИЗМЕРИТ .Если каждая строка уникальна и вам нужен только индекс, вы можете получить его следующим образом (замените ~ на dummy, если вы используете Matlab до 2009b).

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