% Libro MdM Circuiti 2007 Esempio 5.8 pag 237
% soluzione con due metodi diversi
function p
clear
format short g
format compact
sq2 = sqrt(2);
R1 = 10;
R2 = 5;
R3 = 5;
C = 1000e-6;
L = 200e-3;
Jm = 5;
Em = 5*exp(1i*pi/4)
omega = 100;
XL = omega*L
XC = 1/(omega*C)
ZL = 1i*XL
ZC = -1i*XC
Y1 = 1/R1
Y2 = 1/R2
Y3 = 1/R3
YL = 1/ZL
YC = 1/ZC
disp(' matrice delle ammettenze di nodo ')
Y = [ Y1+Y2+YL -Y2-YL
-Y2-YL Y2+YL+Y3+YC]
disp(' vettore colonna dei termini noti ')
bm = [Jm Em/R3]' % WRONG: l'apice non fa solo il trasposto, ne fa anche il coniugato
bm = [Jm Em/R3].' % OK: solo trasposto, senza coniugato
bm = conj([Jm Em/R3]') % OK
bm = [Jm; Em/R3] % OK
disp(' soluzione ')
Um = Y\bm
disp(' verifica prodotto Y*Um ')
Y*Um
Um1 = Um(1);
Um2 = Um(2);
VLm = Um1 - Um2
aVLm = abs(VLm)
alphaL = angle(VLm)
disp(['' 'verifica LKC nodo 1 ' ''])
I1m = Um1/R1;
I2m = VLm/R2;
ILm = VLm/ZL;
I1m+I2m+ILm-Jm
disp(['' 'verifica LKC nodo 2 ' ''])
ICm = Um2/ZC;
I3m = (Um2-Em)/R3;
ICm + I3m - I2m - ILm
%%
% metodo alternativo con Thevenin ai morsetti 1 2
disp(' ')
disp(' ')
V10 = R1*Jm
VC0 = Em*ZC/(R3+ZC)
E0 = V10-VC0
Z0 = R1 + paral(R3,ZC)
Z2L = paral(R2,ZL)
VLm = E0*Z2L/(Z0+Z2L)
function Z = paral(Z1,Z2)
Z = Z1.*Z2./(Z1+Z2);