How to find the position of a row in an array

2 views (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.

Categories

Find more on Multidimensional Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!