Solve a system of linear equations in matrix form
1 次查看(过去 30 天)
显示 更早的评论
I want to solve the following system of linear equations.
u1 - u2 = 11.1680
u1 - u4 = 22.8197
u3 - u5 = 8.7093
u5 - u1 = 0.3391
u5 - u2 = 11.4875
So I want to create 2 matrices and set them equal to each other and simply solve them in matrix form.
So here's what I've done:
u=sym('u%d',[5,1]); % u=[u1 ; u2 ; u3 ; u4 ; u5]
Left = [u1-u2 ; u1-u4 ; u3-u5 ; u5-u1 ; u5-u2]; % Left side of the above equation system
Right = [11.1680 ; 22.8197 ; 8.7093 ; 0.3391 ; 11.4875]; % Right side of the above equation system
solve(Left==Right)
but what MATLAB returns is this:
ans =
struct with fields:
u1: [0×1 sym]
u2: [0×1 sym]
u3: [0×1 sym]
u4: [0×1 sym]
u5: [0×1 sym]
What is the problem?
Has anyone any idea how I can solve these equations in matrix form?
0 个评论
采纳的回答
Star Strider
2019-12-9
The problem is that the system is sparse, so you need to use sparse functions with it.
Try this:
Left = [1 -1 0 0 0; 1 0 0 -1 0; 0 0 1 0 -1; -1 0 0 0 1; 0 -1 0 0 1];
u = lsqr(Left,Right)
producing:
u =
-0.0644
-0.3004
1.9476
-2.1104
0.5276
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!