How to find the position of a row in an array

1 view (last 30 days)
If I have an array like this
R=[1 0 1 1 1;
1 1 0 1 0;
1 0 1 1 0;
0 1 0 1 1;
0 0 1 0 1];
I want to find the position of S in R.
S=[1 0 1 1 0];
Is there a function which takes S as an input and returns me its position in R which is the 3rd row

Answers (2)

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH on 15 Feb 2020
rows=find(all(R==S,2))

Stephen23
Stephen23 on 15 Feb 2020
>> [~,Y] = ismember(S,R,'rows')
Y = 3
  1 Comment
Cantor Set
Cantor Set on 15 Feb 2020
but what if S exists in 2 different rows:
R=[1 1 1; 1 1 1; 2 2 2];
[~,Y] = ismember(S,R,'rows')
Y=1
can it be refiend so that it returns Y=[1 2] ?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!