Solving a linear system equations with variables on both sides

9 vues (au cours des 30 derniers jours)
Ali Baig
Ali Baig le 17 Nov 2017
Commenté : Walter Roberson le 23 Nov 2020
I am trying to solve a linear system of equation in which variables occur on both sides.
Lu = [Lu1; Lu2; Lu3]
A = [1 2 3; 4 5 6; 7 8 9];
B = [U1; U2; U3];
In this system, I know Lu1, U2, and U3 and none of them is zero. Is there a way to solve this system of equations?

Réponses (3)

Walter Roberson
Walter Roberson le 17 Nov 2017
If the system is Lu'*A == B, then that is 9 equations in 3 unknowns. If you proceed to solve one variable at a time, then after you have solved for all three variables you reach the system
[ U2 == U2, U2 == U2, U2 == U2]
[ U2 == U2, U2 == U2, U2 == U2]
[ U2 == U3, U2 == U3, U2 == U3]
so the system can only be solved in the case that U2 == U3
  2 commentaires
joe kangas
joe kangas le 22 Nov 2020
this is a system with three unknowns and three equations, not 9. This problem comes up a lot in finite element solutions and as far as I'm aware there's not a straight forward general soltution. I believe they are itterative
Walter Roberson
Walter Roberson le 23 Nov 2020
If the system is Lu'*A == B' then
Lu = sym('Lu', [3 1], 'real');
A = [1 2 3; 4 5 6; 7 8 10]; %note original 7 8 9 is not full rank
B = sym('U', [3,1], 'real');
Lu'*A == B'
ans = 
So that is three equations in six unknowns.
%Lu' == B' * inv(A)
%Lu' == B'/A
%Lu = (B'/A)'
left_LU_solution = (B'/A)'
left_LU_solution = 
On the other hand if the equations were
A*Lu == B
ans = 
Then that would be a system of 9 equations in 6 unknowns:
right_Lu_solultion = A\B
right_Lu_solultion = 

Connectez-vous pour commenter.


Bruno Luong
Bruno Luong le 22 Nov 2020
See my answer in another thread.

Paul
Paul le 22 Nov 2020
Similar problem discussed here

Community Treasure Hunt

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

Start Hunting!

Translated by