sistema impossibile
Salve tentando di risolvere la seguente prova per cui ho utilizzato la convezione dell'utilizzatore:
il mio codice è il seguente:
ho come risultato alle derivate questo :
Non va bene perché il determinante della matrice positiva è 0 e quindi non è invertibile
il mio codice è il seguente:
- Codice: Seleziona tutto
%% Inizializzazione, convenzione percorrenza delle maglie oraria, utilizzatore
clc
clear all
close all
%%Dati
syms t s
R1=1;
R2=1;
R3=1;
R4=2;
R5=2;
R6=2;
R7=2;
k=2;
milli=1e-3;
C=10*milli;
L=1*milli;
v1neg=-10;
v1pos=10;
j20=6;
w_j2=3;
phi_j2=pi/4;
j2=j20*cos(w_j2*t+w_j2);
j2fas=j20*exp(j*phi_j2);
syms i1 i2 v1 v2 iR5 iR7 iR3 vC iR6 vK iR2 iR4 vJ2 v1_s iR1 vSw iSw j2_s iC iL vL
%% equazioni topologiche e caratteristiche ho 12 lati e 6 anelli
lkt1=-iR5*R5-vC+iR6*R6-vK;
lkt2=-iR3*R3-iR7*R7+iR5*R5;
lkt3=-vL+iR2*R2+iR3*R3+iR4*R4;
lkt4=-iR6*R6-vJ2;
lkt5=-v1_s+iR1*R1+vL;
lkt6=-vSw+vC+iR7*R7-iR2*R2;
lkc1=iC-iR5-iR7;
lkc2=iR7+iR2-iR3;
lkc3=-iSw-iR6+j2_s-iC;
lkc4=iR1-iR2-iL+iSw;
lkc5=-iR1+iL+iR4;
lkc6=iR3+iR5-k*iR3*R3-iR4;
% lkc6=iR6-j2_s+k*iR3*R3;
%% 1) Determinare i coefficienti della matrice delle resistenze del doppio
% bipolo resistivo compreso fra le porte A-A' e B-B'; Ho 5 lati e 3 anelli
eqdbt1=-iR5*R5+v2;
eqdbt2=-iR3*R3-iR7*R7+iR5*R5;
eqdbt3=-v1+i1*R2+iR3*R3+i1*R4;
eqdbc1=i2-iR7-iR5;
eqdbc2=iR7-iR3+i1;
sol_db=solve(eqdbt1,eqdbt2,eqdbt3,eqdbc1,eqdbc2,'iR5,v1,v2,iR3,iR7');
R=zeros(2,2);
R(1,1)=subs(sol_db.v1,i2,0)/i1;
R(1,2)=subs(sol_db.v1,i1,0)/i2;
R(2,1)=subs(sol_db.v2,i2,0)/i1;
R(2,2)=subs(sol_db.v2,i1,0)/i2;
R
%% 2)Determinare la tensione vL e la corrente iR6 per t compreso tra
%-infinito e +infinito e tracciarne il grafico
%per t<0 ho l'interruttore chiuso quindi vSw=0
sol_neg=solve(lkt1,lkt2,lkt3,lkt4,lkt5,lkt6,lkc1,lkc2,lkc3,lkc4,lkc5,lkc6,'iR5,iR6,vK,iR3,iR7,vL,iR2,iR4,vJ2,iR1,iSw,iC');
dvC_neg=subs(sol_neg.iC,vSw,0)/C
diL_neg=subs(sol_neg.vL,vSw,0)/L
%%per t>0 ho l'interruttore aperto quindi iSw=0
sol_pos=solve(lkt1,lkt2,lkt3,lkt4,lkt5,lkt6,lkc1,lkc2,lkc3,lkc4,lkc5,lkc6,'iR5,iR6,vK,iR3,iR7,vL,iR2,iR4,vJ2,iR1,vSw,iC');
dvC_pos=subs(sol_pos.iC,iSw,0)/C
diL_pos=subs(sol_pos.vL,iSw,0)/L
ho come risultato alle derivate questo :
- Codice: Seleziona tutto
dvC_neg =
100*v1_s - 100*iL
diL_neg =
(8000*v1_s)/7 - (8000*iL)/7 + (3000*vC)/7
dvC_pos =
100*v1_s - 100*iL
diL_pos =
875*v1_s - 875*iL
Non va bene perché il determinante della matrice positiva è 0 e quindi non è invertibile

