trabalho 01 - revisão

15
UNIVERSIDADE FEDERAL DO ABC PGEE – PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA CAIO CÉSAR DE MORAES Trabalho 02 de ANESEP – Análise de fluxo usando métodos iterativos Gauss e Newton.

Upload: caio-de-moraes

Post on 15-Dec-2015

214 views

Category:

Documents


0 download

DESCRIPTION

Uma rápida revisão sobre o assunto.

TRANSCRIPT

Page 1: Trabalho 01 - Revisão

UNIVERSIDADE FEDERAL DO ABC

PGEE – PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

CAIO CÉSAR DE MORAES

Trabalho 02 de ANESEP – Análise de fluxo usando métodos iterativos Gauss e Newton.

Santo André

2015

Page 2: Trabalho 01 - Revisão

Sumário

1. Modelo de 4 Barras e 4 Ramos – Método Newton-Rapshon...................3

1.1. Código fonte......................................................................................3

1.2. Resultado Newton.............................................................................9

2. Modelo de 4 Barras e 4 Ramos – Método Gauss-Seidel.......................10

2.1. Código Fonte...................................................................................10

2.2. Resultado Gauss.............................................................................12

Page 3: Trabalho 01 - Revisão

1. Modelo de 4 Barras e 4 Ramos – Método Newton-Rapshon

1.1. Código fonte

% ------------------------------------------------% Aula 02 - ANESEP% Análise de carga com método de Newton-Rapshon% ------------------------------------------------ % --------------------------------% CAIO CÉSAR DE MORAES% PROFESSOR DR EDMÁRCIO BELATI% -------------------------------- clear all;clc; %DADOS DAS LINHAS DE TRANSMISSÃO % |DA |PARA | R | X | Bshunt | % |BARRA |BARRA | [pu] | [pu] | [pu] |dados_linha = [ 1 2 0.01008 0.0504 0.1025; 1 3 0.00744 0.0372 0.0775; 2 4 0.00744 0.0372 0.0775; 3 4 0.01272 0.0636 0.1275;]; % DIVISÃO DOS DADOS DAS LINHAS EM VETORES - CÁLCULAR MATRIZ ADMITÂNCIA Y db = dados_linha(:,1); %Da barra número...pb = dados_linha(:,2); %Para barra número...r = dados_linha(:,3); %Resistencia R da linha em pux = dados_linha(:,4); %Reatância X da linha em pub = dados_linha(:,5); %Admitância do terra, shuntz = r + x*1j; %Impedância Z complexa da linhay = 1./z; %Inverte elementos de z para admintânciab = b*1j; %Muda shunt para imaginárionbarras = max(max(db),max(pb)); %Determina o número total de barrasnramos = length(db); %Identifica o número de ramosYbarra = zeros(nbarras,nbarras);%Inicializa matriz Y com zeros % ELEMENTOS DA MATRIZ Ybarra % COMPLETA ELEMENTOS FORA DA DIAGONAL PRINCIPALfor k=1:nramos Ybarra(db(k),pb(k)) = -y(k); Ybarra(pb(k),db(k)) = Ybarra(db(k),pb(k));end % COMPLETA ELEMENTOS DENTRO DA DIAGONAL PRINCIPAL for m=1:nbarras for n=1:nramos if db(n) == m | pb(n) == m; Ybarra(m,m) = Ybarra(m,m) + y(n) + b(n); end endend

3

Page 4: Trabalho 01 - Revisão

