How to find sum of row vector and check this is equal to 0?
조회 수: 4 (최근 30일)
이전 댓글 표시
A = [0 1 0 0 0 1 ; 1 0 1 0 0 0 ; 0 1 0 1 0 0 ; 0 0 1 0 1 0; 0 0 0 1 0 1 ; 1 0 0 0 1 0];
B = [1; 2; 3; -3; -2; -1];
C = perms (B);
E=C
D=C*A
output:
E = 3 2 1 -1 -2 -3
3 2 1 -1 -3 -2
3 2 1 -2 -1 -3
3 2 1 -2 -3 -1
3 2 1 -3 -1 -2
3 2 1 -3 -2 -1 and so on...
D = -1 4 1 -1 -4 1
0 4 1 -2 -3 0
-1 4 0 0 -5 2
1 4 0 -2 -3 0
0 4 -1 0 -5 2 and so on...
Here i have lot of outputs for E and D.
so, I want print only the resultant Matrix D with two conditions
i) Matrix D has atmost one zero.
ii) Sum of all elements in D = 0.
and also their corresponding combination of Matrix E
by using any conditional statements (example for , if conditions).
- if exist such matrix D & E, then display "Matrix D and corresponding Matrix E"
- if does not exist such Matrix, then display " there is no such combination".
댓글 수: 0
답변 (2개)
David Hill
2022년 3월 1일
편집: David Hill
2022년 3월 1일
idx=sum(D==0,2)<=1&sum(D,2)==0;
d=D(idx,:);
e=E(idx,:);
댓글 수: 1
David Hill
2022년 3월 1일
h=histc(D,unique(D),2);
idx=sum(D==0,2)<=1&sum(D,2)==0&~sum(h>1,2)>0;
d=D(idx,:);
e=E(idx,:);
Walter Roberson
2022년 3월 1일
A = [0 1 0 0 0 1 ; 1 0 1 0 0 0 ; 0 1 0 1 0 0 ; 0 0 1 0 1 0; 0 0 0 1 0 1 ; 1 0 0 0 1 0];
B = [1; 2; 3; -3; -2; -1];
C = perms (B);
E=C;
D=C*A;
mask = sum(D==0,2) <= 1 & sum(D,2) == 0;
D(mask,:)
That sort of thing ??
댓글 수: 4
Walter Roberson
2022년 3월 3일
A = [0 1 0 0 0 1 ; 1 0 1 0 0 0 ; 0 1 0 1 0 0 ; 0 0 1 0 1 0; 0 0 0 1 0 1 ; 1 0 0 0 1 0];
B = [1; 2; 3; -3; -2; -1];
C = perms (B);
E=C;
D=C*A;
[~, F] = mode(D, 2);
mask = sum(D==0,2) <= 1 & sum(D,2) == 0 & F == 1;
D(mask,:)
E(mask,:)
참고 항목
카테고리
Help Center 및 File Exchange에서 Linear Algebra에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!