Clear Filters
Clear Filters

In the following in program, I want print only the resultant Matrix D which its sum is zero also their corresponding combinations Matrix E a using any conditional statements

1 view (last 30 days)
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".

Answers (1)

Enrico Gambini
Enrico Gambini on 1 Mar 2022
Edited: Enrico Gambini on 1 Mar 2022
If I got it right...
if ((sum(any(D,'all'))<=1) & (sum(D,'all'))==0 &(sum(any(E,'all'))<=1) & (sum(E,'all'))==0)
fprintf("Matrix D and corresponding Matrix E\n");
else
fprintf("There is no such combination \n");
end

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!