Ybarra G = real(Ybarra)B = imag(Ybarra) % DADOS FORNECIDOS DAS BARRAS %Tipos: 1-Slack referência; 2-PV(tensão controlada); 3-PQ(barra de carga)% |Barra|Tipo|Pc[pu] |Qc[pu] |Pg[pu]|Qg[pu]|E[pu] |theta| dados_barra = [ 1 1 0.05 0.3099 0 0 1.00 0; 2 3 1.70 1.0535 0 0 1.00 0; 3 3 2.00 1.2394 0 0 1.00 0; 4 2 0.80 0.4958 3.18 0 1.02 0;];%Barras PQ iniciadas com E=1.00pu e barras PV e PQ com theta=0%Assumindo a barra 1 como a slack e servindo de referência. %DIVISÃO DOS DADOS DAS BARRAS EM VETORES barra = dados_barra(:,1); %Número da barratipo = dados_barra(:,2); %Tipo da barra 1-Slack,2-PV e 3-PQPcW = dados_barra(:,3); %Potência ativa consumida na barraQcVAR = dados_barra(:,4); %Potência reativa consumida na barraPgW = dados_barra(:,5); %Potência ativa injetada na barraQgVAR = dados_barra(:,6); %Potência reatica injetada na barraE = dados_barra(:,7); %Tensão inicial da barratheta = dados_barra(:,8); %Ângulo inicial da barranbarra = max(barra); %Número total de barrasP = PgW - PcW; %Potência ativa líquida na barraQ = QgVAR - QcVAR; %Potência reativa líquida na barraPdado = P; %P dada Qdado = Q; %Q dada Ep = E; %Inicia variável com tensão inicialerro_max = 0.00001; %Erro máximo aceitoerro = 1; %Inicia variável erroIter = 1; %Inicia contador de iteraçõespv = find(tipo == 2 | tipo == 1); %Barras PVpq = find(tipo == 3); %Barras PQnpv = length(pv); %Número de barras PVnpq = length(pq); %Número de barras PQ while(erro > erro_max) %Início da iteração P = zeros(nbarras,1);Q = zeros(nbarras,1);for i = 1:nbarra for k = 1:nbarra P(i) = P(i) + E(k)*E(i)*(G(i,k)*cos(theta(i)-theta(k))+ B(i,k)*sin(theta(i)-theta(k))); Q(i) = Q(i) + E(i)*E(k)*(G(i,k)*sin(theta(i)-theta(k))- B(i,k)*cos(theta(i)-theta(k))); endend % P2 = E(2)*(E(1)*(G(2,1)*cos(theta(2)-theta(1))+B(2,1)*sin(theta(2)-theta(1)))+(E(4)*(G(2,4)*cos(theta(2)-theta(4))+B(2,4)*sin(theta(2)-theta(4)))));% P3 = E(3)*(E(1)*(G(3,1)*cos(theta(3)-theta(1))+B(3,1)*sin(theta(3)-theta(1)))+(E(4)*(G(3,4)*cos(theta(3)-theta(4))+B(3,4)*sin(theta(3)-theta(4)))));

4

Page 5: Trabalho 01 - Revisão

