MATLAB: How do i find matching row from an array

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

Best 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).