Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Risoluzione circuito con Matlab

Circuiti, campi elettromagnetici e teoria delle linee di trasmissione e distribuzione dell’energia elettrica

Moderatori: Foto Utenteg.schgor, Foto UtenteIsidoroKZ

1
voti

[1] Risoluzione circuito con Matlab

Messaggioda Foto Utente904 » 27 dic 2013, 19:31

Salve , non capisco cosa sbaglio nel risolvere il seguente circuito potete aiutarmi? la convenzione è dell'utilizzatore il verso di percorrenza delle maglie è anti orario i nodi ho scelto i 4 di sopra da sinistra verso destra
circuits.png
circuits.png (76.92 KiB) Osservato 2174 volte

Codice: Seleziona tutto
%% inizializzazione
clc
close all
clear all
%% Dati
syms t s K iL vS1_s iR1 vL iR3 vC iR2 vJs2 vSw iS1 iSw iC lam
R1=1;
R2=1;
R3=1;
micro=10e-6;
C=10*micro;
L=10*micro;
vS10=10;
vS1_w=100;
vS1_phi=pi/4;
vS1=vS10*cos(vS1_w*t+vS1_phi);
jS2=K*iL;
vS1fas=vS10*exp(j*vS1_phi);
id=eye(2,2);
%% equazioni topologiche e caratteristiche
%convenzione utilizzatore, verso di percorrenza delle maglie antiorario,
%correnti entranti positive
% ho 8 lati quindi 8 equazioni linermenti indipendenti
lkt1=-vS1_s+iR1*R1-vL;
lkt2=vL+iR3*R3-vC;
lkt3=vC+iR2*R2-vJs2;
lkt4=vSw-iR2*R2-iR3*R3-iR1*R1;
lkc1=-iS1-iR1-iSw;
lkc2=iR1-iR3+iL;
lkc3=iR3-iR2+iC;
lkc4=iR2+jS2+iSw;
%% 1)Determinare un valore del coefficiente K(!=0) per t>0 che assicuri
%la stabilità del circuito;
% l'interruttore è aperto per t>0 quindi iSw=0
sol_pos=solve(lkt1,lkt2,lkt3,lkt4,lkc1,lkc2,lkc3,lkc4,'iR1,vL,iR3,iR2,vJs2,vSw,iS1,iC');
dvC_pos=sol_pos.iC/C
diL_pos=sol_pos.vL/L
Apos=zeros(2,2);

%calcoliamo gli autovalori
eq_aut=(-5000-lam)^2+(5000+10000*K)*(5000);
aut=solve(eq_aut,'lam');
pretty(aut)
%si tratta ora di imporre che questi autovalori siano minori di 0 e
%ricavare k  risolvendo la disequazione trovo k>-1
dvC_pos=subs(dvC_pos,K,1/10000)
diL_pos=subs(diL_pos,K,1/10000)
Apos(1,1)=subs(dvC_pos,[iL iSw vC vS1_s],[0 0 1 0]);
Apos(1,2)=subs(dvC_pos,[iL iSw vC vS1_s],[1 0 0 0]);
Apos(2,1)=subs(diL_pos,[iL iSw vC vS1_s],[0 0 1 0]);
Apos(2,2)=subs(diL_pos,[iL iSw vC vS1_s],[1 0 0 0]);
Apos
lam=eig(Apos)
%% 2) L'espressione analitica ed il grafico della potenza istantanea
%assorbita dal resistore R3 per t compreso tra -oo e +oo
%soluzione a regime per t>0
X_sin_pos=inv(id*j*vS1_w-Apos)*[-5000*vS1fas;-5000*vS1fas];
vC_sin_pos=abs(X_sin_pos(1))*cos(vS1_w*t+angle(X_sin_pos(1)));
iL_sin_pos=abs(X_sin_pos(2))*cos(vS1_w*t+angle(X_sin_pos(2)));
pretty(vC_sin_pos);
pretty(iL_sin_pos);

