Você está na página 1de 24

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL

PROGRAMA DE PS-GRADUAO EM ENGENHARIA MECNICA














MTODOS ITERATIVOS PARA SOLUO DE SISTEMAS LINEARES






Disciplina: Mtodos Matriciais
Professora: Liliane Basso Barichello
Aluno: Tiago dos Santos






Porto Alegre
2010

2

SUMRIO

RESUMO.......................................................................................................................... 3
1 MTODOS ITERATIVOS PARA SOLUO DE SISTEMAS LINEARES ................. 4
1.1 Introduo .......................................................................................................... 4
1.2 Condio de Convergncia ................................................................................ 5
1.3 Critrio de Parada .............................................................................................. 6
1.4 Mtodo Iterativo de Jacobi ................................................................................. 6
1.4.1 Algortmo e Complexidade .......................................................................... 8
1.5 Mtodo Iterativo de Gauss-Seidel ...................................................................... 9
1.5.1 Algortmo e Complexidade ........................................................................ 10
1.6 Mtodo Iterativo da Sobre-Relaxao Sucessiva ............................................ 12
1.6.1 Algortmo e complexidade ........................................................................ 13
2 RESULTADOS NUMRICOS ................................................................................. 15
2.1 Primeiro Caso .................................................................................................. 15
2.2 Segundo Caso ................................................................................................. 17
3 DISCUSSO DOS RESULTADOS ......................................................................... 22
4 CONCLUSO ......................................................................................................... 23
REFERNCIAS BIBLIOGRFICAS ............................................................................... 24















3

RESUMO


Neste trabalho sero apresentados e implementados computacionalmente,
utilizando o programa Matlab, trs mtodos iterativos para soluo de sistemas lineares:
mtodo de Jacobi, mtodo de Gauss-Seidel e mtodo da sobre-relaxao prograssiva.
Onde, por meio da soluo de dois problemas numricos, os mtodos acima citados
sero comparados utilizando-se uma anlise de convergncia para os problemas.
Tambm sero analisados os raios espectrais das matrizes de iterao de cada mtodo
nos distintos problemas solucionados.
Particularmente para o mtodo da sobre-relaxa sucessiva, ser analisada a
influncia do parmetro na convergncia da soluo.
Com base nos resultados obtidos, mtodo da sobre-relaxao mostrou melhor
convergncia nos dois problemas, em segundo lugar est o mtodo de Gauss-Seidel.
Essa ordem tambm foi verificada nos raios espectrais das matrizes de iterao, onde a
matriz de iterao da sobre-relaxao apresentou menor raio espectral e o mtodo de
Jacobi aprsentou o maior valor, em ambos sistemas lineares solucionados.















4

1 MTODOS ITERATIVOS PARA SOLUO DE SISTEMAS LINEARES


1.1 Introduo

