Ok, puoi scegliere il nodo di riferimento per i potenziali dove vuoi, ma non capisco la motivazione della scelta.Madara02 ha scritto:... Ho mantenuto questo schema, ho scelto e4=0 perché è uno dei due nodi che va a toccare il generatore controllato di corrente. ...
Scusa ma non le capisco proprio; per una KCL devi sommare le correnti di tutti i rami che insistono sul nodo e quelle equazioni non mi sembrano rispettare questa regola base.Madara02 ha scritto:... per t>0 pongo induttore, condensatore e generatore ind. di corrente, rispettivamente come Ils, Vcs, Igs
ho ottenuto queste equazioni:
...
Vista la presenza del generatore Vcs, e che quindi posso scrivere
le KCL le scriverò solo per i nodi 2 e 4


Non vedo come questa matrice possa discendere da quelle tue tre equazioni.Madara02 ha scritto:... In ogni caso ho ottenuto questa matrice:
MC=[G4+G2,-G4,0;
-G4+g, G3+G4-g, 0;
+1,0,-1];
i=[Ils-Igs;0;-Vcs];
PN=MC\i
PS ......
Giusto per non perdere entrambi altro tempo .... prezioso!
... dando una veloce "sistemata" al tuo codice (che senza dubbio potrebbe essere migliorato)
Codice: Seleziona tutto
clear
close all
clc
R1=1;
R2=1;
R3=1;
R4=1;
L=1/5;
C=1/20;
g=2;
G1=1/R1;
G2=1/R2;
G3=1/R3;
G4=1/R4;
w=10;
fase=0;
Ig0=100;
ZL=1j*w*L;
ZC=(-1j)/(w*C);
YL=1/ZL;
YC=1/ZC;
% --- fasoriale t < 0
MZ=[YC+YL+G1+G2+G4,-YL-G4, -YC-G1;
-YL-G4, G3+YL+G4, 0;
-YC-G1, 0, YC+G1 ];
TN=[0; 0; -Ig0];
e=MZ\TN;
Vc0=e(1)-e(3)
Il0=(e(2)-e(1))*YL
V0=real(Vc0);
I0=real(Il0);
%---fasoriale t > 0
MZ=[YC+YL+G1+G2+G4,-YL-G4, -YC-G1;
YL+G4-g, -G3-YL-G4+g, 0;
-YC-G1, 0, YC+G1 ];
TN=[0; 0; -Ig0];
e=MZ\TN;
Vc0=e(1)-e(3)
Il0=(e(2)-e(1))*YL
%---- via CRA ----
syms Vcs Ils Igs
MC=[1,0,-1;
-G4+g,G4-g+G3,0;
g+G2,G3-g,0];
i=[Vcs; -Ils ;-Igs];
PN=MC\i
VR1=PN(1)-PN(3);
VR3=PN(2);
iR1=VR1*G1;
dvCdt=(-iR1+Igs)/C
dvLdt=(PN(2)-PN(1))/L
syms t x1(t) x2(t);
Ig = 100*cos(w*t);
x=[x1(t); x2(t)];
g=[Ig];
A = [-20,0; 0, -10];
B = [20; 5];
Dx = [diff(x1,t)== A(1,:)*x + B(1,:)*g,
diff(x2,t)== A(2,:)*x + B(2,:)*g];
cond_ini = [x1(0)==V0,x2(0)==I0];
S = dsolve(Dx,cond_ini);
vC = simplify(S.x1)
iL = simplify(S.x2)
% ----- The End -----








