I want to write a function that calculate the voltage for three junctions A,B and C in the picture below if we know the voltage of V. (G=0V). Did anyone write it before?

1 Comment

Express the currents entering and leaving those three nodes as functions of the node voltages V,Va,Vb,Vc. Expand and rearrange to form a simple linear system of equations. Solve.

Sign in to comment.

 Accepted Answer

function ans = voltage(V,R)
E1 = [R(2)*R(7)+R(1)*R(2)+R(1)*R(7) -R(1)*R(2) 0]
E2 = [-R(3)*R(8)*R(4) R(4)*R(8)*R(7)+R(3)*R(8)*R(4)+R(3)*R(7)*R(4)+R(3)*R(7)*R(8) -R(3)*R(7)*R(4)];
E3 = [0 -R(5)*R(6) R(8)*R(6)+R(5)*R(6)+R(5)*R(8)];
E = [E1;E2;E3];
b = V.*[R(2)*R(7);R(4)*R(8)*R(7);R(8)*R(6)];
ans = E\b;
end

4 Comments

I wrote this code about a week ago for one of my assignments. It works, but you can write it, using permutaions and combinations only in this specific problem.
Disregarding the requirement to implement as a function, this is equivalent but perhaps a bit more compact. Sometimes it's neater to use one or the other method.
% some inputs
V = 10;
R = [1 1 1 1 1 1 1 1];
% coefficient terms
A = [-(1/R(1) + 1/R(2) + 1/R(7)) 1/R(7) 0; ...
1/R(7) -(1/R(3) + 1/R(4) + 1/R(7) + 1/R(8)) 1/R(8); ...
0 1/R(8) -(1/R(5) + 1/R(6) + 1/R(8))];
% constant terms
b = -[V/R(1); V/R(3); V/R(5)];
Vx = A\b % node voltages
The terms are derived from the expressions of presumed node currents.
Then factored as necessary. Both are equivalent and will give a numeric solution for numeric inputs.
If it's desired to find a fully symbolic solution instead:
syms V Va Vb Vc R1 R2 R3 R4 R5 R6 R7 R8
% these are implicitly treated as equal to zero.
IA = (V-Va)/R1 - Va/R2 - (Va-Vb)/R7;
IB = (V-Vb)/R3 - Vb/R4 - (Vb-Vc)/R8 + (Va-Vb)/R7;
IC = (V-Vc)/R5 - Vc/R6 + (Vb-Vc)/R8;
S = solve([IA,IB,IC],[Va Vb Vc]); % solve
% show the solutions
S.Va
S.Vb
S.Vc
Thank you both guys. I really don’t know how to appreciate it.
Didn’t expect to have the answer less than a day. And not just one but three answers.
Really thank you

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!