copying matrix values based on a specific value in another column
조회 수: 4 (최근 30일)
이전 댓글 표시
Hello, suppose we have A=[1 1 1 1 2 2 2 2 3 3 3 3]' and B=[3 4 6 7 8 9 0 12 4 5 6 8]', so that C=[A B]. Is there a way I can copy all element values in column 2 corresponding to say all 1 in column 1 then put them in another matrix? The actual matrices am dealing are much much larger than what have given above there. Basically I want to extraxt values from column 2 corresponding to specific values in column 1 for larger matrix.
댓글 수: 0
채택된 답변
Jiri Hajek
2023년 1월 20일
Hi, for this, se use logical indices in MATLAB:
A=[1 1 1 1 2 2 2 2 3 3 3 3]'; B=[3 4 6 7 8 9 0 12 4 5 6 8]'; C=[A B];
selectedRowsLogicalIndices = A == 1;
subsetBdata = B(selectedRowsLogicalIndices)
댓글 수: 2
Jiri Hajek
2023년 1월 20일
You can use all logical operators in the expression, where you define logical indices. Also, note that dates (datetime class) can be compared using <, > operators, so it should be straightforward. So there is no need to convert dates to a different class (e.g. double).
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Type Identification에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!