- OSIsoft/DEQ-UFCG

Propaganda
Universidade Federal de Campina Grande – UFCG
Centro de Ciências e Tecnologias – CCT
Unidade Acadêmica de Engenharia Química - UAEQ
Métodos Numéricos
para Engenharia Química
Aula 11
Prof. Nilton Silva
Conteúdo
• Sistemas de equações algébricas lineares
– Método de Gauss
– Método de Gauss com Pivotamento Parcial
– Método de Gauss-Seidel
• Interpolação Polinomial
– Método Direto
– Polinômios de Lagrange
– Spline
Solução de sistemas lineares
Os métodos para solução de sistemas lineares são dependentes da estrutura da
matriz A (matriz, densa, esparsa, simétrica, bloco-diagonal, etc.)
I.
Métodos diretos:
•
eliminação Gaussiana;
•
Fatorações (LU, LLT, LDLT, QR, ...);
•
Método de Thomas;
II.
Métodos iterativos:
•
Método de Jacobi;
•
Método de Gaus-Seidel;
•
Métodos SOR;
•
Minimização;
Solução de sistemas lineares
Para o caso não-linear, a solução do sistema de equações
algébricas F(x) = 0 pode ser obtida pelos métodos:
• Substituições sucessivas;
• Newton-Raphson.
Método de Thomas
• A solução do sistema pode ser obtido a partir de uma Matriz
tridiagonal:
Decoposition :
for k  2, n
ek  ek / f k 1
f k  f k  ek g k 1
 f1
e
 2









g1
f2
e3
g2
f3
.
g3
.
.
.
.
.
.
.
en 1
.
f n 1
en 1
  x1   r1 
 x   r 
 2   2 
  x3   r3 

  
.

  . 


 .   . 
  

 .   . 

  

g n 1  xn 1  rn 1 

f n   xn   rn 
end
Foward substitution
for k  2, n
rk  rk  ek rk 1
end
Back substitution
xn  rn / f n
for k  n  1,1,1
xk  (rk  g k xk 1 ) / f k
end
Método de Thomas
Exemplo:
2.04  1
Dado o sistema:   1 2.04




1
 T1   40.8 
 T   0.8 
1

  2   

2.04  1  T3   0.8 

 1 2.04 T4  200.8
Decoposition :
for k  2, n
ek  ek / f k 1
f k  f k  ek g k 1
end
Foward substitution
for k  2, n
rk  rk  ek rk 1
end
Back substitution
xn  rn / f n
for k  n  1,1,1
xk  (rk  g k xk 1 ) / f k
end
T1  159.480
T2  124.538
T3  93.778
T4  65.970
Decomposição de Cholesky
Para [A]=[A]T, uma matriz simétrica, o algoritmo de Cholesky é
baseado no fato de que a matriz simétrica pode ser decomposta
em:
T
[ A]  [ L][ L]
Ou seja, os fatores triangulares resultantes são a transposta de
uma da outra. Assim o resultado pode ser expresso pelas relações:
i 1
lki 
aki   lij lkj
j 1
lii
k 1
lkk  akk   lkj2
j 1
para i  1,2,..., k  1
Decomposição de Cholesky
Exemplo:
Aplicar a decomposição de Cholesky na matriz:
 6 15 55 
[ A]  15 55 225
55 225 979
Resolução
Para:
Decoposition :
for k  1, n
for i  1, k  1
sum  0
for j  1, i  1
sum  sum  aij akj
end
aki  (aki  sum) / aii
k 1
l11  a11  2.4495
k 2
a
l21  21  6.1237
l11
l22  a22  l212  4.1833
2.4495


L  6.1237 4.1833

22.454 20.917 6.1101
end
sum  0
for j  1, k  1
sum  sum  akj2
end
akk  akk  sum
end
Método de Jacobi
Partindo de uma estimativa inicial:
x k  ( x1k , x2k ,..., xnk )
O sistema:
 a11
a
 21
 

an1
a12
a22

an 2
 a1n   x1   b1 
 a2 n   x2  b2 
  

   

 ann   xn  bn 
Pode ser resolvido:
n
bi   (aij x (jk 1) )
x ik 
j 1
j i
aii
,
para i  1,2,..., n
Método de Gauss-Siedel
O método GS é o método iterativo mais utilizado.
A convergência é checada usando o critério:
a 
Aproximação atual  Aproximação anterior
100%
Aproximação atual
xij  xij 1
a 
100%   s
j
xi
Para todos i, onde j e j – 1 são interações atuais e anteriores.
Método de Jacobi
Partindo de uma estimativa inicial:
x k  ( x1k , x2k ,..., xnk )
O sistema:
 a11
a
 21
 

an1
a12
a22

an 2
 a1n   x1   b1 
 a2 n   x2  b2 
  

   

 ann   xn  bn 
Na forma matricial:
x  D 1 ( L  U ) x  D 1b
Ax  b
( D  L  U ) x  Db
Dx  ( L  U ) x  b
1
1
x  D (L  U ) x  D b
1
a
 11
0
1
D 
0

0

0
1
a22
0
0

0 

0
0 

 0 
1 
0

ann 
0
Método de Jacobi
Partindo de uma estimativa inicial:
x k  ( x1k , x2k ,..., xnk )
O sistema:
 a11
a
 21
 

an1
a12
a22

an 2
 a1n   x1   b1 
 a2 n   x2  b2 
  

   

 ann   xn  bn 
Na forma matricial:
x  D 1 ( L  U ) x  D 1b
Ax  b
( D  L  U ) x  Db
Dx  ( L  U ) x  b
1
1
x  D (L  U ) x  D b
1
a
 11
0
1
D 
0

0

0
1
a22
0
0

0 

0
0 

 0 
1 
0

ann 
0
Método de Gauss-Siedel
• Usar o método de G-S para obter a solução do sistema:
3 x1  0.1x2  0.2 x3  7.85
0.1x1  7 x2  0.3 x3  19.3
0.3 x1  0.2 x2  10 x3  71.4
Onde a solução é: x1  3, x2  2,5, x3  7.0
Solução:
Na primeira iteração:
7.85  0.1x2  0.2 x3
3
 19.3  0.1x1  0.3 x3
x2 
7
71.4  0.3 x1  0.2 x2
x3 
10
x1 
Método de Gauss-Siedel
Solução:
Assumindo que: x2 = 0 e x3 = 0:
x1 
7.85  0.1(0)  0.2(0)
 2.616667
3
Assumindo x1 calculado e x3 = 0:
x2 
 19.3  0.1(2.616667)  0.3(0)
 2.794524
7
Assumindo x1, e x2 calculados:
71.4  0.3(2.616667)  0.2(2.794524)
x3 
 7.005610
10
Método de Gauss-Siedel
Solução:
Para a segunda iteração: x2 e x3 calculados na iteração anterior:
x1 
7.85  0.1(2.794524)  0.2(7.005610)
 2.990557,
3
x2 
 19.3  0.1(2.794524)  0.3(7.005610)
 2.499625,
7
x3 
71.4  0.3(2.990557)  0.2(2.499625)
 7.000291,
10
xt  0.31%
xt  0.015%
 t  0.0042%
Download