2014-11-30 2 views
1

Заранее спасибо за помощь.быстро найти индексы общих строк в двух матрицах

Предположим, что у меня есть две матрицы: А и В. Я хочу знать, какие строки в А также в В. Для примера, приведенного

A = [1 2; 3 4] and B = [1 2; 5 6; 7 8] 

Я хотел бы выход

out = [1 0]; 

Простой способ сделать это - использовать для циклов, но мои A и B матрицы очень большие. Таким образом, использование для циклов чрезвычайно медленное (для обработки всего двух матриц потребуется несколько часов, и мне нужно сравнить несколько тысяч). Есть ли способ, которым я мог бы это сделать, используя встроенные функции Matlab (которые оптимизированы для обработки операций с матрицами)?

+0

Каковы типовые размеры A и B? У обоих из них всегда есть две колонки? – Divakar

ответ

4

Существует способ сделать это с помощью встроенных функций MATLAB!

out = ismember(A, B, 'rows'); 
+0

Это решение намного лучше, +1 – Rashid

+0

Спасибо. Именно то, что я ищу. – HXSP1947

Смежные вопросы