Um sistema de equaes lineares b Ax = pode ser resolvido por um processo
onde, a partir de um vetor inicial
0
x , uma seqncia de vetores
} {
3 2 1
K K , , , , ,
k
x x x x

gerada de modo a convergir para a soluo x do sistema. Nesse processo
realizada uma srie de operaes repetidas, e por isso tal processo denominado
iterativo.
Dado o sistema linear:

; 3 , 2 , 1 ;
;
1
m i x A b
n
j
j ij i
K = =
=

=
b Ax

(1.1.1)

Onde, b um vetor de constantes de ordm m, A a matriz de coeficientes de
tamanho n m e x o vetor soluo de ordem n .
Sendo A uma matriz quadrada n n , isolando-se o simo i valor de x para
cada linha i do sistema, obtm-se:

; 3 , 2 , 1 ;
1
; 3 , 2 , 1 ;
1
1
n i x A
A A
b
x
n i x A b x A
n
i j
j
j ij
ii ii
i
i
n
i j
j
j ij i i ii
K
K
= =
= =

=

(1.1.2)



(1.1.3)


No processo iterativo a eq. (1.1.3) pode ser representada conforme eq. (1.1.4).


5

;
1
c Mx x + =
+ k k

(1.1.4)

Onde, M a matriz de iterao e c um vetor constante. O processo iterativo
dito estacionrio se M no for alterada durante o processo. A seguir sero
apresentados trs mtodos iterativos estacionrios: mtodo de Jacobi, mtodo de
Gauss-Seidel e mtodo da sobre-relaxao sucessiva.

1.2 Condio de Convergncia

A sequncia de vetores soluo
} {
3 2 1
K K , , , , ,
k
x x x x
converge para a soluo
do sistema linear b Ax = , quando satisfeito o seguinte teorema:
Teorema 1.1: O mtodo iterativo da eq. (1.1.4) converge com qualquer valor
inicial
0
x se e somente se,
1 ) ( < M
, sendo
) (M
o raio espectral (mdulo do
maior autovalor) da matriz de iterao M.
No entanto, a determinao de
) (M
pode requerer maior esforo numrico
que a prpria soluo do sistema b Ax = . Por isso, usualmente se utiliza o chamado
critrio das linhas para convergncia, segundo o teorema:
Teorema 1.2: condio suficiente para a convergncia dos mtodos iterativos
de Jacobi e de Gauss-Seidel que a matriz dos coeficientes A seja diagonalmente
predominante, ou seja:

n i a a
n
i j
j
ij ii
K 3 , 2 , 1 ;
1
= >

=

(1.2.1)

Pelos Teoremas 1.1 e 1.2, nota-se que a convergncia no depende da escolha
do vetor inicial
0
x . Outro critrio de convergncia que o sistema iterativo (1.1.4)
converge se e somente se 0
k
M com k .

6

1.3 Critrio de Parada

A cada iterao do processo descrito na eq. (1.1.4) o vetor soluo obtido mais
prximo da soluo do sistema linear b Ax = , isto :

; lim x x =

k
k
(1.3.1)

Como critrio de parada do processo pode-se definir um erro relativo mximo
aceitvel :

;
1
k
k k
x
x x



(1.3.2)

Ou limitar o nmero de operaes, conforme a seguinte relao:

;
mx
k k
(1.3.3)

Onde,
mx
k
o nmero mximo de iteraes.
Para a determinao da tolerncia , deve-se considerar a perda de preciso
devido aritmtica de ponto flutuante, para que no se defina uma exatido impossvel
de ser alcanada.

1.4 Mtodo Iterativo de Jacobi

Considerando um sistema linear:

; b Ax = (1.4.1)



7

A matriz A pode ser decomposta em:

; U D L A + + = (1.4.2)

Onde, D uma matriz diaginal, L e U so duas matrizes triangulares inferior
e superior, respectivamente, com a diagonal nula. Substituindo a eq. (1.4.2) na eq.
(1.4.1), obtm-se:

;
; ) (
; ) (
; ) (
; ) (
1
1 1 1
c Jx x
b D x U L D x
b x U L Dx
b x U L Dx
b x U D L
+ =
+ + =
+ + =
= + +
= + +
+
+
k k
k k

(1.4.3)




(1.4.4)

(1.4.5)

A eq. (1.4.5) semelhante eq. (1.1.4), onde ) (
1
U L D J + =

a matriz de
iterao do mtodo de Jacobi.
Usualmente, utiliza-se como valor inicial 0 x =
0
; no entanto, substituindo esse
valor na eq. (1.4.5), obtem-se:

;
1
ii
i
i
A
b
x = = c x



Assim, ser tomado como valor inicial

.
0
ii
i
i
A
b
x =

(1.4.6)



8

1.4.1 Algortmo e Complexidade



Figura 1.4.1 Rotina do mtodo iterativo de Jacobi em Matlab.

function [x,Niter,erros,Conv]=ijacobi(A,b,Tol,IterMax)
% Esta rotina soluciona um sistema linear do tipo Ax=b, pelo mtodo
% iterativo de Jacobi.
% Parmetros de entrada:
% A: Matriz de coeficientes nxn;
% b: Vetor de constantes;
% Tol: Tolerncia desejada;
% IterMax: Nmero mximo de iteraes desejado.
% Parmetros de sada:
% x: vetor soluo;
% Niter: Nmero de iteraes realizadas;
% erro: Erro relativo em norma infinita;
% Conv: Informao de convergncia (Conv=1 houve convergncia; Conv=1 no
% houve convergncia).
[m,n]=size(A); % Verifica tamanho da matriz A
if m == n % Verifica se A uma matriz quadrada
xi = zeros(m,1); % Cria vetor soluo inicial
x = zeros(m,1); % Cria vetor soluo final
for i = 1 : m
if A(i,i) == 0
error('A possui zero na diagonal')
end
xi(i) = b(i)/A(i,i); % Monta vetor soluo inicial
end
erro = 1; % Atribui valor inicial ao erro
Niter = 0; % Nmero de iteraes
while erro > Tol
Niter = Niter + 1;
if Niter == IterMax
Conv = 0;
error('Nmero mximo de iteraes foi atingido')
end
for i = 1 : m
soma = 0;
for j = 1 : n
if i ~= j
soma = A(i,j)*xi(j) + soma;
end
end
x(i) = (-soma + b(i))/A(i,i);
end
erro = norm(x - xi, inf)/norm(x,inf); % Erro relatifo (N inf)
erros(Niter) = erro; % Vetor contendo o erro de cada iterao
xi = x;
end
Conv = 1;
else
disp('A no uma matrix quadrada')
end

9

Na fig. (1.4.1) apresentada a rotina, criada no ambiente Matlab, que resolve um
sistema linear do tipo b Ax = pelo mtodo iterativo de Jacobi. Os parmetros de
entrada so: a matriz A, o vetor b , a tolerncia desejada e o nmero mximo de
iteraes
mx
k
. Os dois ltimos parmetros so utilizados como critrios de parada,
conforme eqs. (1.3.2) e (1.3.3), respectivamente. E tem como parmetros de sada o
vetor soluo x , o nmero de iteraes k , o erro relativo
k
em norma infinita de
cada iterao e informa se ocorreu convergncia dentro do nmero de iteraes
escolhido com base na tolerncia informada ( 1 = Conv ) ou no ( 0 = Conv ).
A complexidade computacional do algortmo dada segundo a tab. (1.4.1).

Operaes Complexidade
adies
k kn kn + +
2

multiplicaes kn n k +
2
) 1 (
divises k n +

Tabela 1.4.1 Complexidade de Jacobi usando k iteraes em sistema de ordem n > 1.
(Campos, filho, 2001).

1.5 Mtodo Iterativo de Gauss-Seidel

Seja o sistema linear mostrado na eq. (1.4.1), com a matriz A sendo
decomposta em U D L A + + = , sendo D uma matriz diaginal, L e U duas
matrizes triangulares inferior e superior, respectivamente, com a diagonal nula. O
sistema linear pode, ento, ser reescrito na seguinte forma:

;
; ) ( ) (
; ) (
; ) (
1
1 1 1
d Sx x
b L D Ux L D x
b Ux x L D
b x U D L
+ =
+ + + =
+ = +
= + +
+
+
k k
k k

(1.5.1)


(1.5.2)

(1.5.3)

10


Onde, U L D S
1
) (

+ = a matriz de iterao do mtodo de Gauss-Seidel.
Uma maneira mais simples de implementar, sem a necessidade de calcular a matriz
inversa mostrado abaixo:

;
; ) (
; ) (
; ) (
1 1
1
b Ux Lx Dx
b Ux x L D
b Ux x L D
b x U D L
+ =
+ = +
+ = +
= + +
+ +
+
k k k
k k






(1.5.4)

Na eq. (1.5.4) fica clara a diferena entre os mtodos de Jacobi e Gauss-Seidel.
No mtodo de Jacobi o vetor
1 + k
x calculado usando somente valores
k
i
x
, enquanto,
no mtodo de Gauss-Seidel o vetor
1 + k
x obtido a partir dos elementos mais recentes,
incluindo
1 + k
x e
k
x . O valor inicial utilizado ser o mesmo da eq. (1.4.6).

1.5.1 Algortmo e Complexidade

Na fig. (1.5.1) apresentada a rotina, criada no ambiente Matlab, que resolve um
sistema linear do tipo b Ax = pelo mtodo iterativo de Gauss-Seidel. Os parmetros
de entrada so: a matriz A, o vetor b , a tolerncia desejada e o nmero mximo de
iteraes
mx
k
. Os dois ltimos parmetros so utilizados como critrios de parada,
conforme eqs. (1.3.2) e (1.3.3), respectivamente. E tem como parmetros de sada o
vetor soluo x , o nmero de iteraes k , o erro relativo
k
em norma infinita de
cada iterao e informa se ocorreu convergncia dentro do nmero de iteraes
escolhido com base na tolerncia informada ( 1 = Conv ) ou no ( 0 = Conv ).


11



Figura 1.5.1 Rotina do mtodo iterativo de Jacobi em Matlab.

function [x,Niter,erros,Conv]=igauss_seidel(A,b,Tol,IterMax)
% Esta rotina soluciona um sistema linear do tipo Ax=b, pelo mtodo
% iterativo de Gauss-Seidel.
% Parmetros de entrada:
% A: Matriz de coeficientes nxn;
% b: Vetor de constantes;
% Tol: Tolerncia desejada;
% IterMax: Nmero mximo de iteraes desejado.
% Parmetros de sada:
% x: vetor soluo;
% Niter: Nmero de iteraes realizadas;
% erro: Erro relativo em norma infinita;
% Conv: Informao de convergncia (Conv=1 houve convergncia; Conv=1 no
% houve convergncia).
[m,n]=size(A); % Verifica tamanho da matriz A
if m == n % Verifica se A uma matriz quadrada
xi = zeros(m,1); % Cria vetor soluo inicial
x = zeros(m,1); % Cria vetor soluo final
for i = 1 : m
if A(i,i) == 0
error('A possui zero na diagonal')
end
xi(i) = b(i)/A(i,i); % Monta vetor soluo inicial
xi1 = xi; % Vetor que armazena valores iniciais de xi
end
erro = 1; % Atribui valor inicial ao erro
Niter = 0; % Nmero de iteraes
while erro > Tol
Niter = Niter + 1;
if Niter == IterMax
Conv = 0;
error('Nmero mximo de iteraes foi atingido')
end
for i = 1 : m
soma = 0;
for j = 1 : n
if i ~= j
soma = A(i,j)*xi(j) + soma;
end
end
x(i) = (-soma + b(i))/A(i,i);
xi(i) = x(i); % Atualiza o vetor soluo inicial
end
erro = norm(x - xi1, inf)/norm(x,inf); % Erro relatifo (N inf)
erros(Niter) = erro; % Vetor contendo o erro de cada iterao
xi = x;
xi1 = xi;
end
Conv = 1;
else
disp('A no uma matrix quadrada')
end

12

A complexidade computacional do algortmo dada segundo a tab. (1.5.1).

Operaes Complexidade
adies
k kn kn + +
2

multiplicaes kn n k +
2
) 1 (
divises k n +

Tabela 1.5.1 Complexidade de Gauss-Seidel usando k iteraes em sistema de ordem n > 1.
(Campos, filho, 2001).

1.6 Mtodo Iterativo da Sobre-Relaxao Sucessiva

Considerando o sistema linear da eq. (1.4.1), com a matriz A sendo
decomposta em U D L A + + = , sendo D uma matriz diaginal, L e U duas
matrizes triangulares inferior e superior, respectivamente, com a diagonal nula.
Multiplicando o sistema linear por um parmetro , tem-se:

; ) ( b x U D L = + + (1.6.1)

Somando o vetor nulo x D D ) ( ao primeiro termo:

;
; ) ( ] ) 1 [( ) (
; ] ) 1 [( ) (
; ] ) 1 [( ) (
; ) ( ) (
1
1 1 1
1
e Rx x
b L D x U D L D x
b x U D x L D
b x U D x L D
b x U D L x D D
+ =
+ + + =
+ = +
+ = +
= + + +
+
+
+
k k
k k
k k







(1.6.2)


(1.6.3)

Onde,
] ) 1 [( ) (
1
U D L D R + =

a matriz de iterao do mtodo da
sobre-relaxao sucessiva (SOR: sucessive over-relaxation).

13

Uma outra maneira de representar a forma de iterao do mtodo da sobre-
relaxao a seguinte, a partir da eq. (1.6.2):

; ) 1 ( ) (
; ) 1 ( ) (
; ] ) 1 [( ) (
1 1 1
1 1
1
k k k k
k k k k
k k



x b Ux Lx D x
Dx b Ux Lx Dx
b x U D x L D
+ + =
+ + =
+ = +
+ +
+ +
+





(1.6.4)

O valor inicial utilizado para a iterao ser o mesmo da eq. (1.4.6).
A convergncia do mtodo SOR depende da escolha do parmetro ,
necessrio que 2 0 < < para garantir a convergncia. Usualmente, utiliza-se
2 1 < < . Um valor timo de pode ser calculado segundo a eq. (1.6.5).

;
) ( 1 1
2
2
J +
=
otim

(1.6.5)

Onde, J a matriz iterativa do mtodo de Jacobi.
Na equao anterior
otim

determinado de forma a produzir o menor raio


espectral da matriz de iterao no mtodo SOR.

1.6.1 Algortmo e complexidade

Na fig. (1.6.1) apresentada a rotina, criada no ambiente Matlab, que resolve um
sistema linear do tipo b Ax = pelo mtodo iterativo da sobre-relaxao sucessiva. Os
parmetros de entrada so: a matriz A, o vetor b , a tolerncia desejada , o nmero
mximo de iteraes
mx
k
e o parmetro . Os valores de e
mx
k
so utilizados
como critrios de parada, conforme eqs. (1.3.2) e (1.3.3), respectivamente.
A complexidade do mtodo SOR a mesma mostrada na tab. (1.5.1).

14



Figura 1.6.1 Rotina do mtodo iterativo de Jacobi em Matlab.

function [x,Niter,erros,Conv]=SOR(A,b,Tol,IterMax,w)
% Esta rotina soluciona um sistema linear do tipo Ax=b, pelo mtodo
% iterativo da sobre-relaxao sucessiva.
% Parmetros de entrada:
% A: Matriz de coeficientes nxn; b: Vetor de constantes;
% Tol: Tolerncia desejada;
% IterMax: Nmero mximo de iteraes desejado;
% w: parmetro 0 < w < 2
% Parmetros de sada:
% x: vetor soluo;
% Niter: Nmero de iteraes realizadas;
% erro: Erro relativo em norma infinita;
% Conv: Informao de convergncia (Conv=1 houve convergncia; Conv=1 no
% houve convergncia).
[m,n]=size(A); % Verifica tamanho da matriz A
if m == n % Verifica se A uma matriz quadrada
xi = zeros(m,1); % Cria vetor soluo inicial
x = zeros(m,1); % Cria vetor soluo final
for i = 1 : m
if A(i,i) == 0
error('A possui zero na diagonal')
end
xi(i) = b(i)/A(i,i); % Monta vetor soluo inicial
xi1 = xi; % Vetor que armazena valores iniciais de xi
end
erro = 1; % Atribui valor inicial ao erro
Niter = 0; % Nmero de iteraes
while erro > Tol
Niter = Niter + 1;
if Niter == IterMax
Conv = 0;
error('Nmero mximo de iteraes foi atingido')
end
for i = 1 : m
soma = 0;
for j = 1 : n
if i ~= j
soma = A(i,j)*xi(j) + soma;
end
end
x(i) = w*(-soma + b(i))/A(i,i) + (1 - w)*xi(i);
xi(i) = x(i); % Atualiza o vetor soluo inicial
end
erro = norm(x - xi1, inf)/norm(x,inf); % Erro relatifo (N inf)
erros(Niter) = erro; % Vetor contendo o erro de cada iterao
xi = x;
xi1 = xi;
end
Conv = 1;
else
disp('A no uma matrix quadrada')
end

15

E tem como parmetros de sada o vetor soluo x , o nmero de iteraes k , o
erro relativo
k
em norma infinita de cada iterao e informa se ocorreu convergncia
dentro do nmero de iteraes escolhido com base na tolerncia informada ( 1 = Conv )
ou no ( 0 = Conv ).

2 RESULTADOS NUMRICOS


Nessa seo sero analisados dois sistemas lineares distintos, utilizando-se os
trs mtodos iterativos apresentados no trabalho: mtodo de Jacobi, mtodo de Gauss-
Seidel e mtodo da sobre-relaxao sucessiva. Sobre esses dois problemas sero
realizadas anlises de convergncia e do raio espectral de cada matriz de iterao.

2.1 Primeiro Caso

O primeiro problema numrico a ser anlisado consiste em um exerccio
proposto por Datta, 1995, exerccio 49 pgina 307. Dado pelo seguinte sistema linear:

;
0
0
0
0
0
1
4 1 0 1 0 0
1 4 1 0 1 0
0 1 4 0 0 1
1 0 0 4 1 0
0 1 0 1 4 1
0 0 1 0 1 4
6
5
4
3
2
1

(
(
(
(
(
(
(
(







x
x
x
x
x
x

(2.1.1)

Como critrios de parada sero utilizados os seguintes valores:

; 30
; 001 . 0
=
=
mx
k


(2.1.2)

16

Na resoluo do sistema linear pelo mtodo SOR ser utilizado o valor timo do
parmetro , o qual resulta em
128 . 1 =
otim

.
Foram obtidos os seguintes valores valores para os raios espectrais das matrizes
de iterao para cada processo, conforme tab. (2.1.1).

( ) 6036 , 0 = J
( ) 3643 , 0 = S
( ) 1128 , 0 = R

Tabela 2.1.1 Raios espectrais das matrizes de iterao para o primeiro caso.

Na fig. (2.1.1) so mostrados os valores dos erros relativos, obtidos pela norma
infinita, para cada iterao nos trs mtodos utilizados.

0 1 2 3 4 5 6 7 8 9 10 11 12
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
Nmero de iteraes -
E
r
r
o

r
e
l
a
t
i
v
o

-

Anlise de Convergncia


Mtodo de Jacobi
Mtodo de Gauss-Seidel
Mtodo da Sobre-Relaxao

Figura 2.1.1 Anlise de convergncia para o primeiro caso.

Particularmente para o mtodo SOR, analisada a influncia do parmetro
na convergncia da soluo. A anlise realizado comparando-se o nmero de
iteraes necessrias para que se atinja a tolerncia desejada, para valores de
5 , 1 1 < < , com incrementos de 05 , 0 = . Conforme fig. (2.1.2).

17

1 1.05 1.1 1.15 1.2 1.25 1.3 1.35 1.4 1.45 1.5
5
5.5
6
6.5
7
7.5
8
8.5
9
9.5
10
Parmetro
N

m
e
r
o

d
e

i
t
e
r
a

e
s

-

Anlise de convergncia com relao a



Figura 2.1.2 Anlise de convergncia com relao a para o primeiro caso.


2.2 Segundo Caso

No segundo problema ser resolvido um sistema linear cuja matriz de
coeficientes A uma matriz esparsa de ordem 36 36 , mostrada nas tabs. (2.2.1),
(2.2.2) e (2.2.3). E b um vetor de ordem 36, dado por:

. 36 ,..., 2 , 1 :
]; 34 , 14 , 1 [ : ; 0
; 34 : ; 2
]; 14 , 1 [ : ; 1
=

=
=
= i com
i para
i para
i para
b
i

(2.2.1)

Como critrios de parada sero utilizados os seguintes valores:

; 100
; 005 . 0
=
=
mx
k


(2.2.2)


18

Matriz A - coluna 01 a 12
0,0216 0 0 0 0 0 0 0 0 0 0 0
0 0,1963 0 0 0 0 0 0 0 0 0 0
0 0 5,7512 0 0 0 0 0 0 0 0 0
0 0 0 1,081 0 0 0 0 0 0 0 0
0 0 0 0 5,7512 0 0 0 0 0 0 -0,4601
0 0 0 0 0 0,0202 0 0 0 0 0 0
0 0 0 0 0 0 0,1618 0 0 0 0 0
0 0 0 0 0 0 0 0,1618 0 0 0 0
0 0 0 0 0 0 0 0 1,0135 0 0 0
0 0 0 0 0 0 0 0 0 5,3918 0 0
0 0 0 0 0 0 0 0 0 0 5,3918 0
0 0 0 0 -0,4601 0 0 0 0 0 0 0,1963
-0,0108 0 0 0 0 0 0 0 0 0 0 0
0 -0,0982 0,4601 0 0 0 0 0 0 0 0 0
0 -0,4601 1,4378 0 0 0 0 0 0 0 0 0
0 0 0 -0,5405 0 0 0 0 0 0 0 0
0 0 0 0 1,4378 0 0 0 0 0 0 0
0 0 0 0 0 -0,0101 0 0 0 0 0 0
0 0 0 0 0 0 -0,0809 0 0 0 -0,4044 0
0 0 0 0 0 0 0 -0,0809 0 0,4044 0 0
0 0 0 0 0 0 0 0 -0,5067 0 0 0
0 0 0 0 0 0 0 -0,4044 0 1,3479 0 0
0 0 0 0 0 0 0,4044 0 0 0 1,3479 0
0 0 0 0 0 0 0 0 0 0 0 -0,0982
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0,4601
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0

Tabela 2.2.1 Matriz de coeficientes A, coluna 01 a 12.



19

Matriz A - coluna 13 a 24
-0,0108 0 0 0 0 0 0 0 0 0 0 0
0 -0,0982 -0,4601 0 0 0 0 0 0 0 0 0
0 0,4601 1,4378 0 0 0 0 0 0 0 0 0
0 0 0 -0,5405 0 0 0 0 0 0 0 0
0 0 0 0 1,4378 0 0 0 0 0 0 0
0 0 0 0 0 -0,0101 0 0 0 0 0 0
0 0 0 0 0 0 -0,0809 0 0 0 0,4044 0
0 0 0 0 0 0 0 -0,0809 0 -0,4044 0 0
0 0 0 0 0 0 0 0 -0,5067 0 0 0
0 0 0 0 0 0 0 0,4044 0 1,3479 0 0
0 0 0 0 0 0 -0,4044 0 0 0 1,3479 0
0 0 0 0 0 0 0 0 0 0 0 -0,0982
0,0216 0 0 0 0 0 0 0 0 0 0 0
0 0,1963 0 0 0 0 0 0 0 0 0 0
0 0 5,7512 0 0 0 0 0 0 0 0 0
0 0 0 1,081 0 0 0 0 0 0 0 0
0 0 0 0 5,7512 0 0 0 0 0 0 -0,4601
0 0 0 0 0 0,0202 0 0 0 0 0 0
0 0 0 0 0 0 0,1618 0 0 0 0 0
0 0 0 0 0 0 0 0,1618 0 0 0 0
0 0 0 0 0 0 0 0 1,0135 0 0 0
0 0 0 0 0 0 0 0 0 5,3918 0 0
0 0 0 0 0 0 0 0 0 0 5,3918 0
0 0 0 0 -0,4601 0 0 0 0 0 0 0,1963
-0,0108 0 0 0 0 0 0 0 0 0 0 0
0 -0,0982 0,4601 0 0 0 0 0 0 0 0 0
0 -0,4601 1,4378 0 0 0 0 0 0 0 0 0
0 0 0 -0,5405 0 0 0 0 0 0 0 0
0 0 0 0 1,4378 0 0 0 0 0 0 0
0 0 0 0 0 -0,0101 0 0 0 0 0 0
0 0 0 0 0 0 -0,0809 0 0 0 -0,4044 0
0 0 0 0 0 0 0 -0,0809 0 0,4044 0 0
0 0 0 0 0 0 0 0 -0,5067 0 0 0
0 0 0 0 0 0 0 -0,4044 0 1,3479 0 0
0 0 0 0 0 0 0,4044 0 0 0 1,3479 0
0 0 0 0 0 0 0 0 0 0 0 -0,0982

Tabela 2.2.2 Matriz de coeficientes A, coluna 13 a 24.



20

Matriz A - coluna 25 a 36
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0,4601 0 0 0 0 0 0 0
-0,0108 0 0 0 0 0 0 0 0 0 0 0
0 -0,0982 -0,4601 0 0 0 0 0 0 0 0 0
0 0,4601 1,4378 0 0 0 0 0 0 0 0 0
0 0 0 -0,5405 0 0 0 0 0 0 0 0
0 0 0 0 1,4378 0 0 0 0 0 0 0
0 0 0 0 0 -0,0101 0 0 0 0 0 0
0 0 0 0 0 0 -0,0809 0 0 0 0,4044 0
0 0 0 0 0 0 0 -0,0809 0 -0,4044 0 0
0 0 0 0 0 0 0 0 -0,5067 0 0 0
0 0 0 0 0 0 0 0,4044 0 1,3479 0 0
0 0 0 0 0 0 -0,4044 0 0 0 1,3479 0
0 0 0 0 0 0 0 0 0 0 0 -0,0982
0,0216 0 0 0 0 0 0 0 0 0 0 0
0 0,1963 0 0 0 0 0 0 0 0 0 0
0 0 5,7512 0 0 0 0 0 0 0 0 0
0 0 0 1,081 0 0 0 0 0 0 0 0
0 0 0 0 5,7512 0 0 0 0 0 0 -0,4601
0 0 0 0 0 0,0202 0 0 0 0 0 0
0 0 0 0 0 0 0,1618 0 0 0 0 0
0 0 0 0 0 0 0 0,1618 0 0 0 0
0 0 0 0 0 0 0 0 1,0135 0 0 0
0 0 0 0 0 0 0 0 0 5,3918 0 0
0 0 0 0 0 0 0 0 0 0 5,3918 0
0 0 0 0 -0,4601 0 0 0 0 0 0 0,1963

Tabela 2.2.3 Matriz de coeficientes A, coluna 25 a 36.


21

Na resoluo do sistema linear pelo mtodo SOR ser utilizado o valor timo do
parmetro , o qual resulta em
4784 . 1 =
otim

.
Foram obtidos os seguintes valores valores para os raios espectrais das matrizes
de iterao para cada processo, conforme tab. (2.2.4).

( ) 9357 , 0 = J
( ) 8755 , 0 = S
( ) 4784 , 0 = R

Tabela 2.2.4 Raios espectrais das matrizes de iterao para o primeiro caso.

Na fig. (2.2.1) so mostrados os valores dos erros relativos, obtidos pela norma
infinita, para cada iterao nos trs mtodos utilizados.

0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 3435
0
0.2
0.4
0.6
0.8
Nmero de iteraes -
E
r
r
o

r
e
l
a
t
i
v
o

-

Anlise de Convergncia


Mtodo de Jacobi
Mtodo de Gauss-Seidel
Mtodo da Sobre-Relaxao

Figura 2.2.1 Anlise de convergncia para o segundo caso.

A anlise de convergncia em funo do parmetro para o segundo problema
mostrada na fig. (2.2.2), para valores de 75 , 1 25 , 1 < < , com incrementos de
05 , 0 = .


22

1.25 1.3 1.35 1.4 1.45 1.5 1.55 1.6 1.65 1.7 1.75
9
10
11
12
13
14
15
16
17
Parmetro
N

m
e
r
o

d
e

i
t
e
r
a

e
s

-

Anlise de convergncia com relao a



Figura 2.2.2 Anlise de convergncia com relao a para o segundo caso.

3 DISCUSSO DOS RESULTADOS


Nas tabs. (3.1.1) e (3.1.2) so mostrados os nmeros de iteraes necessrias
para a convergncia do primeiro e segundo problema apresentados, sob a condio da
tolerncia desejada, e os valores finais dos erros relativos obtidos para cada mtodo.

Jacobi Gauss-Seidel SOR
Nmero de iter. 12 7 5
Erro relativo 0,0007 0,0005 0,0006

Tabela 3.1.1 Resultados de convergncia para o primeiro caso.

Jacobi Gauss-Seidel SOR
Nmero de iter. 31 21 9
Erro relativo 0,005 0,0048 0,005

Tabela 3.1.2 Resultados de convergncia para o segundo caso.


23

Em observao s figs. (2.1.1), (2.2.1) e s tabs. (3.1.1), (3.1.2) nota-se, que
apesar de obter um erro inicial mais alto, o mtodo iterativo SOR convergiu mais
rapidamente para ambos os sistemas lineares solucionados, atingindo a tolerncia
desejada para cada um deles. O segundo mais rpido foi o mtodo de Gauss-Seidel.
Esses resultados de convergncia eram esperados, pois os raios espectrais das
matrizes de iterao dos diferentes mtodos seguem a mesma ordem apresentada na
anlise de convergncia, para ambos os problemas.
Nas anlises realizadas em funo do parmetro , mostradas nas figs. (2.1.2)
e (2.2.2), observa-se que realmente o mtodo SOR converge para a soluo, mais
rapidamente, quando utilizado o valor de
otim

, que para o primeiro caso foi


128 . 1 =
otim

e para o segundo
4784 . 1 =
otim

.


4 CONCLUSO

Com a realizao desse trabalho possvel notar que cada um dos mtodos
numricos utilizados possui suas caractersticas prprias, estritamente ligadas s
propriedades das matrizes de iterao. Para os problemas analisados o mtodo
iterativo da sobre-relaxao sucessiva se mostrou ser mais eficiente. Porm, os trs
mtodos so limitados quanto generalidade da matriz de coeficientes A, essa no
pode possuir valores nulos na diagonal principal, o que vai de encontro condio de
ser uma matriz diagonalmente dominante, Teorema 1.2. E essa mesma matriz deve
possuir um baixo valor do raio espectral, Teorema 1.1.
Tambm possvel perceber que a implementao computacional desses
mtodos numricos possui diferenas e particularidades quando comparada ao
problema analtico. Algumas pr-analises so necessrias para a definio e
implementao do mtdo numrico a ser utilizado.




24

REFERNCIAS BIBLIOGRFICAS

Bronson, R. "Matrix Operations", Mac Graw Hill, 1989.
Campos, filho, F. F. Algortmos Numricos, LTC, 2001.
Datta, B. N. Numerical Linear Algebra and Applications. Brooks/Cole Publishing,
1995.
Golub, G., Van Loan, C."Matrix Computations", John Hopkins, 1984.

Você também pode gostar