Você está na página 1de 5

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE

CENTRO DE ENGENHARIA ELTRICA E INFORMTICA


PROGRAMA DE PS-GRADUAO EM ENGENHARIA ELTRICA

RELATRIO

RESOLUO DE SISTEMA ALGBRICO LINEAR VIA MTODO DE JACOBI E


MTODO DE GAUSS- SEIDEL.

ALUNA: RAFAELLA NASCIMENTO MEIRA


PROFESSORA: NBIA SILVA DANTAS BRITO
DISCIPLINA: MTODOS NUMRICOS

CAMPINA GRANDE, MAIO DE 2017


Segue o enunciado:

1. Elabore um problema de Circuitos Eltricos que resulte em um sistema algbrico linear


de dimenso 4 (quatro). O circuito deve ser resolvido via Anlise Nodal ou Anlise de
Malha.
2. Resolva o problema manualmente via:

o Mtodo de Jacobi.

o Mtodo de Gauss-Seidel.

3. Resolva o problema usando as funes do Matlab.


4. Considerar 4 (quatro) casas decimais em todos os clculos.
5. Avaliar as solues considerando a soluo do Matlab como referncia. Para isso aplique
o erro relativo percentual.
6. Anlise de esforo numrico (manual ou computacional).
7. Grficos, tabelas.
8. Anlise de erros.

3)

Mtodo de Jacobi:

%Mtodo de Jacobi
A=[0.3000 -0.2000 0.0000 0.0000;-0.2000 1.3250 -0.1250 -1.0000; 0.0000
-0.1250 0.5000 -0.1250; 0.0000 -1.0000 -0.1250 1.6250];
B=[3.0000 -3.0000 0.0000 6.0000];
ponto_inicial=[0.0000 0.0000 0.0000 0.0000];
tol=0.01;
cont_iterac=0;
s=size(A);
num_eq=s(1);
for k=1:num_eq
B(k)=B(k)/A(k,k);
A(k,:)=A(k,:)/A(k,k);
A(k,k)=0;
end
M=-A;
x_ant=ponto_inicial';
x_sig=M*x_ant+B';
deltax_n=x_sig-x_ant;
while ((norm(deltax_n)/norm(x_ant))*100) > tol
x_sig=M*x_ant+B'
deltax_n=x_sig-x_ant;
x_ant=x_sig;
cont_iterac=cont_iterac+1;
end
solucion=x_sig
num_iteraciones=cont_iterac

Resoluo:

V =

13.8930

5.8409

3.3455

7.5432

num_iter =

34

Mtodo de Gauss- Seidel:

%Mtodo de Gauss-Seidel
ord = 4;
A = [0.3000 -0.2000 0.0000 0.0000;-0.2000 1.3250 -0.1250 -1.0000;
0.0000 -0.1250 0.5000 -0.1250; 0.0000 -1.0000 -0.1250 1.6250];
X = [0.0000; 0.0000 ;0.0000; 0.0000];
B = [3.0000; -3.0000; 0.0000 ;6.0000];
tol = 0.01;
max = 100;
k = 0;
for i = 1:ord
for j = 1:ord
if i == j
D(i,j) = 0;
I(i,1) = B(i,1)/A(i,i);
else
D(i,j) =-A(i,j)/A(i,i);
end
end
end
while k < max
X1 = X;
for i = 1:ord
X1(i,1) = D(i,:)*X1 + I(i,1);
end
for i = 1:ord
ERX(i,1)= abs((X1(i,1)-X(i,1))/X1(i,1))*100;
mtol(i,1)=tol;
end
if ERX< mtol
fprintf('V=%1.5f\n',X1);
fprintf('N_iter=%1.5f\n',k);

break
end
X = X1;
k = k+1;
end

Resoluo:

V =

13.8956

5.8440

3.3474

7.5461

num_iter =

21
Resoluo do sistema sem utilizar os mtodos descritos acima:

% Resoluo do sistema de equaes lineares:


% 0.3000v1 - 0.2000v2 + 0.0000v3 + 0.0000v4 = 3.0000;
% -0.2000v1 + 1.3250v2 -0.1250v3 - 1.0000v4 = -3.0000;
% 0.0000v1 - 0.1250v2 + 0.5000v3 - 0.1250v4 = 0.0000;
% 0.0000v1 - 1.0000v2 - 0.1250v3 + 1.6250v4 = 6.0000;

G=[0.3000 -0.2000 0.0000 0.0000 ;-0.2000 1.3250 -0.1250 -1.0000 ;


0.0000 -0.1250 0.5000 -0.1250 ; 0.0000 -1.0000 -0.1250 1.6250];
b=[3.0000; -3.0000; 0.0000; 6.0000];
v=inv(G)*b;
v

Resultado:

v =

13.8966

5.8449

3.3479

7.5467

Você também pode gostar