% ========================================================================= % LABORATORIO DI CIRCUITI ELETTRICI % Esercitazione 4: Generatori controllati % ========================================================================= %% ------------------------------------------------------------------------ % Circuito 1 % ------------------------------------------------------------------------- % Inserimento dei dati del circuito --------------------------------------- E1 = 1; R2 = 10; R3 = 90; A4 = 10; R5 = 20; R6 = 80; A7 = 20; R8 = 5; R9 = 45; % Matrice di incidenza ---------------------------------------------------- A = [ +1 -1 0 0 0 0 0 0 0 0 +1 -1 0 0 0 0 0 0 0 0 0 +1 -1 0 0 0 0 0 0 0 0 +1 -1 0 0 0 0 0 0 0 0 0 +1 -1 0 0 0 0 0 0 0 0 +1 -1 ]; % Matrice delle maglie ---------------------------------------------------- B = [ +1 +1 +1 0 0 0 0 0 0 0 0 0 +1 +1 +1 0 0 0 0 0 0 0 0 0 +1 +1 +1 ]; % Matrice M equazioni caratteristiche ------------------------------------- M = [ 0 0 0 0 0 0 0 0 0 0 -R2 0 0 0 0 0 0 0 0 0 -R3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -R5 0 0 0 0 0 0 0 0 0 -R6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -R8 0 0 0 0 0 0 0 0 0 -R9 ]; % Matrice N equazioni caratteristiche ------------------------------------- N = [ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 A4 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 A7 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 ]; % Vettore termini noti ---------------------------------------------------- n = [-E1 0 0 0 0 0 0 0 0]'; % ------------------------------------------------------------------------- % Metodo Tableau % ------------------------------------------------------------------------- T = [A zeros(6,9);zeros(3,9) B;M N]; x = inv(T)*[zeros(9,1);n]; % Display Risultati disp([' i = ' num2str(x(1:9)')]) disp([' v = ' num2str(x(10:18)')]) % ------------------------------------------------------------------------- % Metodo dei potenziali nodali Modificato % ------------------------------------------------------------------------- % Divisione del circuito a= [2 3 5 6 8 9]; b = [1 4 7]; % Separazione delle matrici Aa = A(:,a); Ab = A(:,b); Ba = B(:,a); Bb = B(:,b); Ma = M(a,a); Na = N(a,a); Nb = N(b,b); Nba = N(b,a); E = [E1;0;0]; na = n(a); % Calcolo Matrici Y = Aa*inv(Ma)*Na*Aa'; phi = Aa*inv(Ma)*na; % Soluzione T = [Y Ab;Nb*Ab'+Nba*Aa' zeros(3)]; x = inv(T)*[phi;E]; % Display risultati disp([' e = ' num2str(x(1:6)')]) disp([' i = ' num2str(x(7:9)')]) %% ------------------------------------------------------------------------ pause clear; clc % ------------------------------------------------------------------------- %% ------------------------------------------------------------------------ % Circuito 2 % ------------------------------------------------------------------------- % Inserimento dei dati E1 = 10; R2 = 2; R3 = 8; G = 10; R5 = 18; R6 = 4; % Matrice di Incidenza ---------------------------------------------------- A = [ +1 -1 0 0 0 0 0 +1 +1 0 0 0 0 0 0 +1 -1 -1 ]; % Matrice di Maglia ------------------------------------------------------- B = [ +1 +1 -1 0 0 0 0 0 0 +1 +1 0 0 0 0 0 +1 -1 ]; % Matrice M equazioni caratteristiche ------------------------------------- M = [ 0 0 0 0 0 0 0 -R2 0 0 0 0 0 0 -R3 0 0 0 0 0 0 1 0 0 0 0 0 0 -R5 0 0 0 0 0 0 -R6 ]; % Matrice N equazioni caratteristiche ------------------------------------- N = [ 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 G 0 G 0 0 0 0 0 1 0 0 0 0 0 0 1 ]; % Vettore termini noti ---------------------------------------------------- n = [-E1 0 0 0 0 0]'; % ------------------------------------------------------------------------- % Metodo Tableau % ------------------------------------------------------------------------- T = [A zeros(3,6);zeros(3,6) B;M N]; x = inv(T)*[zeros(6,1);n] % Display Risultati disp([' i = ' num2str(x(1:6)')]) disp([' v = ' num2str(x(7:12)')]) % ------------------------------------------------------------------------- % Metodo dei Potenziali Nodali Modificato % ------------------------------------------------------------------------- % Divisione del circuito a= [2 3 4 5 6]; b = [1]; % Separazione delle matrici Aa = A(:,a); Ab = A(:,b); Ba = B(:,a); Bb = B(:,b); Ma = M(a,a); Na = N(a,a); Nb = N(b,b); Nba = N(b,a); E = [E1]; na = n(a); % Calcolo Matrici Y = Aa*inv(Ma)*Na*Aa'; phi = Aa*inv(Ma)*na; % Soluzione T = [Y Ab;Nb*Ab' zeros(1)]; x = inv(T)*[phi;E]; % Display risultati disp([' e = ' num2str(x(1:3)')]) disp([' i = ' num2str(x(4)')]) % ======================================================= FINE ========