Solving Symbolic equations by solve command

15 次查看(过去 30 天)
Hi I am trying to solve following system of symbolic equations but I do not know why I am not getting any result.
syms I1 I2 I3 I4 V1 V2 S
C1=3e-9;
C2=2e-9;
C3=C2;
L1=1e-3;
L2=L1;
K=1;
M=sqrt(L1*L2);
eq1=3*I1+(1/(S*C1))*I1+(1/S*C2)*(I1-I2)-V1;
eq2=(1/S*C2)*(I2-I1)+S*L1*I2+S*M*I3;
eq3=S*L2*I3+S*M*I2+(1/S*C3)*(I3-I4);
eq4=3*I4+(1/S*C3)*(I4-I3)-V2;
solve(eq1==0,eq2==0,eq3==0,eq4==0,V1)
I would like to find V1/V2 meaning I like to find V2 based on V1 or vice versa. Can anyone tell me how to do that the final answer should not be dependent on I1, I2, I3 and I4 only to S.
Thanks.

回答(3 个)

Star Strider
Star Strider 2015-6-19
I’m not quite sure what network you’re analysing. One problem is that while your first equation is correct in terms of the capacitive reactances 1/(s*C), the others are incorrect. Also, I don’t see any equations relating ‘I1’ or ‘I2’ in terms of ‘I3’ or ‘I4’. The systems seem to be unconnected.
It seems you are using node-voltage analysis. I would solve each branch as a current as a function of the voltages through it (KVL), then develop separate equations for the currents in terms of KCL, just as you would if you were calculating them by hand. Set your equations up for your branch currents (not difficult for systems of small equations), then let MATLAB solve your system from them.
  9 个评论
chess
chess 2015-6-21
Thanks Dear Stars but some of your equations are not correct since we have magnetic coupled coil therefore current in one coil affect current in the other therefore for inductor in left we have one term corresponding to L1 and one term to M meaning voltage across the inductor is (SL1I2+SMI3) where I3 is current passing through another inductor. I believe it is easier to write KVL equations
Star Strider
Star Strider 2015-6-21
My analysis corresponds to the discussion on transformer modeling in the textbook I referred to, and my experience in circuit analysis and synthesis. The current through the primary, ‘i3’, produces the current through the secondary, ‘i4’. The primary and secondary are modeled as ‘L1’ and L2 in each circuit, and the induced current by ‘M’ in the expression for ‘v2’.
For what it’s worth, my analysis of your circuit actually works and provides a solution to the transfer function. In node-voltage analysis, KCL applies to the individual branches and to the net currents, and KVL to the nodes.
If your professor believes my analysis is incorrect, ask your professor to correct it, then post the correction here. I am always willing to learn if it turns out my analysis or code are in error.

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2015-6-19
编辑:Walter Roberson 2015-6-19
You have 4 equations in 7 unknowns. You can eliminate I1, I2, I3, I4 by solving for those, but the result is going to be in V1, V2 and S. That does not give you enough information to relate V1 to V2 in terms of S. In order to do that you need two more equations: if you solve 6 equations in 7 unknowns then the results will be in terms of the 7th variable.
Note: when you have a set of equations, you need to solve them for as many variables as there are equations. You might not care what the values are of the other variables but you must supply their names to solve() so it knows what to isolate.
  3 个评论
Walter Roberson
Walter Roberson 2015-6-19
If I use the revised equations that Star Strider provided, you can get down to
V1/V2 = V1 * (9 * S^3 + 1750000000 * S^2 + 2250000000000 * S + 250000000000000000000) / (27 * I4 * S^3 + (7500000000 * I4 + 750000000 * V1) * S^2 + 250006750000000000 * I4 * S + 750000000000000000000*I4)
therefore you need at least one more equation, preferably involving I4, in order to fully resolve the system.
Walter Roberson
Walter Roberson 2015-6-19
Solve eq1 for I1. Substitute that value of I1 into the rest of the equations. Solve the first of the substituted equations for I2. Substitute that value of I2 into the rest of the substituted equations. Solve the third (now twice substituted) equations for I3. Substitute that into the last. Now solve the last for V2. You still have not resolved I4 so it will appear. You now have V1 (a given) and V2 in terms of V1 and I4 and S, so you can take V1/V2 to get an expression in V1, I4, and S. But to get it down to being in V1 and S you need one more equation.

请先登录,再进行评论。


Angelo Mark Reyes
Angelo Mark Reyes 2024-4-16
% Variables KVL1 KVL2 eqn1 eqn2 e0
% for symbolic declaration R1 R2 C1 C2 e0 e1(t) e2(t) De1(t) De2(t)
format compact
De1 = diff(e1)
De2 = diff(e2)
% Write the KCL equation for node voltage, e1.
% Use Ohm's law and the current through a capacitor to rewrite the KCL equation for node voltage, e1, in terms of e0, e1, e2, R1, R2, and C1.
KVL1 =
% Write the KCL equation for the node voltage, e2.
% Use Ohm's law and the current through a capacitor to rewrite the KCL equation for node voltage, e2, in terms of e1, e2, R2, and C2.
KVL2 =
% Solve equation for e0.
eqn1 =
% Solve equation for e1.
eqn2 =
% Use algebra to substitute one equation into the other and solve for the dynamic equation.
eqn1 = subs(eqn1,lhs(eqn2),rhs(eqn2))
e0 = rhs(eqn1)
% Simplify equation to solve for the dynamic equation.
e0 =
% Show your equation e0 as human readable text

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by