% P4 = E(4)*(E(2)*(G(4,2)*cos(theta(4)-theta(2))+B(4,2)*sin(theta(4)-theta(2)))+(E(3)*(G(4,3)*cos(theta(4)-theta(3))+B(4,3)*sin(theta(4)-theta(3)))));% Q2 = E(2)*(E(1)*(G(2,1)*sin(theta(2)-theta(1))-B(2,1)*cos(theta(2)-theta(1)))+(E(4)*(G(2,4)*sin(theta(2)-theta(4))-B(2,4)*cos(theta(2)-theta(4)))));% Q3 = E(3)*(E(1)*(G(3,1)*sin(theta(3)-theta(1))-B(3,1)*cos(theta(3)-theta(1)))+(E(4)*(G(3,4)*sin(theta(3)-theta(4))-B(3,4)*cos(theta(3)-theta(4))))); %Deltas de tensão % dP2=Pdado(2)-P2;% dP3=Pdado(3)-P3;% dP4=Pdado(4)-P4;% dQ2=Qdado(2)-Q2;% dQ3=Qdado(3)-Q3; dPa = Pdado-P; dQa = Qdado-Q; k = 1; dQ = zeros(npq,1); for i = 1:nbarra if tipo(i) == 3 dQ(k,1) = dQa(i); k = k+1; end end dP = dPa(2:nbarra); deltapot = [dP; dQ]; %Matriz H - Derivadas de Potência ativa pelo ângulo % H22 = (-B(2,2)*(E(2)^2)) - (E(2)*(E(1)*(G(2,1)*sin(theta(2)-theta(1))-B(2,1)*cos(theta(2)-theta(1)))+...% E(2)*(G(2,2)*sin(theta(2)-theta(2))-B(2,2)*cos(theta(2)-theta(2)))+...% E(3)*(G(2,3)*sin(theta(2)-theta(3))-B(2,3)*cos(theta(2)-theta(3)))+...% E(4)*(G(2,4)*sin(theta(2)-theta(4))-B(2,4)*cos(theta(2)-theta(4))))); % H23 = (E(2)*E(3))*(G(2,3)*sin(theta(2)-theta(3))-B(2,3)*cos(theta(2)-theta(3)));% H24 = (E(2)*E(4))*(G(2,4)*sin(theta(2)-theta(4))-B(2,4)*cos(theta(2)-theta(4)));% H32 = (E(3)*E(2))*(G(3,2)*sin(theta(3)-theta(2))-B(3,2)*cos(theta(3)-theta(2)));% H33 = (-B(3,3)*(E(3)^2)) - (E(3)*(E(1)*(G(3,1)*sin(theta(3)-theta(1))-B(3,1)*cos(theta(3)-theta(1)))+...% E(2)*(G(3,2)*sin(theta(3)-theta(2))-B(3,2)*cos(theta(3)-theta(2)))+...% E(3)*(G(3,3)*sin(theta(3)-theta(3))-B(3,3)*cos(theta(3)-theta(3)))+...% E(4)*(G(3,4)*sin(theta(3)-theta(4))-B(3,4)*cos(theta(3)-theta(4))))); % H34 = (E(3)*E(4))*(G(3,4)*sin(theta(3)-theta(4))-B(3,4)*cos(theta(3)-theta(4)));% H42 = (E(4)*E(2))*(G(4,2)*sin(theta(4)-theta(2))-B(4,2)*cos(theta(4)-theta(2)));% H43 = (E(4)*E(3))*(G(4,3)*sin(theta(4)-theta(3))-B(4,3)*cos(theta(4)-theta(3)));

5

Page 6: Trabalho 01 - Revisão

% H44 = (-B(4,4)*(E(4)^2)) - (E(4)*(E(1)*(G(4,1)*sin(theta(4)-theta(1))-B(4,1)*cos(theta(4)-theta(1)))+...% E(2)*(G(4,2)*sin(theta(4)-theta(2))-B(4,2)*cos(theta(4)-theta(2)))+...% E(3)*(G(4,3)*sin(theta(4)-theta(3))-B(4,3)*cos(theta(4)-theta(3)))+...% E(4)*(G(4,4)*sin(theta(4)-theta(4))-B(4,4)*cos(theta(4)-theta(4))))); H = zeros(nbarra-1,nbarra-1);for i = 1:(nbarra-1) m = i+1; for k = 1:(nbarra-1) n = k+1; if n == m for n = 1:nbarra H(i,k) = H(i,k) + E(m)* E(n)*(-G(m,n)*sin(theta(m)-theta(n)) + B(m,n)*cos(theta(m)-theta(n))); end H(i,k) = H(i,k) - E(m)^2*B(m,m); else H(i,k) = E(m)*E(n)*(G(m,n)*sin(theta(m)-theta(n))-B(m,n)*cos(theta(m)-theta(n))); end endend % Matriz N - Derivadas de Potência ativa pela tensão % N22 = (E(2)^-1)*((E(2)^2*G(2,2))+(E(2)*(E(1)*(G(2,1)*cos(theta(2)-theta(1))+B(2,1)*sin(theta(2)-theta(1)))+...% E(2)*(G(2,2)*cos(theta(2)-theta(2))+B(2,2)*sin(theta(2)-theta(2)))+...% E(3)*(G(2,3)*cos(theta(2)-theta(3))+B(2,3)*sin(theta(2)-theta(3)))+...% E(4)*(G(2,4)*cos(theta(2)-theta(4))+B(2,4)*sin(theta(2)-theta(4))))));% N23 = E(2)*(G(2,3)*cos(theta(2)-theta(3))+B(2,3)*sin(theta(2)-theta(3)));% N32 = E(3)*(G(3,2)*cos(theta(3)-theta(2))+B(3,2)*sin(theta(3)-theta(2)));% N33 = (E(3)^-1)*((E(3)^2*G(3,3))+(E(3)*(E(1)*(G(3,1)*cos(theta(3)-theta(1))+B(3,1)*sin(theta(3)-theta(1)))+...% E(2)*(G(3,2)*cos(theta(3)-theta(2))+B(3,2)*sin(theta(3)-theta(2)))+...% E(3)*(G(3,3)*cos(theta(3)-theta(3))+B(3,3)*sin(theta(3)-theta(3)))+...% E(4)*(G(3,4)*cos(theta(3)-theta(4))+B(3,4)*sin(theta(3)-theta(4))))));% N42 = E(4)*(G(4,2)*cos(theta(4)-theta(2))+B(4,2)*sin(theta(4)-theta(2)));% N43 = E(4)*(G(4,3)*cos(theta(4)-theta(2))+B(4,3)*sin(theta(4)-theta(3))); N = zeros(nbarra-1,npq); for i = 1:(nbarra-1) m = i+1; for k = 1:npq n = pq(k); if n == m for n = 1:nbarra N(i,k) = N(i,k) + E(n)*(G(m,n)*cos(theta(m)-theta(n)) + B(m,n)*sin(theta(m)-theta(n))); end N(i,k) = N(i,k) + E(m)*G(m,m); else

