MATLAB: Solving linear systems with a function

functionslinear systems

have a circuit that has 5 resistors and 1 applied voltage. Kirchoff's voltage law was applied to 3 loops that gave me 3 linear equations.
v – R2*i2 – R4*i4 = 0
-R2*i2 + R1*i1 + R3*i3 = 0
-R4*i4 – R3*i3 + R5*i5 = 0
from that law Is known:
6 = i1 + i2
4 = i2 + i3
1 = i3 + i5
6 = i4 + i5
using this I made a function that just finds the current in i4 with a given set of values.
values to use: R1 = 1, R2 = 4, R3 = 5, R4 = 1, R5 = 5, v = 100, measured in ohms and volts
function I made to solve this.
function [i4] = I(R1, R2, R3, R4, R5, v)
format shortg;
A = [0 -R2 0 -R4 0 0
R1 -R2 R3 0 0 0
0 0 -R3 -R4 R5 0];
b = [-v; 0; 0;];
x = A\b;
i2 = x(2,:);
i3 = x(3,:);
i4 = i2 + i3;
return
This system is overdetermined, using gauss-jordan in matlab I got x, which give all 6 currents values. With this function i4 = 45, the answer is i4 = 27.638. What do I have wrong in my function or need to add?

Best Answer

I get the same result you do, coding your matrices myself. I would have to see your circuit. (I usually use the node voltage approach, since it’s easier for me.)