Correzione compito elettrotecnica
Salve , siccome non posso fidarmi degli svolgimenti degli altri ragazzi ho provato a fare un compito da solo posto qui lo svolgimento per sapere se il mio modo di procedere è corretto. Grazie per il vostro aiuto.
La traccia è questa ( ho allegato il circuito in figura) :
Il circuito in figura è a regime per t<0.
1) Determinare i coefficienti della matrice ibrida del primo tipo del doppio bipolo resistivo compreso fra
le porte A-A' e B-B';
2) Determinare le correnti ik e iR3 per t appartenete a (-infinito,+infinito) e tracciarne il grafico;
DATI: R1=R2=R4=R5=1Ω; R2=0.5Ω; C=10mF; L=1mH; k=5;


Ecco il mio codice :
La traccia è questa ( ho allegato il circuito in figura) :
Il circuito in figura è a regime per t<0.
1) Determinare i coefficienti della matrice ibrida del primo tipo del doppio bipolo resistivo compreso fra
le porte A-A' e B-B';
2) Determinare le correnti ik e iR3 per t appartenete a (-infinito,+infinito) e tracciarne il grafico;
DATI: R1=R2=R4=R5=1Ω; R2=0.5Ω; C=10mF; L=1mH; k=5;


Ecco il mio codice :
- Codice: Seleziona tutto
%% Pulizia
clear all
clc
close all
%%Dati
syms t
syms i1 iR3 i2 v1 v2 iK iR2 vL vJ2 vSw vJ1 iL iSw iC j1_s j2_s vC
R1=1;
R2=1;
R4=1;
R5=1;
R2=0.5;
R3=1;
milli=1e-3;
C=10 * milli;
L=1*milli;
k=5;
j1pos=10;
j1neg=-10;
j20=2;
w=10;
phi=pi/4;
j2=j20* cos(w*t+ phi);
R45=0.5 ; %R45=R4//R5=R4*R5/(R4+R5)
j2fas= j20* exp(j*phi);
Id=eye(2,2);
%% 1) Determinare i coefficienti della matrice ibrida del primo tipo del doppio bipolo resistivo compreso fra
%le porte A-A' e B-B'
lkt4db= -v1+ i1*R1-iR3 * R3;
lkt2db= -i2*R2+v2-i2*R45+iR3*R3;
lkc1db=i1+ i2+iR3;
sol_db= solve(lkt4db,lkt2db,lkc1db,'v1,i2,iR3');
H11=subs(sol_db.v1,v2,0)/i1
H22=subs(sol_db.i2,i1,0)/v2
H12=subs(sol_db.v1,i1,0)/v2
H21=subs(sol_db.i2,v2,0)/i1
% 2) Determinare le correnti ik e iR3 per t appartenente a (-infinito,+infinito) e tracciarne il grafico;
%%equazioni topologiche e caratteristiche
lkt1= -k*iR2-vC-vJ2;
lkt2=iR3*R3+iR2*R2+k*iR2-vL-iL*R45;
lkt3=iR2*R2-vSw+vC;
lkt4=-vJ1+j1_s*R1-iR3*R3;
lkc1=j1_s-iR2+iR3+iSw;
lkc2=iR2+iC+iK;
lkc3=iL-iK-j2_s;
lkc4=iC+iSw-j2_s;
%% per t<0 l'interruttore è aperto , quindi isw=0
sol_neg=solve(lkt1,lkt2,lkt3,lkt4,lkc1,lkc2,lkc3,lkc4,'iR3,iK,iR2,vL,vJ2,vSw,vJ1,iC');
dvC_dt_neg=subs(sol_neg.iC,iSw,0)/C
diL_dt_neg=subs(sol_neg.vL,iSw,0)/L
Aneg=zeros(2,2);
Bneg=zeros(2,2);
Aneg(1,1)=subs(dvC_dt_neg,[vC iL j2_s],[1 0 0]);
Aneg(1,2)=subs(dvC_dt_neg,[vC iL j2_s],[0 1 0]);
Aneg(2,1)=subs(diL_dt_neg,[vC iL j1_s],[1 0 0]);
Aneg(2,2)=subs(diL_dt_neg,[vC iL j1_s],[0 1 0]);
Bneg(1,1)=subs(dvC_dt_neg,[vC iL j1_s j2_s],[0 0 1 0]);
Bneg(1,2)=subs(dvC_dt_neg,[vC iL j1_s j2_s],[0 0 0 1]);
Bneg(2,1)=subs(diL_dt_neg,[vC iL j1_s j2_s],[0 0 1 0]);
Bneg(2,2)=subs(diL_dt_neg,[vC iL j1_s j2_s],[0 0 0 1]);
Aneg
Bneg
% soluzioni a regime costante per t<0
X_cost_neg=-pinv(Aneg)*Bneg*[j1neg;0];
vC_cost_neg=X_cost_neg(1);
iL_cost_neg=X_cost_neg(2);
% soluzioni a regime sinusoidale per t<0
X_sin_neg=inv(j*w*Id-Aneg)*Bneg*[0;j2fas];
vC_sin_neg=abs(X_sin_neg(1))*cos(w*t+angle(X_sin_neg(1)));
iL_sin_neg=abs(X_sin_neg(2))*cos(w*t+angle(X_sin_neg(2)));
% soluzioni complete per t<0
vCneg=vC_cost_neg+vC_sin_neg
iLneg=iL_cost_neg+iL_sin_neg
%% per t>0 l'interruttore è chiuso, quindi vsw=0
sol_pos=solve(lkt1,lkt2,lkt3,lkt4,lkc1,lkc2,lkc3,lkc4,'iR3,iK,iR2,vL,vJ2,iSw,vJ1,iC');
dvC_dt_pos=subs(sol_pos.iC,vSw,0)/C
diL_dt_pos=subs(sol_pos.vL,vSw,0)/L
Apos=zeros(2,2);
Bpos=zeros(2,2);
Apos(1,1)=subs(dvC_dt_pos,[vC iL j2_s],[1 0 0]);
Apos(1,2)=subs(dvC_dt_pos,[vC iL j2_s],[0 1 0]);
Apos(2,1)=subs(diL_dt_pos,[vC iL j1_s],[1 0 0]);
Apos(2,2)=subs(diL_dt_pos,[vC iL j1_s],[0 1 0]);
Bpos(1,1)=subs(dvC_dt_pos,[vC iL j1_s j2_s],[0 0 1 0]);
Bpos(1,2)=subs(dvC_dt_pos,[vC iL j1_s j2_s],[0 0 0 1]);
Bpos(2,1)=subs(diL_dt_pos,[vC iL j1_s j2_s],[0 0 1 0]);
Bpos(2,2)=subs(diL_dt_pos,[vC iL j1_s j2_s],[0 0 0 1]);
Apos
Bpos
% soluzioni a regime costante per t>0
X_cost_pos=-inv(Apos)*Bpos*[j1pos;0];
vC_cost_pos=X_cost_pos(1);
iL_cost_pos=X_cost_pos(2);
% soluzioni a regime sinusoidale per t>0
X_sin_pos=inv(j*w*Id-Apos)*Bpos*[0;j2fas];
vC_sin_pos=abs(X_sin_pos(1))*cos(w*t+angle(X_sin_pos(1)));
iL_sin_pos=abs(X_sin_pos(2))*cos(w*t+angle(X_sin_pos(2)));
% soluzioni complete per t>0
vCpos=vC_cost_pos+vC_sin_pos;
iLpos=iL_cost_pos+iL_sin_pos;
%%transitorio
% calcolo degli autovalori
lam=eig(Apos)
% calcolo di vC_t e iL_t
X0=[subs(vCneg,t,0);subs(iLneg,t,0)]
U0=[j1pos;subs(j2,t,0)]
X0p=Apos*X0+Bpos*U0
vCp0_p=subs(vCpos,t,0)
iLp0_p=subs(iLpos,t,0)
dvCp0_dt=subs(diff(vCpos),t,0)
diLp0_dt=subs(diff(iLpos),t,0)
lameq=(lam(1)==lam(2));
notlameq=not(lameq);
M=[lam(1) lameq+lam(2)*notlameq
1 notlameq];
Nc=[X0p(1)-dvCp0_dt;X0(1)-vCp0_p];
Ni=[X0p(2)*diLp0_dt;X0(2)-iLp0_p];
Kc=inv(M)*Nc
Ki=inv(M)*Ni
vC_t=vCpos+Kc(1)*exp(lam(1)*t)+Kc(2)*exp(lam(2)*t)
iL_t=iLpos+Ki(1)*exp(lam(1)*t)+Ki(2)*exp(lam(2)*t)
% calcolo iK e traccio il grafico
iK_neg=eval(subs(sol_neg.iK,[vC iL j1_s j2_s iSw],[vCneg iLneg j1neg j2 0]))
iK_t=eval(subs(sol_pos.iK,[vC iL j1_s j2_s vSw],[vC_t iL_t j1pos j2 0]))
iK_t=eval(iK_t)
iR3_neg=eval(subs(sol_neg.iR3,[vC iL j1_s j2_s iSw],[vCneg iLneg j1neg j2 0]))
iR3_t=eval(subs(sol_pos.iR3,[vC iL j1_s j2_s vSw],[vC_t iL_t j1pos j2 0]))
iR3_t=eval(iR3_t)
T=2*pi/w
Tt=4.05*T
figure(1)
subplot(211), ezplot(iK_neg,[-Tt,0]), hold on, ezplot(iK_t,[0,Tt]),xlim([-10,10]), grid on,
axis auto, hold on
title('Soluzione iK')
subplot(212), ezplot(iK_neg,[-Tt,0]), hold on, ezplot(iK_t,[0,Tt]), grid on,
axis auto
title('Soluzione iR3')