Column indexing with condition
조회 수: 8 (최근 30일)
이전 댓글 표시
I have two matrices
A = [1, 0, 0;
0, -2, 0;
0, 0, -3];
B =[1, 2, 3;
4, 5, 6;
7, 8, 9];
I need to find columns in A with negative values (in this example it's 2 and 3 columns) and change the values to opposite in the corresponding columns of B. Basically, I want
B = [1, -2, -3;
4, -5, -6;
7, -8, -9];
Is there a fast way to do this using indexing? I know how to do this with a for loop, but I believe that's not the best solution
댓글 수: 0
채택된 답변
per isakson
2020년 4월 28일
Try this
>> isn = any( A<0, 1 );
>> B(:,isn) = -B(:,isn)
B =
1 -2 -3
4 -5 -6
7 -8 -9
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!