Selecting required elements from a matrix
조회 수: 7 (최근 30일)
이전 댓글 표시
I have a matrix A which contains 1's and 0's I wish to construct a new matrix B such that it has all the i,j values where A(i,j)=1, i.e B will be 2 X N matrix with its elements as the indices of the elements in matrix A who have a value of 1. for eg: A=[1,0,1,1,0] then B={[1,1];[1,3];[1,4]} Thanks
댓글 수: 1
Matt J
2014년 9월 15일
B={[1,1];[1,3];[1,4]} does not produce a 2xN matrix,
>> B={[1,1];[1,3];[1,4]}
B =
[1x2 double]
[1x2 double]
[1x2 double]
채택된 답변
Guillaume
2014년 9월 15일
편집: Guillaume
2014년 9월 15일
Is this what you're after ?
[row, col] = find(A);
B = [row col]';
I.e. use the two output version of find.
edit: The above answer assumes A is not a row vector. You can use Matt J fix to handle all cases or, if you know that A is a row vector:
[row, col] = find(A);
B = [row; col];
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrices and Arrays에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!