6

Page 7: Trabalho 01 - Revisão

N(i,k) = E(m)*(G(m,n)*cos(theta(m)-theta(n)) + B(m,n)*sin(theta(m)-theta(n))); end end end % Matriz M - Derivadas de Potência reativa pelo ângulo. % M22 = (-E(2)^2*G(2,2)) + (E(2)*(E(1)*(G(2,1)*cos(theta(2)-theta(1))+B(2,1)+sin(theta(2)-theta(1)))+...% E(2)*(G(2,2)*cos(theta(2)-theta(2))+B(2,2)+sin(theta(2)-theta(2)))+...% E(3)*(G(2,3)*cos(theta(2)-theta(3))+B(2,3)+sin(theta(2)-theta(3)))+...% E(4)*(G(2,4)*cos(theta(2)-theta(4))+B(2,4)+sin(theta(2)-theta(4)))));% M23 =(-E(2)*E(3))*(G(2,3)*cos(theta(2)-theta(3))-B(2,3)*sin(theta(2)-theta(3)));% M24 =(-E(2)*E(4))*(G(2,4)*cos(theta(2)-theta(4))-B(2,4)*sin(theta(2)-theta(4)));% M32 =(-E(3)*E(2))*(G(3,2)*cos(theta(3)-theta(2))-B(3,2)*sin(theta(3)-theta(2))); % M33 = (-E(3)^2*G(3,3)) + (E(3)*(E(1)*(G(3,1)*cos(theta(3)-theta(1))+B(3,1)+sin(theta(3)-theta(1)))+...% E(2)*(G(3,2)*cos(theta(3)-theta(2))+B(3,2)+sin(theta(3)-theta(2)))+...% E(3)*(G(3,3)*cos(theta(3)-theta(3))+B(3,3)+sin(theta(3)-theta(3)))+...% E(4)*(G(3,4)*cos(theta(3)-theta(4))+B(3,4)+sin(theta(3)-theta(4)))));% M34 =(-E(3)*E(4))*(G(3,4)*cos(theta(3)-theta(4))-B(3,4)*sin(theta(3)-theta(4))); M = zeros(npq,nbarra-1); for i = 1:npq m = pq(i); for k = 1:(nbarra-1) n = k+1; if n == m for n = 1:nbarra M(i,k) = M(i,k) + E(m)* E(n)*(G(m,n)*cos(theta(m)-theta(n)) + B(m,n)*sin(theta(m)-theta(n))); end M(i,k) = M(i,k) - E(m)^2*G(m,m); else M(i,k) = E(m)* E(n)*(-G(m,n)*cos(theta(m)-theta(n)) - B(m,n)*sin(theta(m)-theta(n))); end end end % Matriz L - Derivadas de Potência reativa pela tensão. % L22 = (E(2)^-1)*((-B(2,2)*E(2)^2)+(E(2)*(E(1)*(G(2,1)*sin(theta(2)-theta(1))-B(2,1)*cos(theta(3)-theta(1)))+...% E(2)*(G(2,2)*sin(theta(2)-theta(2))-B(2,2)*cos(theta(3)-theta(2)))+...% E(3)*(G(2,3)*sin(theta(2)-theta(3))-B(2,3)*cos(theta(3)-theta(3)))+...% E(4)*(G(2,4)*sin(theta(2)-theta(4))-B(2,4)*cos(theta(3)-theta(4))))));

