Get row no where comparison gives 1
조회 수: 1 (최근 30일)
이전 댓글 표시
Hey i have a cell array:
A={[4x9 cell],[3x9 cell],[2x9 cell]}
A{1,1}= [1,-0.03,0.1,1.3,0,0.23,1,0,0.2; 1,0.6,0.14,2,0,0.6,0.6,0,0.6; 1,-0.15,0,1.4,0,0.35,1,0,0.38; 2,-0.2,0.18,3,0,0.4,0,0,0.4]; similarly values for A{1,2} and A{1,3}
I have compared each row of A{1,1} with every other row in A{1,1} using
A(1:end-1,:)<A(2:end,:)
Now what I want to find is that how can I get the row no's which are being compared at a particular time. For example if row 1 and row 2 are being compared how can I get 1 and 2 in result.
I want to store all elements where result of comparison is 1. for example if row 1 and row 4 gives 1 in result then I want to store the row no where the result is 1 ( like 1 and 4 in this example).
please help.
댓글 수: 0
채택된 답변
Walter Roberson
2018년 1월 2일
repmat((1:size(A,1)-1).', 1, size(A,2)) .* (A(1:end-1,:)<A(2:end,:))
which would give you
0 1 1 1 0 1 0 0 1
0 0 0 0 0 0 2 0 0
3 0 3 3 0 3 0 0 3
for whatever good that would do you.
댓글 수: 10
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!