# location of logical matrix

13 views (last 30 days)
Charms on 22 Aug 2019
Commented: madhan ravi on 22 Aug 2019
Hi I have a 10 x 2 logical matrix and I would need to find out the location of the rows which both columns are ones i.e 1 1.
May I know how I may write for this? Thank you!

madhan ravi on 22 Aug 2019
Edited: madhan ravi on 22 Aug 2019
Since you have a logical matrix it’simply:
ix=all(matrix ,2); % logical indexing is efficient
Wanted=find(ix)

madhan ravi on 22 Aug 2019
Thank you , sir Walter.
>> matrix
matrix =
4×2 logical array
1 1
0 1
1 0
0 1
>> ix=all(matrix ,2)
ix =
4×1 logical array
1
0
0
0
>> Wanted = find(ix) % this is what you want
Wanted =
1
>> matrix(ix,:)
ans =
1×2 logical array
1 1
>>
Charms on 22 Aug 2019
madhan ravi on 22 Aug 2019
While learning always visualize with a simple and short example to understand what's going on.

KSSV on 22 Aug 2019
idx = round(rand(10,2)) ;
vec = [1 1] ;
[c,ia] = ismember(idx,vec,'rows') ;
iwant = find(c) ;
idx(c,:)
idx(iwant,:)