# Solving Symbolic equations by solve command

16 views (last 30 days)

Show older comments

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.

##### 0 Comments

### Answers (3)

Star Strider
on 19 Jun 2015

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 Comments

Star Strider
on 21 Jun 2015

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
on 19 Jun 2015

Edited: Walter Roberson
on 19 Jun 2015

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 Comments

Walter Roberson
on 19 Jun 2015

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
on 19 Jun 2015

Angelo Mark Reyes
on 16 Apr 2024

% 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

##### 0 Comments

### See Also

### Categories

### Products

### Community Treasure Hunt

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

Start Hunting!