7

Page 8: Trabalho 01 - Revisão

% L23 = (E(2)*E(3))*(G(2,3)*sin(theta(2)-theta(3))-B(2,3)*cos(theta(2)-theta(3)));% L32 = (E(3)*E(2))*(G(3,2)*sin(theta(3)-theta(2))-B(3,2)*cos(theta(3)-theta(2)));% L33 = (E(3)^-1)*((-B(3,3)*E(3)^2)+(E(3)*(E(1)*(G(3,1)*sin(theta(3)-theta(1))-B(3,1)*cos(theta(3)-theta(1)))+...% E(2)*(G(3,2)*sin(theta(3)-theta(2))-B(3,2)*cos(theta(3)-theta(2)))+...% E(3)*(G(3,3)*sin(theta(3)-theta(3))-B(3,3)*cos(theta(3)-theta(3)))+...% E(4)*(G(3,4)*sin(theta(3)-theta(4))-B(3,4)*cos(theta(3)-theta(4)))))); L = zeros(npq,npq); for i = 1:npq m = pq(i); for k = 1:npq n = pq(k); if n == m for n = 1:nbarra L(i,k) = L(i,k) + E(n)*(G(m,n)*sin(theta(m)-theta(n)) - B(m,n)*cos(theta(m)-theta(n))); end L(i,k) = L(i,k) - E(m)*B(m,m); else L(i,k) = E(m)*(G(m,n)*sin(theta(m)-theta(n)) - B(m,n)*cos(theta(m)-theta(n))); end end end J = [H N; M L]; %Matriz Jacobiana HNML % J= [H22 H23 H24 N22 N23 % H32 H33 H34 N32 N33 % H42 H43 H44 N42 N43 % M22 M23 M24 L22 L23 % M32 M33 M34 L32 L33]; X = inv(J)*deltapot; %Vetor de correção dTheta = X(1:nbarra-1); % Mudança do ângulo da tensão dE = X(nbarra:end); % Mudança do valor da tensão theta(2:nbarra) = dTheta + theta(2:nbarra); k = 1; for i = 2:nbarra if tipo(i) == 3 E(i) = dE(k) + E(i); k = k+1; end end Iter = Iter + 1; erro = max(abs(deltapot));end thetagraus = theta.*(180/pi); % Mostra resultado dos calculos das tensões, angulos e potencia reativafprintf('\n RESULTADO DOS CALCULOS DAS TENSÕES, ANGULOS E POTENCIA REATIVA NAS BARRAS\n\n');

8

Page 9: Trabalho 01 - Revisão

fprintf('\n Método: Newton Rapshon\n\n');fprintf('Erro máximo admitido entre iteração: %f \n\n',erro_max);fprintf('Número de iterações realizadas: %d \n\n',Iter); mostrar = [E thetagraus P Q];disp(' Tensão Ângulo P Q ')disp(mostrar)

1.2. Resultado Newton

Ybarra =

8.9852 -44.7460i -3.8156 +19.0781i -5.1696 +25.8478i 0.0000 + 0.0000i

-3.8156 +19.0781i 8.9852 -44.7460i 0.0000 + 0.0000i -5.1696 +25.8478i

