Solving a linear system equations with variables on both sides

9 次查看(过去 30 天)
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?

回答(3 个)

Walter Roberson
Walter Roberson 2017-11-17
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 个评论
joe kangas
joe kangas 2020-11-22
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 2020-11-23
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 = 

请先登录,再进行评论。


Bruno Luong
Bruno Luong 2020-11-22
See my answer in another thread.

Paul
Paul 2020-11-22
Similar problem discussed here

类别

Help CenterFile Exchange 中查找有关 State-Space Control Design and Estimation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by