Buscar

Sistema Linear

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 29 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 
 
Modelagem Numérica 
 
 
Capítulo 1 
 
 
Sistemas Lineares 
 
 
1.1 - Introdução 
 
Seja o sistema: 
1yx2
3yx2


 
A partir de procedimentos da álgebra elementar, obtém-se a solução x = y = 1. 
Analisando-se o sistema podemos depreender que “x” e „y” são as variáveis 
envolvidas, que seus coeficientes são: 2, 1, 2, e, -1 e que 3 e 1 são os termos 
independentes. 
O sistema pode ser representado na forma matricial: 












 1
3
y
x
.
12
12 
 
Que será útil em tratamentos envolvendo sistemas de múltiplas incógnitas e 
resolução via algoritmo estruturado. 
2 
 
 
Sob este prisma seria conveniente adotar-se a convenção: x = x1 e y = x2. E, 
em relação aos coeficientes das variáveis, fazer-se: 
 
Assim como considerar-se y1 = 3 e y2 = 1 
Resultando a forma matricial: 
 
Tratando-se de sistemas envolvendo “n” equações e “n” incógnitas ter-se-ia: 
nnnn22n11n
2nn2222121
1nn1212111
yxa...xaxa
.
.
.
yxa...xaxa
yxa...xaxa


 
 
Resultando a notação matricial: 























































n
2
1
n
2
1
nn3n2n1n
n2232221
n1131211
y
.
,
.
y
y
x
.
.
.
x
x
.
a...aaa
.....
.
.
.
.
.
.
.
.
.
.
a...aaa
a...aaa
, ou 
    yx.A 
, desde que: 
 



















nnnnn
n
n
aaaa
aaaa
aaaa
A
...
.....
.
.
.
.
.
.
.
.
.
.
...
...
321
2232221
1131211
; 
 



















n
2
1
x
.
.
.
x
x
x
; e, 
 



















n
2
1
y
.
.
.
y
y
y
. 
Um termo genérico da linha “i” e da coluna “j” da matriz dos coeficientes seria 
representado por aij. 
 
3 
 
 
1.2 - Cálculo de Determinantes 
 
Seja a matriz 
 A
 de determinante 
A
: 
 













































