could anyone help me to solve the issue in the following matrix

1 view (last 30 days)
I ma having matrix A=[
44 0 0;
0 57 0;
0 1 48]
The sum(A) is 150.
Could anyone please help me how to make the matrix such that sum of each row of the matrix be 50 under the condition the diagonal of the matrix should contain the maximum number greater than 45 and the rest of the place can have the number ranging from 1 to 5.
  2 Comments
Walter Roberson
Walter Roberson on 24 Feb 2020
Well you cannot for that matrix. The second row contains 57 so the minimum sum for the row cannot be less than 57 but you need it to be 50.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 24 Feb 2020
P = rand(3,1)*3+45;
Q = (50 - P - 1).*rand(3,1) + 1;
R = 50 - P - Q;
A = [P, Q, R] ;
Now circshift row 2 by 1 right and circshift row 3 by 2 right.

More Answers (1)

jaah navi
jaah navi on 24 Feb 2020
the entries need not to be restricted.
The numbers can be changed with respect to the following conditions.
the diagonal of the matrix should contain the maximum number greater than 45 and the rest of the number can be in the remaining places of each row.
the sum of each row of the matrix should be 50.

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!