how do i find matching row from an array?

I have an array and i want to find matching elements of a variable from the array how do i do that? p = [1 2;3 1]; c = [3 1] if (p == c) doesn't seem to work and i get an error saying matrix dimentions must agree

 採用された回答

Star Strider
Star Strider 2015 年 3 月 16 日

9 投票

Use the ismember function with the 'rows' option:
p = [1 2;3 1];
c = [3 1];
[q, idx] = ismember(c, p, 'rows');
The ‘idx’ variable contains the row of ‘p’ that matches the data in ‘c’. The ‘q’ variable tells you if there is a match somewhere (1) or not (0).

2 件のコメント

Wesley
Wesley 2025 年 4 月 21 日
Thanks for your answer! It helped me in a pinch!
Star Strider
Star Strider 2025 年 4 月 21 日
@Wesley — My pleasure!
A Vote would be appreciated!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

タグ

質問済み:

ME
2015 年 3 月 16 日

コメント済み:

2025 年 4 月 21 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by