%%soluzione a regime per t<0 l'interruttore è chiuso quindi vSw=0
sol_neg=solve(lkt1,lkt2,lkt3,lkt4,lkc1,lkc2,lkc3,lkc4,'iR1,vL,iR3,iR2,vJs2,iSw,iS1,iC');
dvC_neg=subs(sol_neg.iC,[vSw K],[0 1/10000]/C)
diL_neg=subs(sol_neg.vL,[vSw K],[0 1/10000]/C)
Aneg=zeros(0,0);
Aneg(1,1)=subs(dvC_neg,[iL iSw vC vS1_s],[0 0 1 0]);
Aneg(1,2)=subs(dvC_neg,[iL iSw vC vS1_s],[1 0 0 0]);
Aneg(2,1)=subs(diL_neg,[iL iSw vC vS1_s],[0 0 1 0]);
Aneg(2,2)=subs(diL_neg,[iL iSw vC vS1_s],[1 0 0 0]);
Aneg

%soluzione a regime per t<0
X_sin_neg=inv(id*j*vS1_w-Apos)*[-3/2*vS1fas;-1/2*vS1fas];
vC_sin_neg=abs(X_sin_neg(1))*cos(vS1_w*t+angle(X_sin_neg(1)));
iL_sin_neg=abs(X_sin_neg(2))*cos(vS1_w*t+angle(X_sin_neg(2)));
pretty(vC_sin_neg);
pretty(iL_sin_neg);


%% calcolo del transitorio
lam=eig(Apos)
X0=[subs(vC_sin_neg,t,0);subs(iL_sin_neg,t,0)];
dX0=Apos*X0-5000*subs(vS1,t,0);
%autovalori complessi e coniugati
syms k1c k2c k1i k2i

eqc1= k1c-X0(1)+subs(vC_sin_pos,t,0);
eqc2= k1c*real(lam(1))+k2c*imag(lam(1))-dX0(1)+subs(diff(vC_sin_pos,t),t,0);
sol_kc=solve(eqc1,eqc2,'k1c,k2c');
eval(sol_kc.k1c)
eval(sol_kc.k2c)

eqi1= k1i-X0(2)+subs(iL_sin_pos,t,0);
eqi2= k1i*real(lam(1))+k2i*imag(lam(1))-dX0(2)+subs(diff(iL_sin_pos,t),t,0);
sol_ki=solve(eqi1,eqi2,'k1i,k2i');
eval(sol_ki.k1i)
eval(sol_ki.k2i)
alpha=real(lam(1));
beta=imag(lam(1));
k1c=sol_kc.k1c;
k2c=sol_kc.k2c;
vC_pos_t=exp(alpha*t)*(k1c*cos(beta*t)+k2c*sin(beta*t))+vC_sin_pos;
k1i=sol_ki.k1i;
k2i=sol_ki.k2i;
iL_pos_t=exp(alpha*t)*(k1i*cos(beta*t)+k2i*sin(beta*t))+iL_sin_pos;
T=-1/real(lam(1));
figure(1)
subplot(211), ezplot(vC_sin_neg,[-1,0]),axis auto, title('vC'), grid on, hold on
% subplot(211), ezplot(vC_pos_t,[0,1]),axis auto, grid on, hold on
% subplot(212),ezplot(iL_sin_neg,[-T,0]),axis auto, title('iL'), grid on,hold on
% subplot(212), ezplot(iL_pos_t,[0,T]),axis auto, grid on, hold on
Avatar utente
Foto Utente904
59 2 6
Frequentatore
Frequentatore
 
Messaggi: 244
Iscritto il: 14 ago 2012, 19:32

0
voti

[2] Re: Risoluzione circuito con Matlab

Messaggioda Foto Utentemrc » 28 dic 2013, 11:16

Ciao Foto Utente904.

Foto Utente904, gli schemi elettrici vanno disegnati ed allegati ai post utilizzando FIDOCADJ; questo per un motivo molto importante:
lo schema eseguito con FIDOCADJ può essere modificato da chiunque senza troppo difficoltà, se le spiegazioni lo richiedono, invece una immagine no.
Al seguente link, trovi una guida all' uso:

http://www.electroyou.it/elettrodomus/w ... -per-tonni
Avatar utente
Foto Utentemrc
10,5k 6 11 13
Expert EY
Expert EY
 
Messaggi: 4023
Iscritto il: 16 apr 2009, 9:32


Torna a Elettrotecnica generale

Chi c’è in linea

Visitano il forum: Nessuno e 51 ospiti