-5.1696 +25.8478i 0.0000 + 0.0000i 8.1933 -40.7613i -3.0237 +15.1185i

0.0000 + 0.0000i -5.1696 +25.8478i -3.0237 +15.1185i 8.1933 -40.7613i

G =

8.9852 -3.8156 -5.1696 0

-3.8156 8.9852 0 -5.1696

-5.1696 0 8.1933 -3.0237

0 -5.1696 -3.0237 8.1933

B =

-44.7460 19.0781 25.8478 0

19.0781 -44.7460 0 25.8478

25.8478 0 -40.7613 15.1185

0 25.8478 15.1185 -40.7613

RESULTADO DOS CALCULOS DAS TENSÕES, ANGULOS E POTENCIA REATIVA NAS BARRAS

Método: Newton Rapshon

Erro máximo admitido entre iteração: 0.000010

Número de iterações realizadas: 5

Tensão Ângulo P Q

1.0000 0 1.3661 0.6420

9

Page 10: Trabalho 01 - Revisão

0.9844 -0.9946 -1.7000 -1.0535

0.9714 -1.8932 -2.0000 -1.2394

1.0200 1.5221 2.3800 1.1203

2. Modelo de 4 Barras e 4 Ramos – Método Gauss-Seidel

2.1. Código Fonte

% ------------------------------------------------% Aula 02 - ANESEP% Análise de carga com método de Gauss-Seidel% ------------------------------------------------ % --------------------------------% CAIO CÉSAR DE MORAES% PROFESSOR DR EDMÁRCIO BELATI% -------------------------------- clear all;clc; % DADOS DAS LINHAS DE TRANSMISSÃO % |DA |PARA | R | X | Bshunt | % |BARRA |BARRA | [pu] | [pu] | [pu] |dados_linha = [ 1 2 0.01008 0.0504 0.1025; 1 3 0.00744 0.0372 0.0775; 2 4 0.00744 0.0372 0.0775; 3 4 0.01272 0.0636 0.1275;];%% DIVISÃO DOS DADOS DAS LINHAS EM VETORES - CÁLCULAR MATRIZ ADMITÂNCIA Y db = dados_linha(:,1); %Da barra número...pb = dados_linha(:,2); %Para barra número...r = dados_linha(:,3); %Resistencia R da linha em pux = dados_linha(:,4); %Reatância X da linha em pub = dados_linha(:,5); %Admitância do terra, shuntz = r + x*1j; %Impedância Z complexa da linhay = 1./z; %Inverte elementos de z para admintânciab = b*1j; %Muda shunt para imaginárionbarras = max(max(db),max(pb)); %Determina o número total de barrasnramos = length(db); %Identifica o número de ramosYbarra = zeros(nbarras,nbarras);%Inicializa matriz Y com zeros % ELEMENTOS DA MATRIZ Ybarra % COMPLETA ELEMENTOS FORA DA DIAGONAL PRINCIPALfor k=1:nramos Ybarra(db(k),pb(k)) = -y(k); Ybarra(pb(k),db(k)) = Ybarra(db(k),pb(k));end % COMPLETA ELEMENTOS DENTRO DA DIAGONAL PRINCIPAL for m=1:nbarras for n=1:nramos

10

Page 11: Trabalho 01 - Revisão

