Non è possibile trovare le soluzioni in forma esplicita
Salve , ho uno strano problema con questo circuito , in pratica quando tento di trovare le soluzioni per t<0 ok tutto a posto ma quando cerco di trovare quelle per t>0 dice che non può trovare le soluzioni in forma esplicita ho provato in tutti i modi ma non capisco quale sia il problema il mio codice è questo :
- Codice: Seleziona tutto
%% Inizializzazione , convenzione di percorrenza delle maglie oraria e
%convenzione dell'utilizzatore
clc
close all
clear all
%% Dati
syms t s
R1=1;
R2=1;
R3=1;
R4=3;
R5=3;
R6=3;
R7=3;
k=3;
milli=1e-3;
C=10*milli;
L=1*milli;
v1neg=-3;
v1pos=3;
j20=4;
w_j2=5;
phi_j2=pi/4;
j2=j20*cos(w_j2*t+phi_j2);
j2fas=j20*exp(j*phi_j2);
id=eye(2);
syms v1 i1 v2 i2 iR7 iR3 iR4 iR6 vL vJ2 iC v1_s vC iR2 vK vSw iL iSw j2_s
%% equazioni topologiche e caratteristiche ho 10 lati e 5 anelli
lkt1=iR7*R7+vL-vJ2+iR6*R6;
lkt2=-iR3*R3-iR4*R4-iR7*R7;
lkt3=iC*R5-v1_s+iC*R1+vC+iR2*R2+iR3*R3;
lkt4=vJ2-vK;
lkt5=-vSw-vL+iR4*R4-iR2*R2;
lkc1=iL-iSw+j2_s+k*iR2;
lkc2=-iL+iR7-iR4;
lkc3=iR2+iR4-iR3;
lkc4=iSw-iR2+iC;
lkc5=-iC+iR3+iR7+iR6;
%% 1)Determinare i coefficienti della matrice ibrida del primo tipo del
% doppio bipolo resistivo compreso fra le porte A-A' e B-B'; ho 5 lati e 3
% anelli
eqdbt1=iR7*R7+v2;
eqdbt2=-iR3*R3-iR4*R4-iR7*R7;
eqdbt3=i1*R5+i1*R2+iR3*R3-v1;
eqdbc1=i2+iR7-iR4;
eqdbc2=i1+iR4-iR3;
sol_db=solve(eqdbt1,eqdbt2,eqdbt3,eqdbc1,eqdbc2,'iR7,v1,i2,iR3,iR4');
H=zeros(2,2);
H(1,1)=subs(sol_db.v1,v2,0)/i1;
H(1,2)=subs(sol_db.v1,i1,0)/v2;
H(2,1)=subs(sol_db.i2,v2,0)/i1;
H(2,2)=subs(sol_db.i2,i1,0)/v2;
H
%% 2)Determinare le correnti iR6 e vR3 per t che è compreso tra -infinito,+infinito e tracciarne il grafico.
%per t<0 l'interruttore è chiuso quindi vSw=0
sol_neg=solve(lkt1,lkt2,lkt3,lkt4,lkt5,lkc1,lkc2,lkc3,lkc4,lkc5,'iR7,vL,vJ2,iR6,iR4,iC,iR2,iR3,vK,iSw');
dvC_neg=subs(sol_neg.iC,vSw,0)/C
diL_neg=subs(sol_neg.vL,vSw,0)/L
Aneg=zeros(2,2);
Bneg=zeros(2,2);
Aneg(1,1)=subs(dvC_neg,[vC iL v1_s j2_s],[1 0 0 0]);
Aneg(1,2)=subs(dvC_neg,[vC iL v1_s j2_s],[0 1 0 0]);
Aneg(2,1)=subs(diL_neg,[vC iL v1_s j2_s],[1 0 0 0]);
Aneg(2,2)=subs(diL_neg,[vC iL v1_s j2_s],[0 1 0 0]);
Bneg(1,1)=subs(dvC_neg,[vC iL v1_s j2_s],[0 0 1 0]);
Bneg(1,2)=subs(dvC_neg,[vC iL v1_s j2_s],[0 0 0 1]);
Bneg(2,1)=subs(diL_neg,[vC iL v1_s j2_s],[0 0 1 0]);
Bneg(2,2)=subs(diL_neg,[vC iL v1_s j2_s],[0 0 0 1]);
Aneg
Bneg
%soluzione stazionaria per t<0
X_staz_neg=-inv(Aneg)*Bneg*[v1neg;0];
vC_staz_neg=X_staz_neg(1)
iL_staz_neg=X_staz_neg(2)
%soluzione sinusoidale per t<0
X_sin_neg=inv(id*j*w_j2-Aneg)*Bneg*[0;j2fas];
vC_sin_neg=abs(X_sin_neg(1))*cos(w_j2*t+angle(X_sin_neg(1)))
iL_sin_neg=abs(X_sin_neg(2))*cos(w_j2*t+angle(X_sin_neg(2)))
% soluzioni complete per t<0
vC_neg=vC_staz_neg+vC_sin_neg
iL_neg=iL_staz_neg+iL_sin_neg
%% per t>0 l'interruttore è aperto iSw=0
sol_pos=solve(lkt1,lkt2,lkt3,lkt4,lkt5,lkc1,lkc2,lkc3,lkc4,lkc5,'iR7,vJ2,iR6,iR4,iC,iR2,iR3,vK,vSw,vL');
