n - Professores da UFF

Propaganda
MÉTODOS NUMÉRICOS PARA EQUAÇÕES DIFERENCIAIS PARCIAIS
1- Resolução de Sistemas
Lineares.
1.1- Matrizes e Vetores.
1.2- Resolução de Sistemas Lineares de
Equações Algébricas por Métodos Exatos
(Diretos).
1.3- Resolução de Sistemas Lineares de
Equações
Algébricas
por
Métodos
Iterativos.
1.4- Convergência dos Métodos Iterativos.
1.3- Sistemas Lineares de Equações Algébricas
Solução de um sistema linear de m equações algébricas
com n incógnitas via métodos iterativos.
a11 x1 + a12 x 2 + " a1 n x n = b1
a 21 x1 + a 22 x 2 + " a 2 n x n = b2
"""""""""""
a m 1 x1 + a m 2 x 2 + " a m n x n = b m
⎡ a11
⎢a
⎢ 21
⎢"
⎢
⎣ am1
a12
a22
"
am 2
a1n ⎤ ⎡ x1 ⎤ ⎡ b1 ⎤
⎥
⎢
⎥
⎢
⎥
" a2n ⎥ ⎢ x2 ⎥ ⎢b2 ⎥
=
ou
" " ⎥⎢ # ⎥ ⎢ # ⎥
⎥⎢ ⎥ ⎢ ⎥
" amn ⎦ ⎣ xn ⎦ ⎣bn ⎦
"
Ax = b
1.3.1- Quando existe solução?
No tópico anterior 1.2 foi visto o seguinte teorema.
Teorema: O sistema linear Ax = b tem uma única solução (se
existir) se e somente se o correspondente sistema
homogêneo Ax = 0 tem somente a solução x = 0 .
Pode ser mostrado que Ax = 0 tem somente a solução x = 0
se det A ≠ 0
Quando a ordem da matriz é muito grande, devido a
Aritmética com Precisão Finita do computador, a solução dos
métodos diretos apresenta um erro que pode ser muito
grande a ponto de perder a utilidade prática. Nestes casos é
conveniente o uso dos métodos iterativos.
1.3.1- Métodos iterativos para resolver Ax = b
Métodos Iterativos: Produzem a solução exata do sistema
após um número infinito de operações aritméticas (algoritmo
infinito). Como isto é impossível de ser feito o algoritmo
infinito é transformado em finito e conseqüentemente a
solução é sempre aproximada. Alguns métodos: Método da
Iteração, Método de Seidel, Método do Relaxamento.
Estamos interessados em sistemas representados por uma
matriz não singular:
⎡ a11 a12
⎢a
⎢ 21 a22
⎢"
"
⎢
⎢an−11 an−12
⎢⎣ an1 an2
" a1n−1
" a2n−1
" "
" an−1n−1
" ann−1
a1n ⎤ ⎡ x1 ⎤ ⎡ b1 ⎤
a2n ⎥⎥ ⎢⎢ x2 ⎥⎥ ⎢⎢ b2 ⎥⎥
" ⎥⎢ # ⎥ = ⎢ # ⎥
⎥⎢
⎥ ⎢ ⎥
an−1n ⎥ ⎢ xn−1 ⎥ ⎢bn−1 ⎥
ann ⎥⎦ ⎢⎣ xn ⎥⎦ ⎢⎣ bn ⎥⎦
A n×n x = b
det A ≠ 0
1.3.2- Método da Iteração (Aproximações Sucessivas)
Considere o sistema com matriz não singular:
⎡ a11 a12
⎢a
⎢ 21 a22
⎢"
"
⎢
⎢an−11 an−12
⎢⎣ an1 an2
" a1n−1
" a2n−1
" "
" an−1n−1
" ann−1
a1n ⎤ ⎡ x1 ⎤ ⎡ b1 ⎤
a2n ⎥⎥ ⎢⎢ x2 ⎥⎥ ⎢⎢ b2 ⎥⎥
" ⎥⎢ # ⎥ = ⎢ # ⎥
⎥ ⎢ ⎥
⎥⎢
an−1n ⎥ ⎢ xn−1 ⎥ ⎢bn−1 ⎥
ann ⎥⎦ ⎢⎣ xn ⎥⎦ ⎢⎣ bn ⎥⎦
A n×n x = b
(1)
, , n) podemos resolver a primeira equação
Se aii ≠ 0 (i = 1"
para x1, a segunda para x2 e assim sucessivamente até xn .
⎧
βi =
⎪
x1 = β 1 + 0 x1 + α 1 2 x 2 + " + α 1 n x n ⎫
⎪
⎪
x 2 = β 2 + a 2 1 x1 + 0 x 2 + " + α 2 n x n ⎪ ⎪
⎬ ⎨ α ij =
""""""""""""" ⎪⎪
x n = β n + a n 1 x1 + α n 2 x 2 + " + 0 x n ⎭⎪ ⎪ α ij =
⎪
⎩
bi
a ii
−
a ij
a ii
se i ≠ j
0 se i = j
1.3.2- Método da Iteração (Aproximações Sucessivas)
Ou em forma matricial:
⎡ α11 α12
⎢α
⎢ 21 α22
"
α=⎢ "
⎢
⎢αn−11 αn−12
⎢⎣ αn1 αn2
" α1n−1
" α2n−1
" "
" αn−1n−1
" αnn−1
α1n ⎤
α2n ⎥⎥
⎡ β1 ⎤
⎢β ⎥
⎢ 2⎥
"⎥ e ⎢ # ⎥
⎥
⎢ ⎥
αn−1n ⎥ ⎢βn−1 ⎥
αnn ⎥⎦ ⎢⎣ βn ⎥⎦
x = β + α n× n x
(2)
n
xi = β i + ∑ α ij x j
j =1
i = 1," , n
Podemos resolver o sistema via método das aproximações
sucessivas como a seguir. Na aproximação zero escolhemos
x 0 = β e substituímos no membro direito de (2), obtendo
x1 = β + α n×n x 0. Na aproximação 1 substituímos x1 no membro
direito de (2), obtendo x2 = β + α n×n x1 . E assim sucessivamente
até chegar na aproximação k+1 x k +1 = β + α n×n x k. Desta forma
obtemos uma seqüência de aproximações que se converge
para um limite ( x1 → x 2 → " → x k → " ), então este limite é
solução de (2) e também de (1).
1.3.2- Método da Iteração (Aproximações Sucessivas)
Ou seja, se lim xk = x usando (2) e propriedades do limite
segue que: k→∞
lim xk +1 = lim(β + αn×nxk ) = β + αn×n lim xk = β + αn×nx = x
k →∞
k →∞
k →∞
Resumindo as formulas do Método da Iteração são:
⎧ xi0 = β i
Muitas vezes ao reduzir (1) para
⎪
n
⎪ x k +1 = β + α x k , k = 0,1, 2," (2) é conveniente que α ii ≠ 0 .
∑
i
ij j
⎪⎪ i
Isto pode ser feito da seguinte
j =1
1
2
⎨
α
=
0
=
α
+
α
forma
ii
ii
ii . Logo as
"
α
i
n
=
=
0
,
(
1
,
,
)
⎪ ii
formulas do método serão:
⎪
0
aij
bi
⎧
x
⎪ β i = , α ij = −
i = βi
(3)
⎪
aii
aii
n
⎪⎩
⎪ x k +1 = β + α x k , k = 0,1, 2," (3´)
∑ ij j
⎪ i
i
Método da Iteração
j =1
⎨
⎪
2
b
a
⎪ β = i , α = − ii , α = − aij
ij
⎪⎩ i ai1i ii
aii1
aii1
i = (1," , n)
1.3.2- Método da Iteração (Aproximações Sucessivas)
Este processo iterativo converge rapidamente (poucas
iterações) se os elementos da matriz α n × n são pequenos em
valor absoluto. Ou seja, se a ii > a ij i , j = 1, " , n . O valor de b
não influencia na convergência do método.
Como a convergência do método depende unicamente das
propriedades da matriz α n × n a escolha do vetor x 0 pode ser
feita de forma arbitrária. Isto é, a escolha de x 0 ≠ β não
influencia na convergência do método.
A convergência do processo iterativo é auto-corretora. Ou seja,
erros devidos a Aritmética com Precisão Finita do computador
não afetarão o resultado final, já que estes erros podem ser
considerados como um novo vetor x k em cada passo de
aproximação.
1.3.2- Método da Iteração (Aproximações Sucessivas)
Critério de parada do processo iterativo: considere a diferença
da solução entre duas iterações sucessivas ⎧⎪Δx k +1 = x k +1 − x k
⎨ k +1
k +1
k
Δ
x
=
x
−
x
⎪
e escolha a precisão desejada como ε > 0 . ⎩ i
i
i
k +1
k
k +1
Um possível critério de parada pode ser xi − xi = Δxi ≤ ε ∀i
Condição suficiente para a convergência do processo iterativo.
Teorema: Se para o sistema (2) se verifica pelo menos uma
das seguintes condições: A n×n x = b
(1) ⎧ x = β
0
i
n
i)
∑α
ij
< 1 (i = 1," , n)
j
n
ii )
∑α
i
ij
< 1 (j = 1," , n)
i
⎪
n
⎪ x k +1 = β + α x k , k = 0,1, 2,"
∑
x = β + α n× n x
(2) ⎪ i
i
ij j
j =1
⎪
n
⎨
⎪α ii = 0, i = (1," , n)
xi = β i + α ij x j
⎪
j =1
a
b
⎪ β i = i , α ij = − ij
(3)
aii
aii
⎪⎩
i = 1," , n
∑
então o processo iterativo (3) converge para a única solução de
(1) independentemente da escolha da aproximação inicial.
1.3.2- Método da Iteração (Aproximações Sucessivas)
Como conseqüência do teorema anterior segue.
n
Corolário: Para o sistema
∑a
j =1
ij
x j =b i
( i = 1, " , n )
o método da iteração converge se for verificada a desigualdade
a ii >
n
∑
j≠i
n
i)
∑α
ij
a ij
( i = 1, " , n )
< 1 (i = 1, " , n )
α i1 + α i 2 + " + α ii = 0 + " + α in < 1
j
n
ii )
∑α
i
α ij = −
ij
a ij
a ii
< 1 (j = 1, " , n )
ai1
ai 2
ain
−
+−
+ " + α ii = 0 + " + −
<1
aii
aii
aii
, α ii = 0
ai1 + ai 2 + " + ain < aii
n
aii > ∑ aij
j =1
j ≠i
1.3.3- Método de Seidel
O Método de Seidel pode ser entendido como uma modificação
do Método da Iteração. A idéia principal é que ao calcular xi no
passo de aproximação (k+1) sejam consideradas as x1, x2 ," , xi −1
calculadas neste passo e não as do passo anterior k como é
feito no Método da Iteração. Isto é, seja o sistema (2)
n
x = β + α n×n x (i = 1," , n) ou xi = β i + ∑ α ij x j
j =1
Escolha arbitrariamente a aproximação inicial (passo 0) para
obter a seguinte aproximação (passo 1) e assim até a
aproximação k ( x10 , x20 ," , xn0 ) → ( x11, x21 ," , x1n ) → " → ( x1k , x2k ," , xnk ) .
Seidel propõe construir a aproximação (k+1) como segue:
1.3.3- Método de Seidel
Seidel propõe construir a aproximação (k+1) como segue:
n
⎧ k +1
O teorema que garante a
k
=
+
x
β
α
x
∑
1
1j j
⎪ 1
convergência do método da
j =1
⎪
n
iteração também é valido para o
⎪ k +1
k +1
k
⎪ x2 = β 2 + α 21x1 + ∑ α 2 j x j
Método de Seidel.
j =2
⎪
⎪⎪""""""""""""
Em geral, o Método de Seidel
⎨
i −1
n
converge melhor que o Método
+
+
1
1
k
k
k
⎪x = β + α x + α x
∑
∑
i
ij j
ij j
da Iteração. Inclusive existem
⎪ i
j =1
j =i
casos em que o Método da
⎪
⎪""""""""""""
Iteração diverge e o Método de
⎪
n −1
Seidel converge. Mas o contrário
k +1
⎪ xn = β n + ∑ α nj x kj +1 + α nn xnk
também acontece. Convergência
⎪⎩
j =1
mais lenta do Método de Seidel e
divergência quando comparado
com o Método da Iteração.
1.3.4- Método do Relaxamento
Seja o sistema linear de equações:
⎡ a11 a12
⎢a
⎢ 21 a22
⎢"
"
⎢
⎢an−11 an−12
⎢⎣ an1 an2
" a1n−1
" a2n−1
" "
" an−1n−1
" ann−1
a1n ⎤ ⎡ x1 ⎤ ⎡ b1 ⎤
a2n ⎥⎥ ⎢⎢ x2 ⎥⎥ ⎢⎢ b2 ⎥⎥
" ⎥⎢ # ⎥ = ⎢ # ⎥
⎥ ⎢ ⎥
⎥⎢
an−1n ⎥ ⎢ xn−1 ⎥ ⎢bn−1 ⎥
ann ⎥⎦ ⎢⎣ xn ⎥⎦ ⎢⎣ bn ⎥⎦
que dividindo cada equação pelo respectivo −aii (elemento da
diagonal) pode ser transformado em
⎡ −1 c12
⎢c
⎢ 21 −1
⎢" "
⎢
⎢cn−11 cn−12
⎢⎣ cn1 cn2
c1n−1 c1n ⎤⎡ x1 ⎤ ⎡ d1 ⎤ ⎡0⎤
aij
⎧
⎥⎢
⎥
⎢
⎥
⎢
⎥
c2n−1 c2n ⎥⎢ x2 ⎥ ⎢ d2 ⎥ 0
=
−
(
≠
)
c
i
j
ij
⎪
⎢ ⎥
aii
⎪
" " ⎥⎢ # ⎥ + ⎢ # ⎥ = ⎢# ⎥ com ⎨
bi
⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎪
di =
−1 cn−1n ⎥⎢xn−1⎥ ⎢dn−1⎥ ⎢0⎥
⎪⎩
aii
" cnn−1 −1 ⎥⎢
⎦⎣ xn ⎥⎦ ⎢⎣ dn ⎥⎦ ⎢⎣0⎥⎦
"
"
"
"
1.3.4- Método do Relaxamento
0
0
0
(
x
,
x
,
"
,
x
Escolha arbitrariamente a aproximação inicial 1 2
n) e
substitua neste sistema:
⎡ −1 c12 " c1n−1 c1n ⎤ ⎡ x1 ⎤ ⎡ d1 ⎤ ⎡0⎤
aij
⎧
⎢c
⎥
⎢
⎥
⎢
⎥
⎢
⎥
(i ≠ j)
⎪cij = −
⎢ 21 −1 " c2n−1 c2n ⎥ ⎢ x2 ⎥ ⎢ d2 ⎥ ⎢0⎥
aii
⎪
⎢ " " " " " ⎥ ⎢ # ⎥ + ⎢ # ⎥ = ⎢ # ⎥ com ⎨
bi
⎢
⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎪
di =
⎢cn−11 cn−12 " −1 cn−1n ⎥ ⎢ xn−1 ⎥ ⎢dn−1 ⎥ ⎢0⎥
⎪⎩
aii
⎢⎣ cn1 cn2 " cnn−1 −1 ⎥⎦ ⎢⎣ xn ⎥⎦ ⎢⎣ dn ⎥⎦ ⎢⎣0⎥⎦
Diferente de zero (Resíduo). Igual a zero apenas com a solução exata.
c12
⎡ R10 ⎤ ⎡ −1
⎢ 0⎥ ⎢
−1
⎢ R2 ⎥ ⎢ c21
⎢ # ⎥=⎢ "
"
⎢ 0 ⎥ ⎢
⎢ Rn −1 ⎥ ⎢ cn −11 cn −12
⎢ R 0 ⎥ ⎢ cn1
cn 2
⎣ n ⎦ ⎣
" c1n −1 c1n ⎤ ⎡ x10 ⎤ ⎡ d1 ⎤ ⎡ 0⎤
⎢
⎥
" c2n −1 c2n ⎥⎥ ⎢ x20 ⎥ ⎢⎢ d 2 ⎥⎥ ⎢ 0⎥
⎢ ⎥
" "
" ⎥ ⎢ # ⎥ + ⎢ # ⎥ ≠ ⎢# ⎥
⎥⎢ 0 ⎥ ⎢
⎥ ⎢ ⎥
" −1 cn −1n ⎥ ⎢ xn −1 ⎥ ⎢ d n −1 ⎥ ⎢ 0⎥
" cnn −1 −1 ⎥⎦ ⎢⎣ xn0 ⎥⎦ ⎢⎣ d n ⎥⎦ ⎢⎣ 0⎥⎦
1.3.4- Método do Relaxamento
Ou seja, depois da primeira aproximação obtemos os resíduos:
0
0
n
Δ
x
x
Se incrementamos em s a incógnita s
⎧ 0
0
0
⎪ R1 = d1 − x1 + ∑ c1 j x j o correspondente resíduo Rs0 será
j =2
⎪
diminuído pela quantidade Δxs0
n
⎪ 0
0
0 enquanto que todos os outros R 0 (i ≠ s )
i
⎪ R2 = d 2 − x2 + ∑ c2 j x j
resíduos serão incrementado pela
j =1
⎪
0
j ≠2
c
Δ
x
quantidade is s . Assim, para zerar o
⎪
⎪""""""""" resíduo Rs1 na próxima aproximação
⎨
n
basta incrementar xs0 em Δxs0 = Rs0 .
⎪R0 = d − x0 + c x0
n
∑
i
i
i
ij j
⎪
Rs1 = ds − (xs0 + Δxs0 ) + ∑csj x0j = Rs0 − Δxs0
j =1
j ≠i
⎪
j =1
j ≠s
⎪"""""""""
n
⎪
1
0
0
0
0
0
n −1
R
=
d
−
x
c
(
x
x
)=
R
c
x
+
+
Δ
δ
+
Δ
∑
i
i
i
ij
j
s js
i
is
s ∀i ≠ j
⎪ 0
0
0
j =1
⎪ Rn = d n − xn + ∑ cnj x j
j ≠i
j =1
⎩
Desta forma obtermos:
1.3.4- Método do Relaxamento
⎫
R = ds − x + ∑ c x
⎪
j =1
⎪⎪
j≠s
⎬
n
Ri1 = di − xi0 + cis x1s + ∑ cij x 0j ∀i ≠ j ⎪
⎪
j =1
⎪⎭
j ≠i , j ≠ s
n
1
s
1
s
1
sj j
⎧⎪ x1s = xs0 + Δxs0
⎨
0
0
⎪⎩se Δxs = Rs segue
⎧⎪ Rs1 = Rs0 − Δxs0 = 0
⎨ 1
0
0
R
R
c
x
=
+
Δ
⎪⎩ i
s ∀i ≠ s
i
is
O Método do Relaxamento consiste em reduzir a zero em cada
passo o maior resíduo, modificando o valor de sua
componente da incógnita. O processo é concluído quando
todos os resíduos da aproximação k são iguais a zero dentro
da precisão exigida ε . As incógnitas são obtidas somando
todos os incrementos:
k
{ }
x = x + ∑ Δxsl , Δxsl = max Ril −1
k
s
0
s
l =0
i
Rsl = Rsl −1 − Δxsl , Ril = Ril −1 + cis Δxsl ∀i ≠ s com l = k tal que todo Rsl < ε
1.3.4- Método do Relaxamento
Exemplo (Demidovich, pag 315) Resolva pelo método do
relaxamento.
⎧ 10 x 1 − 2 x 2 − 2 x 3 = 6
⎧ x1 = 1
⎪
⎪
⎨ − x 1 + 10 x 2 − 2 x 3 = 7 Solução Exata ⎨ x 2 = 1
⎪ − x − x + 10 x = 8
⎪x = 1
1
2
3
⎩ 3
⎩
⎧− x1 + 0.2x2 + 0.2x3 + 0.6 = 0
1
⎪
⎨0.1x1 − x2 + 0.2x3 + 0.7 = 0 Sistema Reduzido *(- )
aii
⎪0.1x + 0.1x − x + 0.8 = 0
1
2
3
⎩
k
{ }
x = x + ∑ Δxsl , Δxsl = max Ril −1
k
s
0
s
l =0
i
Precisão ε = 0.01
Rsl = Rsl −1 − Δxsl , Ril = Ril −1 + cis Δxsl ∀i ≠ s com l = k tal que todo Rsl < ε
Resolvido no Excel 2003
Frase do Dia
“Eu queria certeza da mesma maneira que as pessoas querem fé
religiosa. Eu pensava que a certeza é mais provável de ser
encontrada na matemática do que em qualquer outra coisa. Mas
descobri que muitas demonstrações matemáticas, que meus
professores esperavam que eu aceitasse, estavam cheias de
falácias, e que, se a certeza pudesse realmente ser descoberta na
matemática, seria em um novo campo da matemática, com
fundamentos mais sólidos do que os que tinham até então sido
considerados seguros. Mas enquanto o trabalho prosseguia, eu
me lembrava constantemente da fábula sobre o elefante e a
tartaruga. Tendo construído um elefante sobre o qual poderia
repousar o mundo matemático, vi que o elefante cambaleava, e
passei a construir uma tartaruga, para evitar que ele caísse. Mas a
tartaruga não estava mais segura que o elefante, e após uns vinte
anos de trabalho muito árduo, cheguei à conclusão de que não
havia mais nada que eu pudesse fazer a fim de tornar o
conhecimento matemático indubitável.”
Bertrand Russell, “Portraits from Memory”
Download