nnjnnjjnnnn
nijijijiiii
injiijjiiii
nijijijiiii
njjj
njjj
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
A
......
.........
.........
.........
......
......
......
.............
.............
.............
......
......
)1()1(221
)1()1)(1()1()1)(1(3)1(2)1(1)1(
)1()1(321
)1()1)(1()1()1)(1(3)1(2)1(1)1(
2)1(22)1(2232221
1)1(11)1(1131211
 
Omitindo-se suas i-ésima linha e j-ésima coluna ter-se-ia o determinante de 
ordem (n-1) ou determinante menor 
ijM
: 
nnjnjnnnn
nijijiiii
nijijiiii
njj
njj
ij
aaaaaa
aaaaaa
aaaaaa
aaaaaa
aaaaaa
M
......
........
........
........
......
......
............
............
............
......
......
)1()1(221
)1()1)(1()1)(1(3)1(2)1(1)1(
)1()1)(1()1)(1(3)1(2)1(1)1(
2)1(2)1(2232221
1)1(1)1(1131211






 
Define-se cofator do termo aij de uma matriz [A] o determinante: 
ij
ji
ij MA
)(
)1(

 
4 
 
O determinante da matriz [A] pode ser expresso na versão: 
ininiiiiii AaAaAaAaA  . . .332211 


n
k
ikik Aa
1
 
Que representa o desenvolvimento pelos determinantes menores ao longo de 
sua i-ésima linha. Analogamente, poderiamos fazer o desenvolvimento por sua 
j-ésima coluna, na forma: 



n
k
kjkj AaA
1
 
Um determinante de ordem “n” é expresso em termos de um somatório 
envolvendo determinantes de ordem “n-1”, os quais, por sua vez, podem ser 
escritos a partir de determinantes de ordem “n-2” e assim por diante. 
Exemplo: Seja 
 











111
311
001
A
 
Efetuando-se o cálculo do determinante mediante o desenvolvimento pelos 
determinantes menores ao longo da primeira linha da matriz [A], obtém-se: 
131312121111 AaAaAaA 
 
2)11()1.(0)31()1.(0)31()1.(1
)31()21()11(  A
 
De outra forma, Efetuando-se o cálculo do determinante mediante o 
desenvolvimento pelos determinantes menores ao longo de sua primeira 
coluna, chega-se a: 
313121211111 AaAaAaA 
 
Ou: 
2)00()1.(1)00()1.(1)31()1.(1A )13()12()11(   
5 
 
Resultando, portanto, o mesmo valor como teria de ser. 
Definição: 
Uma matriz é triangular superior se todos os seus termos localizados abaixo da 
diagonal principal são nulos e é triangular inferior quando tal se dá com os seus 
termos acima da referida diagonal. 
Exemplos: 










400
320
121
 













2543
0398
0011
0001
 
A primeira matriz é triangular superior e a segunda é triangular inferior. 
Matrizes deste tipo são particularmente convenientes, uma vez que, o grande 
número de termos nulos facilita significativamente o desenvolvimento dos 
menores determinantes. Observe-se que para uma matriz triangular [A] tem-se: 
nnaaaaA . ..332211
 
De fato se: 
 



















nn3n2n1n
2221
11
a...aaa
.....
.
.
.
.
.
.
.
.
.
.
0...0aa
0...00a
A
 
O desenvolvimento ao longo da primeira linha seria: 
nn AaAaAaAaA 11131312121111 . . . 
, e 
nAAAAaA 113121111 .0. . ..0.0 
 
0. . .001111  AaA
 
6 
 
Poder-se-ia tratar 
11A
 efetuando-se seu desenvolvimento também por sua 
primeira linha, obtendo-se: 
0. . .00222211  BaA
 
Sendo 
22B
 o determinante de ordem “n-1” obtido de [A11] a partir da 
eliminação de sua primeira linha e de sua primeira coluna. 
0...00..0. . .00 2222111111  BaaAaA
 
Cada um dos cofatores subsequentes será matriz triangular inferior de modo 
que: 
0. . .00333322  CaB
 
e 
0...0.0...00.. 33332211222211  CaaaBaaA
 
E, por sua vez, 
0. . .00444433  DaC
 
De modo que: 
nnaaaaDaaaaA ....0...0. 3322114444332211 
 
Exemplo: Seja encontrar o determinante da matriz: 













6000
5200
3310
2235
 
60)6).(2).(1.(5
60
52
).1.(5
600
520
331
.5
6000
5200
3310
2235




 
7 
 
Observe-se, como esperado, que os números do produto acima indicado são, 
exatamente, os termos da diagonal principal da matriz. 
 
 
1.3 - Eliminação Gaussiana 
 
Visa transforma uma matriz qualquer em matriz triangular superior ou inferior e 
assim, facilitar a abordagem de seu determinante mediante algoritmo 
estruturado. 
 
Propriedades: 
I – A adição de qualquer linha ou múltiplo dela a qualquer outra linha não altera 
o valor do determinante. 
Exemplo: seja o sistema: 












5
3
y
x
23
12 
Cuja solução é x = y =1. O determinante da matriz dos coeficientes será: 
D1 = 2x2 – 3x1 = 1 
Multiplicando-se a segunda equação por (-3/2), somando-se à primeira, e 
substituindo a primeira linha, pelo resultado de tal soma, obtém-se: 












5 
2/9
23
22/5
y
x
 
Este último sistemade equações apresenta a mesma solução do primeiro. Seu 
determinante é: 
D2 = (-5/2)x2-[3x(-2)] = 1 = D1 
8 
 
II – Mediante a troca de posição entre duas linhas ou duas colunas entre si, em 
uma matriz, o valor absoluto de seu determinante é mantido verificando-se, 
entretanto, mudança de sinal. 
Exemplo: Seja a matriz: 










123
122
111
 
Multiplicando-se a primeira linha por -2, somando a seguir o resultado à 
segunda linha, e, afinal substituindo a segunda linha por este último resultado 
obtém-se: 











123
100
111
 
Multiplicando-se, então, a primeira linha por -3, somando a seguir o resultado à 
terceira linha, e, substituindo-se a terceira linha por este último resultado, 
obtém-se: 












210
100
111
 
Permutando-se, enfim, a segunda linha com a terceira obtém-se: 












100
210
111
 
Cujo determinante é: 
D = -[1x(-1)x(-1)]=-1 
A exatidão de tal valor para o determinante pode ser constatada a partir do 
emprego de procedimento alternativo, voltado para o cálculo de determinantes 
9 
 
tais como a regra de Kramer ou os desenvolvimentos pelos determinantes 
menores aplicados à matriz em sua forma original de apresentação. 
Seja aplicar as duas propriedades à matriz: 
 



















nnnnn
n
n
aaaa
aaaa
aaaa
A
...
.....
.
.
.
.
.
.
.
.
.
.
...
...
321
2232221
1131211
 
A primeira tarefa é zerar todos os termos da coluna 1 localizados abaixo da 
diagonal principal. Entretanto, a11 pode ser nulo. Logo, devemos a priori, 
providenciar permutas de modo a nos assegurar que a11 seja não nulo. Vale 
ressaltar a vantagem de tal valor ser o maior possível, pois, esta particularidade 
contribui para minimizar erros de arredondamento. 
Uma vez efetuando-se as permutas oportunas para garantir valor não nulo para 
a11, e que tal termo seja o de maior valor da coluna, multiplique-se a primeira 
linha por a21/a11, subtraindo o resultado assim obtido da segunda linha e 
substituindo-se a segunda linha por tal valor. Ter-se-ia então para segunda 
linha: 
nn a
a
a
aa
a
a
aa
a
a
a 1
11
21
212
11
21
2211
11
21
21 ... 
 
Que, como pode ser visto, facilmente, anulou o primeiro termo da segunda 
linha. 
Analogamente, multiplicando-se a primeira linha por a31/a11 subtraindo o 
resultado da terceira linha e substituindo-se a terceira linha por tal valor anula-
se o primeiro termo da terceira linha. Os primeiros termos das linhas 4, 5, . . .,n 
são anulados de forma idêntica, ao final do que obtém-se a anulação de toda a 
primeira coluna abaixo da diagonal principal, de modo que a matriz assume a 
nova forma: 
10 
 
 



















nnnn
n
n
aaa
aaa
aaaa
A
'...''0
.....
.
.
.
.
.
.
.
.
.
.
'...''0
...
32
22322
1131211
 
Dada a importância do termo a11 no processo em explanação ele é 
denominado de pivot e o procedimento em discussão, de redução ou 
condensação pivotal. 
Se: 
 

















nnn
n
aa
aa
B
'...'
.....
.....
.....
'...'
2
222
 
Aplicando-se a redução pivotal a tal matriz zera-se sua primeira coluna abaixo 
da diagonal principal, e, portanto, todos os termos da segunda coluna da matriz 
[A], situados abaixo da dita diagonal. Aplicando-o, sucessivamente, o 
procedimento até a coluna de ordem “n-1” obtém-se a matriz triangular superior 
equivalente à matriz [A]: 
 



















 )1(
33
22322
1131211
...000
.....
.
.
.
.
0 
''
.
0
.
0
'...''0
...
n
nn
n
n
a
a
aaa
aaaa
A
 
cujo determinante é 
sn
nnaaaaaA )1(....
)1('''
44
''
33
'
2211 

. Onde “s” é o total de 
permutas de linhas, efetuadas. 
Como exemplo para cálculo de determinantes mediante eliminação gaussiana 
apresenta-se o algoritmo a seguir. 
 
11 
 
c******************************************************************************* 
c******************************************************************************* 
c 
c Determinante - Eliminação Gausiana 
c 
c 19 set 12 
c 
c******************************************************************************* 
c Fixação da precisão a praticar 
 implicit double precision (a-h,o-z) 
c Declaração de matriz 
 Dimension A(100,100) 
c Abertura de unidades de disco 
 open( 2, file = 'gaussdat', status = 'old') 
 open( 3, file = 'gaussout', status = 'unknown') 
c Leitura dos termos da matriz 
 Read(2,*)n ! Ordem da matriz que terá o determinante calculado 
 read(2,*)((A(i,j), j = 1, n), i = 1, n) 
 sinal = 1.0 
 IRest = n - 1 ! Total de pivots 
c Inicio de laço segundo os (n - 1) pivots 
 do 200 i = 1, IRest 
12 
 
c Busca do maior termo na i-ésima coluna abaixo da diagonal principal 
para adotar como pivot 
 Amax = 0.0 
 do 50 k = i, n 
 termo = abs(A(k,i)) 
 dif = termo - Amax 
 if(dif)50,50,30 
 30 Amax = termo 
 L = k 
 50 continue 
c Verificação de que o termo encontrado é não nulo 
 if(Amax)80,60,80 
c na L-ésima linha o maior termo é i = L 
 80 Idif = L - i 
 if(Idif)90,120,90 
c i é diferente de L: Deve-se efetuar a permuta das linhas "i" e "L" 
 90 sinal = -sinal 
 do 100 j = 1, n 
 prov = A(i,j) 
 A(i,j) = A(L,j) 
 100 A(L,j) = prov 
c Inicio da redução pivotal 
 120 pivot = A(i,i) 
13 
 
 IProx = i + 1 
c Para cada linha após a iésima 
 do 200 j = Iprox, n 
c composição da constante multiplicadora da j-ésima linha 
 const = A(j,i)/pivot 
c Redução de cada termo da j-ésima linha 
 do 200 k = i, n 
 200 A(j,k) = A(j,k) - const*A(i,k) 
c Final da redução pivotal 
c******************************************************************************* 
c Impresão da matriz na versão triangularizada 
 write(3,310) 
 write(3, 320)((A(i,j), j = 1, n), i = 1, n) 
c****************************************************************************** 
c Cálculo do determinante 
 det = sinal 
 do 300 i = 1, n 
 300 det = det*A(i,i) 
c Impressão do valor do determinante 
c write(3,350)det 
c Finalização lógica do programa 
 60 stop 
 310 format(/,10x,'Matriz Triangularizada',/) 
14 
 
 320 format(4f15.9,/) 
 350 format(/, 10x, 'Det = ',f18.9) 
 end 
c Fechamento físico do algoritmo 
 
O algoritmo foi utilizado sobre a matriz: 
-1.0 3.0 5.0 2.0 
1.0 9.0 8.0 4.0 
0.0 1.0 0.0 1.0 
2.0 1.0 1.0 -1.0 
Obtendo-se para resultado a matriz triangular superior: 
2.000000000 1.000000000 1.000000000 -1.000000000 
0.000000000 8.500000000 7.500000000 4.500000000 
0.000000000 0.000000000 2.411764706 -0.352941176 
0.000000000 0.000000000 0.000000000 0.341463415 
Cujo Determinante é igual a 14.000000000. 
 
 
1.4 - Sistemas Lineares - Eliminação Gaussiana 
 
Seja o sistema:15 
 
32476
21344
72



zyx
zyx
zyx
 
 
Cuja forma matricial é: 































32
21
7
476
344
112
z
y
x
 
Sua resolução mediante a sistemática tradicional envolve algumas operações 
algébricas de multiplicação de toda a equação por certo número real 
convenientemente escolhido somas de equações com equações e 
substituições de valores encontrados em equações. 
Assim sob tal aspecto, com referência ao sistema linear acima apresentado, 
multiplicando-se a primeira equação por 2 e subtraindo-se o resultado assim 
obtido da segunda, e, também, multiplicando-se a primeira por 3 e subtraindo-
se tal resultado da terceira, resulta: 
114
72
72



zy
zy
zyx
 
Ou, na versão matricial: 































11
7
7
140
120
112
z
y
x
 
Observe-se que, este conjunto de operações, anulou os termos da primeira 
coluna abaixo da diagonal principal da matriz dos coeficientes, alterando 
inclusive os termos de suas segunda e terceira colunas, e os termos da matriz 
dos termos independentes da segunda e terceira linhas. 
Multiplicando-se, então, a segunda equação por 2 e subtraindo-se este 
resultado da terceira obtém-se: 
16 
 
3
72
72



z
zy
zyx
 
 
Que em linguagem matricial: 
































 3
7
7
100
120
112
z
y
x
 
Anulando-se, portanto, o termo da segunda coluna abaixo da diagonal principal 
da matriz dos coeficientes, alterando inclusive o termo de sua terceira linha e 
coluna, e o termo da matriz dos termos independentes da terceira linha. Em 
suma, a matriz dos coeficientes foi triangularizada. 
Como resultado obteve-se z = 3. A partir da retro substituição encontra-se x = 1 
e y = 2. 
 
Observe-se que a sequência de procedimentos acima aplicados guarda 
similaridade com o processo de eliminação gaussiana, de modo que é natural 
cogitar-se sua extensão para o emprego na resolução de sistemas de 
equações lineares. Para tal tomemos o sistema de equações: 























































nnnnnnn
n
n
y
y
y
x
x
x
aaaa
aaaa
aaaa
.
,
.
.
,
.
.
...
.....
.
.
.
.
.
.
.
.
.
.
...
...
2
1
2
1
321
2232221
1131211
 
 
Introduzindo-se na matriz dos coeficientes: 
17 
 
 



















nnnnn
n
n
aaaa
aaaa
aaaa
A
...
.....
.
.
.
.
.
.
.
.
.
.
...
...
321
2232221
1131211
 
A coluna correspondente aos termos independentes: 


















ny
y
y
.
,
.
2
1
 
Resulta a matriz aumentada: 


















n
2
1
nn3n2n1n
n2232221
n1131211
y 
.
.
.
y 
y 
a...aaa
.....
.
.
.
.
.
.
.
.
.
.
a...aaa
a...aaa
 
Entendendo-se as operações de triangularização pertinentes, inclusive, aos 
termos da nova coluna, a coluna dos termos independentes, tem-se: 

















 )1()1(
''
333
'
222322
11131211
...000
.......
....''00
'...''0
...
n
n
n
nn
n
n
ya
ya
yaaa
yaaaa
 
Culminando no sistema equivalente: 
18 
 

















































 )()(
.
''
'
.
.
...
....
''...''
'...''
...
1
3
2
1
3
2
1
1
333
22322
1131211
000
000
00
0
n
nn
n
nn
n
n
n
y
y
y
y
x
x
x
x
a
aa
aaa
aaaa
 
Donde se conclui que 
)1(
)1(



n
nn
n
n
n
a
y
x
 
A partir de então, deve-se proceder a retro substituição do valor de “xn” assim 
obtido, na linha anterior, para determinação do valor de “x(n-1)”; dos valores de 
“x(n-1)” e “xn”, na linha “n-2” para obtenção de “x(n-2)”; e, assim sucessivamente 
até a determinação de “x(n-3)”, . . . “x2”, “x1”. 
Apresenta-se abaixo um algoritmo estruturado destinado à resolução de 
sistemas de equações lineares a partir do procedimento de eliminação 
gaussiana. 
C MODULO COMPUTACIONAL PARA RESOLUCAO DE SISTEMAS DE EQUACOES 
LINEARES 
C ARQUIVO EQUACAO.FOR ELABORADO EM 29032000 
c Fixação da precisão a praticar 
 implicit double precision (a-h,o-z) 
c Declaração de matrizes 
 DIMENSION A(20,20),X(20) 
 Observe-se que no presente algoritmo a matriz é declarada para armazenar as 
incógnitas do sistema de equações. 
c Abertura de unidades de disco 
 OPEN(2,FILE='LINDAT',STATUS='OLD') 
 OPEN(3,FILE='LINOUT',STATUS='unknown') 
Leitura dos termos da matriz aumentada 
 READ(2,*)M ! Ordem da matriz dos coeficientes 
 N=M+1 ! Este commando inclui na matriz aumentada a coluna referente 
 aos termos independentes do sistema 
 READ(2,*)((A(I,J), J=1,N), I=1,M) 
 WRITE(3,320)((A(I,J), J=1,N), I=1,M) ; Observe-se que na leitura dos termos o “j” 
19 
 
 Vai até n = m + 1, incuindo-se assim a coluna 
 referente aos termos independentes do sistema 
 320 FORMAT(5F12.6,/) 
 IREST=M-1 ! Total de pivots 
 DO 200 I=1,IREST 
c Busca do maior termo na i-ésima coluna abaixo da diagonal principal 
para adotar como pivot 
 
 Amax=0.0 
 DO 50 K=I,M 
 TERMO=ABS(A(K,I)) 
 DIF=TERMO-Amax 
Verificação de que o termo encontrado é não nulo 
 IF(DIF.GT.0.0)THEN 
 Amax=TERMO 
 L=K 
 ENDIF 
 50 CONTINUE 
 IF(Amax.EQ.0.0)THEN 
 STOP 
 ENDIF 
 Idif=I-L 
 IF(Idif.NE.0)THEN 
 DO 100 J=1,N 
 PROV=A(I,J) 
 A(I,J)=A(L,J) 
 100 A(L,J)=PROV 
 ENDIF 
 
Inicio da redução pivotal 
 PIVOT=A(I,I) 
 Iprox=I+1 
Para cada linha após a iésima 
 DO 200 J=Iprox,M 
c composição da constante multiplicadora da j-ésima linha 
 CONST=A(J,I)/PIVOT 
20 
 
Observe-se que para o laço abaixo o “k” vai até “n”, incluindo, portanto, a 
coluna referente aos termos independentes que também são alterados na 
seqüência de cálculo 
 DO 200 K=I,N 
 200 A(J,K)=A(J,K)-CONST*A(I,K) 
c Final da redução pivotal 
c Impresão da matriz na versão triangularizada 
 WRITE(3,320)((A(I,J), J=1,N), I=1,M) 
Retrosubstituição 
 DO 500 I=1,M 
 IREV=M+1-I 
 Y=A(IREV,N) 
 IF(M.NE.IREV)THEN 
 DO 450 J=2,I 
 K=N+1-J 
 450 Y=Y-A(IREV,K)*X(K) 
 ENDIF 
 500 X(IREV)=Y/A(IREV,IREV) 
 DO 600 I=1,M 
 WRITE(3,550)I,X(I) 
 550 FORMAT('X(',I2,')=',F20.6)600 CONTINUE 
c Finalização lógica do programa 
 STOP 
 END 
c Fechamento físico do algoritmo 
c 
Seja utilizar-se o algorítmo acima para resolver o sistema: 































32
21
7
476
344
112
z
y
x
 
Os resultados obtidos foram: 
Matriz triangulaizada: 
21 
 
 6.000000 7.000000 4.000000 32.000000 
 0.000000 -1.333333 -0.333333 -3.666667 
 0.000000 0.000000 0.500000 1.500000 
Solução do Sistema: 
X( 1) = 1.000000; X( 2) = 2.000000; e, X( 3) = 3.000000 
Observe-se que a matriz triangularizada obtida mediante o algoritmo é diferente 
daquela obtida analiticamente. Tal diferença é devida ao fato de que, na 
resolução analítica, não foram realizadas as permutas para adotar como pivot, 
o termo de maior valor absoluto da coluna para a qual estavam sendo zerados 
os termos abaixo da diagonal principal. 
 
 
1.5 - Deficiências Numéricas 
 
Na sistemática concernente à redução pivotal, pequenos erros propagam-se 
com impacto significativo no resultado final, logo há a necessidade de se 
avaliar a magnitude desses erros. Como alternativa tem-se a substituição dos 
valores encontrados no sistema para verificação do atendimento a suas 
equações. Seja o sistema: 












 3
7
25
43
2
1
x
x
.
 
Cuja solução é x1 = x2 = 1. Caso erros tenham ocorrido, dos quais resultaram 
os valores x1 = 0,999 e x2 = 1,002, substituindo-se tais valores no sistema ter-
se-ia: 
99120021299905
00570021499903
,,,
,,,


xx
xx
 
22 
 
Podendo levar à conclusão de que o erro está afetando os resultados a partir 
da terceira casa decimal. 
Entretanto, observe-se o sistema: 












012
2
1011
11
2
1
,
.
, x
x 
Cuja solução é, igualmente, x1 = x2 = 1. Admitindo-se que, em razão da 
propagação de erros, encontrou-se x1 = 0,0 e x2 = 2,005. Substituindo-se tais 
valores no sistema resultaria: 
0052005200011
0052005200
,,,,
,,,


x
 
Supõe-se que o erro é de apenas 0,005, quando, na verdade, os erros na 
solução foram da ordem da unidade. 
Existem erros de outras fontes. Supondo-se que erros converteram o sistema: 












012
2
1011
11
2
1
,
.
, x
x
 
Em: 












0072
2
100011
11
2
1
,
.
, x
x
 
x1 = 100,0 e x2 = -98,0, também satisfaz ao sistema modificado. Têm-se um 
conjunto de equações, aproximadamente, satisfeitas por solução 
extremamente equivocada, caracterizando-se assim um sistema mal 
condicionado. O fator causa de tal fenômeno numérico é o valor quase nulo 
do determinante da matriz dos coeficientes, pois, um determinante 
característico nulo promove uma quantidade infinita de soluções ou nenhuma 
solução. Para diagnosticar o entrave de forma melhor diagramatizada, 
considere-se o sistema: 
 
23 
 
Escrevendo-se x1 em função de x2 resulta: 
2
11
12
11
1
1 x
a
a
a
y
x 
, e 
2
21
22
21
2
1 x
a
a
a
y
x 
 
Suas representações gráficas são retas no plano x1 - x2, que se interceptam no 
ponto referente à solução do sistema. Se tais retas forem quase paralelas, ou 
seja, se 
21
22
11
12
a
a
a
a

, a identificação do ponto de intersecção é significativamente 
dificultada. Observe-se que: 
002112221121122211
21
22
11
12  Aaaaaaaaa
a
a
a
a

 
 
Ou seja, o valor do determinante característico é quase nulo. Tal raciocínio 
pode ser estendido para um sistema de ordem arbitrária, entretanto, sob 
quaisquer ordens praticadas jaz a dificuldade de se avaliar a margem da 
aproximação que caracteriza acuradamente o fenômeno, reduzindo a 
sistemática ora deduzida ao campo da abstração. Uma alternativa viável para 
suplantar esta celeuma seria usufruir do artifício de gerar um fator de 
proporcionalidade para cada linha da matriz na forma: 
  2/122221 ... iniii aaak 
 
 
E a seguir dividir cada um dos termos dessas linhas por tal fator. O teste do 
mal condicionamento ficaria então resumido à comparação do valor do 
determinante assim normalizado com a unidade. Se ele for, substancialmente, 
menor que a unidade então o sistema é malcondicionado. O inconveniente 
deste procedimento é o trabalho adicional realizado para o cálculo de tal 
determinante, que seria efetuado, exclusivamente, para este fim. 
24 
 
Um procedimento mais rudimentar seria promover mudanças ínfimas no valor 
dos termos da matriz característica, e verificar se tal operação modifica, 
substancialmente, a solução. Se isto ocorrer o sistema é mal condicionado. 
 
 
1.6 – Método de Gauss-Seidel 
 
Trata-se de método iterativo aplicado, desde que convirja, a sistemas de 
ordens superiores, e, sistemas mal condicionados, em razão de ser pouco 
sensível às deficiências numéricas. Uma segunda desvantagem do método é 
que seu emprego envolve grande volume de cálculo. 
Ele é especialmente vantajoso quando a matriz característica apresenta muitos 
termos nulos, a exemplo da matriz de rigidez de problemas de análise 
estrutural com elevado número de graus de liberdade ou de indeterminação 
estática. 
Para sua explanação, considere-se o sistema: 























































nnnnnnn
n
n
y
y
y
x
x
x
aaaa
aaaa
aaaa
.
,
.
.
,
.
.
...
.....
.
.
.
.
.
.
.
.
.
.
...
...
2
1
2
1
321
2232221
1131211
 
Para o qual todos os termos da diagonal principal da matriz característica são 
não nulos. Para cada equação "i" do sistema escreva-se "xi" em função das 
demais variáveis. Assim procedendo obtém-se: 
 
25 
 
)...(
.
,
.
)...(
)...(
)...(
nnnnnn
nn
n
nn
nn
nn
xaxaxay
a
x
xaxaxay
a
x
xaxaxay
a
x
xaxaxay
a
x




2211
32321313
33
3
23231212
22
2
13132121
11
1
1
1
1
1
(***) 
 
A operação é iniciada a partir da estimativa de valores para os "xi", 
substituindo-os no segundo membro das equações (***), e, calculando-se 
assim novos valores para os "xi". Tomam-se então esses novos valores dos "xi" 
substituindo-os nas equações (***), e daí encontram-se novos valores dos "xi". 
O processo é repetido inúmeras vezes até o limite em que a diferença de 
valores entre duas iterações consecutivas seja inferior a certa tolerância pré-
estabelecida. 
 
O método em discussão é delicado uma vez que mesmo atendendo à 
tolerância pode não convergir para um valor correto dos "xi". E, às vezes a 
convergência é tão lenta que pode acontecer de a tolerância ser atendida 
mesmo antes de se dar a convergência. 
 
Uma solução que nas mais das vezes funciona é efetuar a iteração mediante 
uma ordenação diferente substituindo-se o "xi" estimado na equação de ordem 
"j", diferente de "i". 
Assim, por exemplo, seja o sistema: 
3xxxx2
2xx
15x4x8x9x
10x2x5x3x
4321
42
4321
4321




IV
 III
 II
 - I 
 
26 
 
Em uma primeira decisão podemos tirar o valor de “x1” e “x2” da primeira e dasegunda equações, respectivamente, “x3” da quarta equação e “x4” da terceira 
equação, e, realizar o procedimento iterativo sobre a série de equações: 
 
24
4213
4312
4321
xx
xxx23x
9/x4x8xx
10x2x5x3x
-2 III
IV
 -15 II
- I 




 
Em não logrando êxito, podemos mudar a sequência e tirar o valor de “x1” da 
quarta equação, o de “x2” da segunda, o de “x3” da primeira e o de “x4” da 
terceira equação, e, realizar o procedimento iterativo sobre a série de 
equações: 
 
 
 
 
24
43213
4312
4321
xx
x2x5x3x10x
9/x4x8xx
2/xxx3x
-2 III
 I
 -15 II
IV 




 
 
Critério de convergência: O método de Gauss-Seidel converge se o 
valor absoluto de cada termo da diagonal principal da matriz característica for 
maior que a soma dos valores absolutos dos demais termos da mesma linha ou 
da mesma coluna. 
Seja resolver o sistema: 








































3
2
15
10
1112
1010
4891
2531
4
3
2
1
x
x
x
x
. 
Utilizando-se o algoritmo: 
C MODULO COMPUTACIONAL PARA RESOLUCAO DE SISTEMAS DE 
EQUACOES LINEARES 
27 
 
c Método de Gauss-Seidel 
c Unidade de disco: 
 open( 3, file = 'soluout', status = 'unknown') 
c Estimativa Inicial: 
 x1 = 0.0 
 x2 = 0.0 
 x3 = 0.0 
 x4 = 0.0 
c Iteração na ordem natural: 
 DO 100 i = 1, 100 
 x1 = (10.0 - 3.0*x2 - 5.0*x3 – 2.0*x4)/(-1.) 
 x2 = (15.0 - x1 - 8.0*x3 - 4.0*x4)/9.0 
 x3 = (-3.0 - 2.0*x1 - x2 + x4)/1.0 
 x4 = (2.0 - x2)/1.0 
 100 continue 
c Resultados 
 write(3,*)"Resultados da iteração na ordem natural:" 
 write(3,300)x1,x2,x3,x4 
c Nova estimativa: 
 x1 = 0.0 
 x2 = 0.0 
 x3 = 0.0 
 x4 = 0.0 
28 
 
c Iteração em ordem alternativa: 
 DO 200 i = 1, 100 
 x1 = (-3.0 - x2 - x3 + x4)/(2.) 
 x2 = (15.0 - x1 - 8.0*x3 - 4.0*x4)/9.0 
 x3 = (10.0 + x1 - 3.0*x2 - 2.0*x4)/5.0 
 x4 = (2.0 - x2)/1.0 
 200 continue 
c Resultados 
 write(3,*)"Resultados da iteração na ordem alternativa:" 
 write(3,300)x1,x2,x3,x4 
 STOP 
 300 FORMAT(4F12.6,/) 
 END 
 
 
 
 
Os resultados obtidos serão: 
Resultados da iteração na ordem natural: 
 NaN NaN NaN NaN 
NaN significa valor excessivamente pequeno o que quer dizer que as iterações 
não convergiram. 
 
29 
 
 Resultados da iteração na ordem alternativa: 
 -1.000000 0.000000 1.000000 2.000000 
Neste caso houve a convergência, e, esta é a solução do sistema.

Continue navegando