How can I use FIND to extract the indices of 1 elements in a 0/1 matrix?
조회 수: 3 (최근 30일)
이전 댓글 표시
I only have some 0/1 matrices and they are generated randomly. How can I define X like this: (please see Matrix image)
The first index of X shows it's in the r-th(r=1) row, the second index shows it's the n-th 1 in that section in that row, and the third index shows it's in the s-th section of that row, and the value of X=K means that it’s the K-th element of that whole row (counting elements from the beginning of that row up to that 1). Here r=1:4 n=1:5 s=1:2
댓글 수: 0
채택된 답변
michael
2016년 10월 3일
[row,col] = find(X) returns the row and column subscripts of each nonzero element in array X
PS: matlab indexes are starting from 1, not from 0
댓글 수: 3
michael
2016년 10월 3일
"X=K means that it’s the K-th element of that whole row" you already have K in the results.
for the r: you have it as output of find
for the s: if col > some number
for the n: sum(A(row,s:col))-1
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!