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

 Accepted Answer

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 Comments

Thanks for your answer! It helped me in a pinch!
@Wesley — My pleasure!
A Vote would be appreciated!

Sign in to comment.

More Answers (0)

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Tags

Asked:

ME
on 16 Mar 2015

Commented:

on 21 Apr 2025

Community Treasure Hunt

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

Start Hunting!