I need to solve a system of equations, without the syms command.
3 次查看(过去 30 天)
显示 更早的评论
%I have a system of equations based off of Kirchoff law (e1-e6) that are
%all simultaneously true. The code works to solve for i4 which is the
%answer needed, but I have to do it without the syms command.
syms i1 i2 i3 i4 i5 i6
e1=v-R2*i2-R4*i4==0; %given equations 1-6
e2=-R2*i2+R1*i1+R3*i3==0;
e3=-R4*i4-R3*i3+R5*i5==0;
e4=i6==i1+i2;
e5=i2+i3==i4;
e6=i1==i3+i5;
eqns=[e1,e2,e3,e4,e5,e6];
vars=[i1 i2 i3 i4 i5 i6];
[A,b] = equationsToMatrix(eqns,vars);
X=double(A\b);
i4=X(4)
%How do I change this code so I can do it without the syms command?
0 个评论
采纳的回答
Cris LaPierre
2021-7-29
8 个评论
Cris LaPierre
2021-7-29
编辑:Cris LaPierre
2021-7-29
Sorry, I was thinking of using current loops. You can use nodes, too. You already have your equations. Just write them in matrix form. x contains the currents (i1-i6), A contains the value to multiply current by, and b contains the resulting value. Just keep track of how you multiply matrices (march across the row of A, and down the columns of x).
For example, you have the equation v-R2*i2-R4*i4==0. I'd rearrange this to be R2*i2+R4*i4=v. In matrix form, this is
To add one of your current equations, use 1s and 0s to create the math. For example, to add this equation: i6=i1+i2 to the matrix, I would rearrange it to be i1+i2-i6=0. In matrix form, that looks like this:
You have 6 unknowns, so you need six equations. Convert your remaining equations to matrix form, and then solve using left division.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Number Theory 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!