if db(n) == m | pb(n) == m; Ybarra(m,m) = Ybarra(m,m) + y(n) + b(n); end endend Ybarra G = real(Ybarra)B = imag(Ybarra) % DADOS FORNECIDOS DAS BARRAS %Tipos: 1-Slack referência; 2-PV(tensão controlada); 3-PQ(barra de carga)% |Barra|Tipo|Pc[pu] |Qc[pu] |Pg[pu]|Qg[pu]|E[pu] |theta| dados_barra = [ 1 1 0.05 0.3099 0 0 1.00 0; 2 3 1.70 1.0535 0 0 1.00 0; 3 3 2.00 1.2394 0 0 1.00 0; 4 2 0.80 0.4958 3.18 0 1.02 0;];%Barras PQ iniciadas com E=1.00pu e barras PV e PQ com theta=0%Assumindo a barra 1 como a slack e servindo de referência. %DIVISÃO DOS DADOS DAS BARRAS EM VETORES barra = dados_barra(:,1); %Número da barratipo = dados_barra(:,2); %Tipo da barra 1-Slack,2-PV e 3-PQPcW = dados_barra(:,3); %Potência ativa consumida na barraQcVAR = dados_barra(:,4); %Potência reativa consumida na barraPgW = dados_barra(:,5); %Potência ativa injetada na barraQgVAR = dados_barra(:,6); %Potência reatica injetada na barraE = dados_barra(:,7); %Tensão inicial da barrathet = dados_barra(:,8); %Ângulo inicial da barranbarra = max(barra); %Número total de barrasP = PgW - PcW; %Potência ativa líquida na barraQ = QgVAR - QcVAR; %Potência reativa líquida na barraEp = E; %Inicia variável com tensão inicialerro_max = 0.0001; %Erro máximo aceitoerro = 1; %Inicia variável erroiteracao = 1; %Inicia contador de iterações %CÁLCULO UTILIZANDO O MÉTODO DE GAUSS-SEIDEL while (erro > erro_max) %Inicia loop de iterações for i = 2:nbarra somaYE = 0; for k = 1:nbarra if i ~= k somaYE = somaYE + Ybarra(i,k)*E(k); %Somatório E*Y end end if tipo(i) == 2 % Calcula Q para as barras PV Q(i) = -imag(conj(E(i))*(somaYE + Ybarra(i,i)*E(i))); end E(i) = (1/Ybarra(i,i))*((P(i)-1j*Q(i))/conj(E(i)) - somaYE); % Calcula a tensão da barra if tipo(i) == 2 % Para barras PV, mantem o módulo da tensão e atualiza somento o angulo

11

Page 12: Trabalho 01 - Revisão

E(i) = abs(Ep(i))*cos(angle(E(i))) + 1j*abs(Ep(i))*sin(angle(E(i))); end end iteracao = iteracao + 1; % Incrementa contador de iteração erro = max(abs(abs(E) - abs(Ep)));% Calcula o erro da iteração Ep = E; % Ep é necessario na proxima iteraçãoend % Final do loop de iterações fprintf('Erro máximo admitido entre iteração: %f \n\n',erro_max);fprintf('Número de iterações realizadas: %d \n\n',iteracao); for n=1:nbarra fprintf('V%d=%.4f[pu] theta %.4f Q%d=%.4f[pu]\n',n,abs(E(n)),180/pi*angle(E(n)),n,Q(n));end

2.2. Resultado Gauss

Ybarra =

8.9852 -44.7460i -3.8156 +19.0781i -5.1696 +25.8478i 0.0000 + 0.0000i

-3.8156 +19.0781i 8.9852 -44.7460i 0.0000 + 0.0000i -5.1696 +25.8478i

-5.1696 +25.8478i 0.0000 + 0.0000i 8.1933 -40.7613i -3.0237 +15.1185i

0.0000 + 0.0000i -5.1696 +25.8478i -3.0237 +15.1185i 8.1933 -40.7613i

G =

8.9852 -3.8156 -5.1696 0

-3.8156 8.9852 0 -5.1696

-5.1696 0 8.1933 -3.0237

0 -5.1696 -3.0237 8.1933

B =

-44.7460 19.0781 25.8478 0

19.0781 -44.7460 0 25.8478

25.8478 0 -40.7613 15.1185

0 25.8478 15.1185 -40.7613

Erro máximo admitido entre iteração: 0.000100

Número de iterações realizadas: 4

12

Page 13: Trabalho 01 - Revisão

V1=1.0000[pu] theta 0.0000 Q1=-0.3099[pu]

V2=0.9843[pu] theta -1.2357 Q2=-1.0535[pu]

V3=0.9714[pu] theta -2.0473 Q3=-1.2394[pu]

V4=1.0200[pu] theta 1.2981 Q4=1.1467[pu]

13