% Prova d'esame del 2018-01-30 function q clear, format short g, format compact [ST,I] = dbstack; %fprintf(2,['$$$$ ' num2str(100*rand) ' $$$$\n']) fprintf(2,'$$$$ %0.5g $$$$ %s\n', 100*rand,ST.file) %% Quesiti A1 e B1 clear E = 10; J = 2.5; R1 = 2; R2 = 4; R3 = 6; R4 = 6; beta = 3; % dispah(' Quesito A1, Metodo 1: Thevenin ') % Thevenin rimuovendo R2 ed E I10 = J; % corrente (a vuoto) in R1 verso il basso I40 = beta*I10; % corrente (a vuoto) in R3 verso l'alto VJ0 = R1*J; % tensione (a vuoto) in R1 con + in alto V30 = R3*I40; % tensione (a vuoto) in R3 con + in basso E0 = VJ0+V30; % tensione a vuoto con + a sinistra % Per valutare R0 spegniamo J e colleghiamo un generatore esterno di test Jt % I1t = Jt % I3t = I1t + beta*I1t = (1+beta)*Jt % V1t = R1*I1t % + in alto % V3t = R3*I3t = (1+beta)*R3*Jt % + in basso % Vt = V1t + V3t = R1*Jt + (1+beta)*R3*Jt % + a sinistra R0 = R1 + (1+beta)*R3; % = Vt/Jt % I2 = (E0-E)/(R0+R2); P2 = R2*I2^2; disp(table(E0,R0,I2,P2)) disp('%%%%%% nota che R4 non e'' usata %%%%%%') disp(' ') dispah(' Quesito A1, Metodo 2: node analysis ') % 1 nodo in comune tra R1 R2 e J % 2 nodo in comune tra R2 ed E % 3 nodo in comune tra E R3 e beta*i1 % 4 nodo in comune tra beta*i1 e R4 % 5 nodo inferiore di riferimento (u5=0) % % invece dei nodi 2 e 3 meglio considerare il macronodo t23 contenente % i nodi 2 e 3 e il generatore E (metodo potenziali nodali ridotto) % % non occorre considerare l'equazione al nodo 4 perche' la serie di % beta*i1 ed R4 e' equivalente al solo beta*i1 % (volendo si puo' scrivere l'equazione u4/R4 = beta*i1, per poi accorgersi % che essa e' indipendente dalle altre (perche' i1 = u1/R1), e che il % valore di R4 non influisce) % % / u2-u3 = E % riduzione numero incognite % | u1/R1 + (u1-u2)/R2 = J % nodo 1 % \ (u2-u1)/R2 + u3/R3 + beta*u1/R1 = 0 % macronodo t23 (insieme di taglio) % % / u1/R1 + (u1-u2)/R2 = J % \ (u2-u1)/R2 + u2/R3 + beta*u1/R1 = E/R3 % % / (G1+G2)*u1 - G2*u2 = J % \ (-G2+beta*G1)*u1 + (G2+G3)*u2 = G3*E G1 = 1/R1; G2 = 1/R2; G3 = 1/R3; G = [ G1+G2 -G2; -G2+beta*G1 G2+G3] d = [J; G3*E]; u = G\d; u1 = u(1); u2 = u(2); v2 = u1-u2; i2 = v2/R2; disp(table(u1,u2,v2,i2)) % SPICE netlist del circuito considerato % Per utilizzare le righe seguenti in un simulatore, ad esempio LTspice, % copiarle in un file di testo con estensione .cir, rimuovendo i simboli % %q1 circuit %vr1 1v 0 0 ; 0V source to sense the current in r1 %r1 1 1v 2 %r2 1 2 4 %r3 3 0 6 %r4 4 0 6 % %v_E 2 3 10 ; E %i_J 0 1 2.5 ; J % %F_ 3 4 vr1 3 ; beta*ir1 %*vin 1 0 ac 1 dc 0 %*.ac dec 10 .01 10 %*.probe %.op ; dc operating point %.end disp(' ') dispah(' Quesito B1, Metodo 1: Thevenin ') clear E = 10; J = 2.5; R1 = 2; R2 = 4; R3 = 6; R4 = 6; beta = 3; % Thevenin rimuovendo R2 ed E % I10 = 0; % corrente (a vuoto) in R1 % beta*I10 = 0; % % I30 = J; % corrente (a vuoto) in R3 verso il basso VJ0 = R3*J; % tensione (a vuoto) su R3 e su J con + in alto E0 = VJ0; % tensione a vuoto con + a destra % Per valutare R0 spegniamo J e colleghiamo un generatore esterno di test Jt % Si riottiene quanto ottenuto per la traccia A perche', dopo aver eliminato % E ed R2 e poi spegnendo J si ottiene la stessa rete R0 = R1 + (1+beta)*R3; % = Vt/Jt % I2 = (E0+E)/(R0+R2); % questo invece e' diverso P2 = R2*I2^2; disp(table(E0,R0,I2,P2)) disp('%%%%%% nota che R4 non e'' usata %%%%%%') disp(' ') dispah(' Quesito B1, Metodo 2: node analysis ') % 1 nodo in comune tra R1 ed E % 2 nodo in comune tra R2 ed E % 3 nodo in comune tra R2 J R3 e beta*i1 % 4 nodo in comune tra beta*i1 e R4 % 5 nodo inferiore di riferimento (u5=0) % % invece dei nodi 1 e 2 meglio considerare il macronodo t12 contenente % i nodi 1 e 2 e il generatore E (metodo potenziali nodali ridotto) % % come per la traccia A non occorre considerare l'equazione al nodo 4 % % / u1-u2 = E % riduzione numero incognite % | u1/R1 + (u2-u3)/R2 = 0 % macronodo t12 % \ (u3-u2)/R2 + u3/R3 + beta*u1/R1 = J % nodo 3 % % / (u2+E)/R1 + (u2-u3)/R2 = 0 % \ (u3-u2)/R2 + u3/R3 + beta*(u2+E)/R1 = J % % / u2/R1 + (u2-u3)/R2 = -E/R1 % \ (u3-u2)/R2 + u3/R3 + beta*u2/R1 = J - beta*E/R1 % % / (G1+G2)*u2 - G2*u3 = -E/R1 % \ (-G2+beta*G1)*u2 + (G2+G3)*u3 = J - beta*E/R1 G1 = 1/R1; G2 = 1/R2; G3 = 1/R3; G = [ G1+G2 -G2; -G2+beta*G1 G2+G3] % Si riottiene la stessa matrice G della traccia A perche', quando E e J % sono spenti rete e' la stessa d = [-E/R1; J-beta*G1*E]; % questo invece e' diverso u = G\d; u2 = u(1); u3 = u(2); u1 = u2+E; v2 = u3-u2; i2 = v2/R2; disp(table(u1,u2,u3,v2,i2)) return publish('q_180130_AB','pdf') %break function c=paral(a,b) c=a.*b./(a+b); function dispah(str) disp(sprintf('%s', str)) function dispc(str,k) % % aqdispc('[variablename1 variablename2 ...]') displays the following: % [variablename1 variablename2] % values1 values2 if nargin==1 || k==1 %disp(str) disp(['' str '']) end disp(evalin('caller',str))