Solving a linear system equations with variables on both sides

9 Ansichten (letzte 30 Tage)
Ali Baig
Ali Baig am 17 Nov. 2017
Kommentiert: Walter Roberson am 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?

Antworten (3)

Walter Roberson
Walter Roberson am 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 Kommentare
joe kangas
joe kangas am 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 am 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 = 

Melden Sie sich an, um zu kommentieren.


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

Paul
Paul am 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