SlideShare uma empresa Scribd logo
1 de 129
Baixar para ler offline
PPGMAP .
M´ETODOS NUM´ERICOS PARA EQUAC¸ ˜OES DIFERENCIAIS
.
Dagoberto Adriano Rizzotto Justo
Tabela de Conte´udo
1. Introdu¸c˜ao
1.1. Objetivos
1.1.1.Sub-objetivos
1.2. Avalia¸c˜ao
1.3. Bibliografia
2. Aritm´etica no computador
2.1. Processo Iterativo
2.2. Representa¸c˜ao de n´umeros
2.3. Bits, bytes e palavras
2.4. Representa¸c˜ao de n´umeros inteiros
2.5. Representa¸c˜ao de n´umeros reais
2.5.1.Precis˜ao (IEEE754)
2.6. Arredondamento
2.6.1.Erro absoluto e relativo
2.6.2.Arredondamento por corte
2.6.3.Arredondamento por proximidade
2.6.4.Caracteriza¸c˜ao de uma representa¸c˜ao
2.7. Opera¸c˜oes em ponto flutuante
2.7.1.Cancelamento catastr´ofico
2.7.2.A comutatividade n˜ao ´e v´alida
2.7.3.A distributividade n˜ao ´e v´alida
3. Aproxima¸c˜oes
3.1. Aproxima¸c˜ao de ordem p
3.2. Aproxima¸c˜ao em diferen¸cas finitas
3.3. Integra¸c˜ao Num´erica, quadratura
3.4. Quadratura Gaussiana
Tabela de Conte´udo (cont.) 2
3.5. Ordem de aproxima¸c˜ao
3.5.1.Integra¸c˜ao
4. Equa¸c˜oes Diferenciais Ordin´arias
4.1. Teoria de equa¸c˜oes diferenciais
4.1.1.Dependˆencia na condi¸c˜ao inicial
5. M´etodo de Euler
5.1. Erro de truncamento
5.1.1.Erro de truncamento Local
5.1.2.Erro de truncamento Global
5.1.3.Convergˆencia
5.1.4.Paradoxo da ordem
5.2. A regra do trap´ezio
5.3. O m´etodo theta
5.4. O m´etodo de Taylor
6. M´etodos de Passo M´ultiplo
6.1. O m´etodo de Adams-Bashforth
6.1.1.C´odigo
6.2. Ordem e convergˆencia de m´etodos de passo m´ultiplo
6.2.1.Convergˆencia de m´etodos de passo m´ultiplo
6.2.2.Teorema de equivalˆencia de Dahlquist
6.2.3.A primeira barreira de Dahlquist
6.3. O m´etodo de Adams-Moulton
6.4. M´etodo BDF
7. M´etodos de Runge-Kutta
7.1. M´etodo de Runge-Kutta Expl´ıcito
7.2. M´etodo de RK ν = 2
7.3. M´etodo de Runge-Kutta impl´ıcito (IRK)
7.4. Estimativa da ordem de convergˆencia
7.4.1.M´etodo 1
7.4.2.M´etodo 2
8. Dom´ınio de Estabilidade
8.1. Equa¸c˜oes “Stiff”
8.2. Dom´ınio de Estabilidade Linear
8.3. Estabilidade dos m´etodos de Taylor
8.4. Estabilidade dos m´etodos de Runge-Kutta
8.5. Estabilidade dos m´etodos de passo m´ultiplo
9. Equa¸c˜oes Diferenciais Parciais hiperb´olicas
9.1. Equa¸c˜ao da onda unidirecional
9.2. Sistemas de EDP’s hiperb´olicas
Tabela de Conte´udo (cont.) 3
9.3. Condi¸c˜oes de contorno
• Problemas peri´odicos
9.4. Diferen¸cas finitas
9.4.1.C´odigos
9.5. Convergˆencia e consistˆencia
9.6. Estabilidade
9.7. Teorema de equivalˆencia de Lax-Richtmyer
9.8. Condi¸c˜ao CFL
10. An´alise de esquemas de diferen¸cas finitas
10.1. An´alise de Fourier
10.1.1.Analisando EDPs
10.1.2.Em mais que uma dimens˜ao
10.2. An´alise de Von Neumann
10.2.1.A condi¸c˜ao de estabilidade
10.3. Coment´arios sobre instabilidade e estabilidade
10.3.1.Condi¸c˜oes de estabilidade para coeficientes vari´aveis
10.3.2.Estabilidade num´erica e estabilidade dinˆamica
11. Ordem de Precis˜ao
11.1. Esquema Lax-Wendroff
11.2. Esquema Cranck-Nicolson
11.3. O s´ımbolo de um esquema de DF
11.4. Ordem de precis˜ao da solu¸c˜ao
11.5. Estabilidade LW e CN
11.6. Condi¸c˜oes de contorno
11.7. Sistemas Tridiagonais
12. Estabilidade para esquemas de passo m´ultiplo
12.1. Estabilidade do esquema leapfrog
12.1.1.Inicializando o esquema leapfrog
12.1.2.Nota¸c˜ao de Diferen¸cas
12.2. Estabilidade para esquemas de passo m´ultiplo
13. Equa¸c˜oes Diferenciais Parciais Parab´olicas
13.1. Equa¸c˜ao do calor
13.2. Sistemas parab´olicos
13.3. Diferen¸cas finitas
13.3.1.Mais alguns esquemas
13.4. Dissipa¸c˜ao e suavidade
13.5. Condi¸c˜ao de contorno
Tabela de Conte´udo (cont.) 4
13.6. Equa¸c˜ao de convec¸c˜ao-difus˜ao
13.6.1.Esquema FTCS
13.6.2.Esquema upwind
14. Sistemas Bidimensionais e Tridimensionais
14.1. Estabilidade para sistemas de EDPs
14.2. Esquemas de passo m´ultiplo
14.3. Duas e trˆes dimens˜oes
14.3.1.Introdu¸c˜ao
14.3.2.An´alise
14.4. Time-Split
15. Esquema ADI
15.1. Algoritmo de Peaceman-Rachford
15.2. Condi¸c˜ao de contorno
15.2.1.Estabilidade
15.3. Implementa¸c˜ao
16. Equa¸c˜oes de segunda ordem
16.1. Equa¸c˜ao da Onda
16.2. Diferen¸cas finitas
16.2.1.O primeiro passo
16.3. Condi¸c˜oes de contorno
16.4. Equa¸c˜ao de segunda ordem em 2 e 3 dimens˜oes
17. Equa¸c˜oes Diferenciais Parciais El´ıpticas
17.1. Equa¸c˜ao de Poisson
17.1.1.Princ´ıpio do M´aximo
17.2. Esquemas de Diferen¸cas Finitas
17.3. Sistema Unidimensional
17.4. Sistema Bidimensional
17.4.1.M´etodo de Jacobi
17.4.2.M´etodo de Gauss-Seidel
17.4.3.M´etodo SOR
1
Aula 1 .
Introdu¸c˜ao
.
.
Cap´ıtulo 1:
Introdu¸c˜ao
1.1. Objetivos
• resolver numericamente equa¸c˜oes diferenciais
• explorar diferentes m´etodos num´ericos
• entender quando m´etodos num´ericos funcionam
1.1.1. Sub-objetivos
• experimento - hip´oteses - teoria
• literatura inglˆes
• latex (WinEdt)
• Matlab (ou Scilab 1
) ou Fortran ou C
• pesquisa bibliogr´afica (biblioteca e internet)
1.2. Avalia¸c˜ao
• Temas de casa e trabalhos parciais. IMPORTANTE: respeitar datas de entrega.
Digitados em latex.
• Possibilidade de apresenta¸c˜ao de trabalhos.
• Participa¸c˜ao.
• Trabalho Final.
1.3. Bibliografia
Parte I:
• Iserles, A., A First Course in the Numerical Analysis of Differential Equations,
Cambridge University Press, 1996.
• Butcher, J.C. The Numerical Analysis of Ordinary Differential Equations: Runge-
Kutta and General Linear Methods. John Wiley & Sons, 1987.
Parte II:
1www.scilab.org
Se¸c˜ao 1.3: Bibliografia 2
• Strikwerda, J.C. Finite Difference Schemes and Partial Differential Equations,
Chapman & Hall, 1989
Complementares:
• Anderson, D.A., Tannehill, J.C., Pletcher, R.H.. Computational Fluid Mechanics
and Heat Transfer. McGraw-Hill, 1984.
• Belytschko, T., Hughes, T.J.R. Computational Methods for Transient Analysis.
North-Holland, 1986.
• Burden, R.L., Faires, J.D. Numerical Analysis, PWS Publishing, 1993.
• Cook, R.D. Concepts and Applications of Finite Element Analysis. John Wiley &
Sons, 1981.
• Hairer, E., Norsett, S.P., Warner, G. Solving Ordinary Differential Equations I,
Springer, New York, 1987.
• Huebner, K.H. The Finite Element Method for Engineers. John Wiley & Sons,
New York, 1975.
• Ortega, J.M., Poole Jr., W.G. Numerical Methods for Differential Equations.
Pitman Publishing Inc. Massachusetts, 1981.
• Sod, G.A. Numerical Methods in Fluid Dynamics. Cambridge University Press,
Cambridge, 1985.
Livros em c´alculo num´erico:
• Cunha, Cardoso, Bortoli, Facchin. Introdu¸c˜ao ao C´alculo Num´erico2
.
2link: www.mat.ufrgs.br/∼dago
3
Cap´ıtulo 2:
Aritm´etica no computador
2.1. Processo Iterativo
Veja [9]. Considere uma transforma¸c˜ao
T :
V → V
x → T (x) = y
. (2.1.1)
Aplique a transforma¸c˜ao sucessivamente, partindo de x0:
x1 = T (x0)
x2 = T (x1)
x3 = T (x2)
...
xk+1 = T (xk)
Um ponto xp tal que T (xp) = xp ´e chamado de ponto fixo, caso ele exista.
Este procedimento pode ou n˜ao convergir. Quando converge temos
lim
k→∞
xk = xp
A convergˆencia pode depender do ponto inicial x0.
Exerc´ıcio 2.1. Considere T (x) = x(3 − x2
)/2. Efetue o processo iterativo partindo
de diferentes valores iniciais.
Verifique a convergˆencia para os pontos fixos x = −1, x = 1 (estes s˜ao est´aveis)e
x = 0 (este ´e inst´avel).
Fa¸ca um esbo¸co do eixo real marcando os pontos fixos e as bacias de atra¸c˜ao.
%------------------------------
function [x]=iteracao(x0)
x(1)=x0;
for k=1:100
x(k+1)=x(k)*(3-x(k)^2)/2;
end
plot(x,’*-’)
%------------------------------
Exerc´ıcio 2.2. O conjunto de Mandelbrot. Considere a equa¸c˜ao para z ∈ (C),
z0 = 0; (2.1.2)
zk+1 = z2
k + c (2.1.3)
O conjunto de Maldelbrot ´e o conjunto de todos c ∈ C, tais que a itera¸c˜ao acima tenha
sempre |zk| < 2. Considere a fun¸c˜ao
%------------------------------
function [c]=mandelbrot(Total)
c =(rand-0.5+i*(rand-0.5))*3;
Se¸c˜ao 2.2: Representa¸c˜ao de n´umeros 4
z(1)=0;
k =1;
while(k<Total)&&(abs(z(k)<2))
z(k+1)=z(k)^2+c;
k =k+1;
end
if(abs(z(k))<2)
plot(c,’.r’);hold on
end
%------------------------------
Cada vez que o programa ´e rodado, um c aleat´orio ´e escolhido, e ser´a plotado caso
perten¸ca ao conjunto de Mandelbrot. Rode o programa com a linha
for k=1:1000; mandelbrot(100); end;
Qual a influˆencia da vari´avel T otal?
2.2. Representa¸c˜ao de n´umeros
Veja [2, 3].
Representa¸c˜ao de n´umeros, por exemplo, representa¸c˜ao decimal:
(123.456)10 = 1×102
+ 2×101
+ 3×100
+ 4×10−1
+ 5×10−2
+ 6×10−3
(2.2.1)
onde a base ´e β = 10 e os d´ıgitos poss´ıveis s˜ao {0, 1, . . ., 8, 9}.
Representa¸c˜ao bin´aria:
(1001.101)2 = 1×23
+ 0×22
+ 0×21
+ 1×20
+ 1×2−1
+ 0×2−2
+ 1×2−3
(2.2.2)
= 23
+ 20
+ 2−1
+ 2−3
(2.2.3)
= 8 + 1 + 0.5 + 0.125 (2.2.4)
= (9.625)10 (2.2.5)
onde a base ´e β = 2 e os d´ıgitos poss´ıveis s˜ao {0, 1}.
2.3. Bits, bytes e palavras
Um bit ´e a menor unidade de informa¸c˜ao, podendo representar 0 ou 1.
Um byte ´e um conjunto de 8 bits, por exemplo, 00101101.
Um computador ´e normalmente estruturado de tal forma a ler/escrever uma
palavra por endere¸co de mem´oria. Tipicamente uma palavra ´e um conjunto de 32 bits.
Na realidade o padr˜ao atual (com o Windows Vista) ´e 64 bits.
2.4. Representa¸c˜ao de n´umeros inteiros
Usando 32 bits, reservando um bit para o sinal, podemos representar somente 232
n´umeros, metade deles positivos e metade negativos.
Se¸c˜ao 2.5: Representa¸c˜ao de n´umeros reais 5
2.5. Representa¸c˜ao de n´umeros reais
Algumas possibilidades s˜ao representa¸c˜ao fracion´aria, representa¸c˜ao em ponto-fixo e
representa¸c˜ao em ponto flutuante. Utilizando ponto flutuante, cada n´umero x ´e repre-
sentado como
x = ±M×2±E
,
1
2
≤ M < 1 (2.5.1)
onde a mantissa ´e da forma
M = (0.b0b1b2b3 . . .)2, b0 = 1 (2.5.2)
Como b0 = 1, o zero deve ser representado por conven¸c˜ao, de forma diferente - por
exemplo utilizar o menor n´umero represent´avel como sendo o zero.
Exemplo 1.
O n´umero (−11.75)10 = (−0.101111)2×2(+100)2
.
2.5.1. Precis˜ao (IEEE754)
Em simples precis˜ao (32 bits) temos F(2, 23, 8) onde a base ´e β = 2, M = 23 bits s˜ao
usados na mantissa (mais um para o sinal) e E = 8 bits para o expoente.
Figura 2.1: Simples Precis˜ao
Em dupla precis˜ao (64 bits) temos F(2, 52, 11) onde a base ´e β = 2, M = 52
bits s˜ao usados na mantissa (mais um para o sinal) e E = 11 bits para o expoente.
Figura 2.2: Dupla Precis˜ao
Em qu´adrupla precis˜ao (128 bits) temos F(2, 112, 15) onde a base ´e β = 2,
M = 112 e e E = 15.
2.6. Arredondamento
Como um computador possui precis˜ao finita, ao representar x = 2/3 = (0.66666)10
(que em bin´ario ´e x = (0.10101010 . . .)2) no computador precisamos arredondar o
n´umero. Por´em, x = (0.10101010 . . .)2 est´a entre dois n´umeros represent´aveis:
Se¸c˜ao 2.6: Arredondamento 6
• (0.1010 . . .1010)2
• (0.1010 . . .1011)2
2.6.1. Erro absoluto e relativo
Sendo x um n´umero real e ˜x a representa¸c˜ao desse n´umero, o erro absoluto ´e definido
como
Eabs = |x − ˜x| (2.6.1)
e o erro relativo ´e definido como
Erel =
|x − ˜x|
|x|
. (2.6.2)
2.6.2. Arredondamento por corte
Supondo p = 24, podemos ignorar os bits b24b25 . . . em diante obtendo
x ≈ ˜x = (0.1010 . . .1010)2. (2.6.3)
O erro m´aximo no arredondamento por corte ser´a a distˆancia entre dois n´umeros repre-
sent´aveis,
ǫcorte = β−p+1
= 2−23
= 0.119209×10−6
. (2.6.4)
2.6.3. Arredondamento por proximidade
Verificando o bit b24 podemos arredondar para cima se b24 = 1 e para baixo se b24 = 0.
(Na verdade, adiciona-se 1 ao bit b24 e arredonda-se por corte 0.b0 . . . b23).
O erro m´aximo no arredondamento por proximidade ser´a a metade do arredon-
damento por corte,
ǫprox = ǫcorte/2 = 2−23
/2 = 0.596046×10−7
. (2.6.5)
fornecendo aproximadamente 7 d´ıgitos de precis˜ao decimal.
Exerc´ıcio 2.3. Quantos d´ıgitos de precis˜ao decimal temos aproximadamente em dupla
precis˜ao?
2.6.4. Caracteriza¸c˜ao de uma representa¸c˜ao
• p: a precis˜ao ´e a quantidade de bits dispon´ıvel para representar o n´umero;
• MINR: o menor n´umero represent´avel em m´odulo;
• MAXR: o maior n´umero represent´avel em m´odulo;
• ǫ: o epsilon de m´aquina ´e o menor n´umero represent´avel tal que 1 + ǫ = 1; (ou
ainda, β−p+1
)
Exemplo 2.
Utilizando simples precis˜ao temos uma precis˜ao de p = 23 + 1 = 24 bits (mais um pois
b0 = 1 sempre).
Se¸c˜ao 2.7: Opera¸c˜oes em ponto flutuante 7
MINR = (0.1000 . . .0000)2×2(−1111111)2
(2.6.6)
= 2−1
×2−127
(2.6.7)
≈ (2.938735×10−39
)10 (2.6.8)
MAXR = (0.1111 . . .1111)2×2(+1111111)2
(2.6.9)
= (2−1
+ . . . 2−24
)×2+127
(2.6.10)
≈ (1.70141×1038
)10 (2.6.11)
ǫ = 2−p
= 2−24
(2.6.12)
≈ (0.596046×10−7
)10 (2.6.13)
utilizando arredondamento por proximidade.
2.7. Opera¸c˜oes em ponto flutuante
Dizemos que cada opera¸c˜ao em ponto flutuante (⊕ = +, −, ÷, ×) apresenta um erro
da ordem do epsilon de m´aquina,
fl(x ⊕ y) = x ⊕ y(1 + δ), |δ| ≤ ǫ (2.7.1)
A seguir temos exemplo de adi¸c˜ao e subtra¸c˜ao em ponto flutuante. Multiplica¸c˜ao e
divis˜ao s˜ao feitas de modo semelhante.
Exemplo 3.
Seja x = 123456.7 e y = 101.7654 e uma precis˜ao de 7 d´ıgitos.
x = 1.234567×105
(2.7.2)
+y = 1.017654×102
(2.7.3)
x = 1.234567×105
(2.7.4)
+y = 0.001017654×105
(2.7.5)
− − − − − − − − − − (2.7.6)
z = 1.235584654×105
(2.7.7)
que ´e o valor exato. Arredondando e normalizando
˜z = 1.235585×105
(2.7.8)
Erro relativo:
Erel =
|z − ˜z|
|z|
(2.7.9)
=
|1.235584654×105
− 1.235585×105
|
|1.235584654×105|
(2.7.10)
≈ 5.29304081×10−7
< 10−6
= ǫcorte (2.7.11)
Se¸c˜ao 2.7: Opera¸c˜oes em ponto flutuante 8
Exemplo 4.
Seja x = 123456.7 e y = 0.009876543 e uma precis˜ao de 7 d´ıgitos.
x = 1.234567×105
(2.7.12)
+y = 9.876543×10−3
(2.7.13)
x = 1.234567 ×105
(2.7.14)
+y = 0.00000009876543×105
(2.7.15)
− − − − − − − − − − − − − (2.7.16)
z = 1.23456709876543×105
(2.7.17)
˜z = 1.234567×105
(2.7.18)
A adi¸c˜ao n˜ao fez nenhum efeito.
2.7.1. Cancelamento catastr´ofico
Quando dois n´umeros s˜ao muito pr´oximos e uma subtra¸c˜ao ´e realizada, pode acontecer
um cancelamento catastr´ofico.
Exemplo 5.
Considere p = 7 e os n´umeros x = 123457.1467 e y = 123456.659 com representa¸c˜oes
˜x = 123457.1 e ˜y = 123456.7. Calculando z = x − y temos:
˜x = 1.234571×105
(2.7.19)
−˜y = 1.234567×105
(2.7.20)
− − − − − − − − − − − − − (2.7.21)
z = 0.000004×105
(2.7.22)
˜z = 4.000000×10−1
(2.7.23)
O resultado verdadeiro ´e z = 4.877×10−1
, portanto um erro relativo de
Erel =
|4.877×10−1
− 4×10−1
|
|4.877×10−1|
≈ 0.1798 . . . (2.7.24)
o que fornece uma diferen¸ca relativa de 17.98%.
2.7.2. A comutatividade n˜ao ´e v´alida
Opera¸c˜oes em ponto flutuante n˜ao s˜ao comutativas:
(x + y) + z = (1234.567 + 45.67844) + 0.0004 (2.7.25)
= (1280.245) + 0.0004 (2.7.26)
= 1280.245 (2.7.27)
mas
x + (y + z) = 1234.567 + (45.67844 + 0.0004) (2.7.28)
= 1234.567 + (45.67884) (2.7.29)
= 1280.246 (2.7.30)
Se¸c˜ao 2.7: Opera¸c˜oes em ponto flutuante 9
2.7.3. A distributividade n˜ao ´e v´alida
Opera¸c˜oes em ponto flutuante n˜ao s˜ao distributivas:
(x ∗ z) + (y ∗ z) = (1234.567×3.333333) + (1.234567×3.333333) (2.7.31)
= (4115.223) + (4.115223) (2.7.32)
= 4119.338 (2.7.33)
mas
(x + y) ∗ z = (1234.567 + 1.234567)×3.333333 (2.7.34)
= 1235.802×3.333333 (2.7.35)
= 4119.340 (2.7.36)
Exerc´ıcio 2.4. C´alculos podem ser rearranjados de tal forma a reduzir alguns tipos
de erros. Archimedes aproximou π calculando o per´ımetro de pol´ıgonos inscritos e
circunscritos em um c´ırculo, iniciando com hex´agonos e dobrando o n´umero de lados.
A f´ormula de recorrˆencia ´e
t0 =
1
√
3
(2.7.37)
ti+1 =
t2
i + 1 − 1
ti
(2.7.38)
π ≈ 6×2i
×ti, (2.7.39)
Calcule a sequencia que aproxima π imprimindo as aproxima¸c˜oes e o erro relativo a cada
itera¸c˜ao. Essa forma apresenta um cancelamento catastr´ofico. Reescreva a f´ormula de
itera¸c˜ao e recalcule a sequˆencia.
Exerc´ıcio 2.5. Escreva um algoritmo (em Matlab, Fortran ou C) que calcule o valor
do epsilon de m´aquina. Rode o programa e imprima os resultados.
Exerc´ıcio 2.6. Escreva um algoritmo que calcule MINR, o menor n´umero repre-
sent´avel. Rode o programa e imprima os resultados.
Exerc´ıcio 2.7. Sabemos do c´alculo que
lim
n→∞
(1 +
1
n
)n
= e (2.7.40)
Aproxime o valor de e usando Matlab. Qual o “limite da m´aquina”? Explique.
Exerc´ıcio 2.8. A constante de Euler dada por
γ = .57721566490153286 . . . (2.7.41)
´e definida como o limite
γ = lim
n→∞
γn, (2.7.42)
γn = 1 +
1
2
+
1
3
+ . . . +
1
n
− ln n. (2.7.43)
Assumindo que γ − γn ≈ cn−d
, n → ∞, para alguma constante c, d > 0, tente
determinar c e d experimentalmente usando um computador.
10
Aula 2 e 3 .
Aproxima¸c˜oes
.
Cunha, Bortoli et al
Cap´ıtulo 3:
Aproxima¸c˜oes
3.1. Aproxima¸c˜ao de ordem p
Objetivo:
Aproximar a fun¸c˜ao f(t) ∈ C(R) por um polinˆomio q(t)
de ordem p.
O polinˆomio pode ser expresso como a combina¸c˜ao linear de p polinˆomios φk(t)
que formam uma base para o espa¸co polinomial, de tal forma que q(t) = c0φ0(t) +
c1φ1(t) + . . . + cpφp(t).
Um poss´ıvel maneira de obter tal polinˆomio ´e impor p + 1 condi¸c˜oes de compa-
tibilidade, como por exemplo, podemos exigir que
f(t0) = q(t0), . . . , f(tp) = q(tp). (3.1.1)
Fixe a base φk(t) = tk
, k = 0, . . . , p. Note que o polinˆomio q(t) que satisfaz
3.1.1 ´e ´unico e n˜ao depende da escolha da base.
O problema ent˜ao torna-se encontrar q(t) = c0 + c1t + . . . + cptp
≈ f(t) tal que
3.1.1 seja satisfeito. Assim obtemos o sistema
f(t0) = c0 + c1t0 + c2t2
0 + . . . + cptp
0 (3.1.2)
f(t1) = c0 + c1t1 + c2t2
1 + . . . + cptp
1 (3.1.3)
... =
... (3.1.4)
f(tp) = c0 + c1tp + c2t2
p + . . . + cptp
p (3.1.5)
que pode ser escrito na forma matricial





1 t0 . . . tp
0
1 t1 . . . tp
1
...
...
...
1 tp . . . tp
p










c0
c1
...
cp





=





f(t0)
f(t1)
...
f(tp)





(3.1.6)
onde a matriz apresentada ´e a matriz de Vandermonde. Resolvendo o sistema obtemos
os coeficientes ck para a interpola¸c˜ao polinomial.
Exerc´ıcio 3.1. Fixe tk = k e monte matrizes de Vandermonde de tamanho n =
1, 2, . . ., 30 plotando um gr´afico do n´umero de condicionamento da matriz de Vander-
monde com respeito a n (utilize a fun¸c˜ao cond do Matlab).
Se¸c˜ao 3.2: Aproxima¸c˜ao em diferen¸cas finitas 11
3.2. Aproxima¸c˜ao em diferen¸cas finitas
Objetivo:
Obter uma discretiza¸c˜ao para a fun¸c˜ao f′
(t) em t = t∗
de ordem p.
Dados p + 1 pontos [t0, t1, . . . , tp], queremos obter uma aproxima¸c˜ao para a
derivada de f(t) calculada em t∗
do tipo
f′
(t∗
) ≈ c0f(t0) + c1f(t1) + . . . + cpf(tp) (3.2.1)
que seja exata para polinˆomios at´e ordem p.
Por exemplo, podemos aproximar a derivada de f(t) como
f′
(t0) =
f(t0 + h) − f(t0)
h
(3.2.2)
=
1
h
f(t1) −
1
h
f(t0) (3.2.3)
Seja q(t) = c0φ0(t)+c1φ1(t)+. . .+cpφp(t) o polinˆomio de ordem p que aproxima
f(t). Fixe a base φk(t) = tk
. Como a regra (3.2.1) deve ser exata para qualquer q(t)
at´e ordem p, ent˜ao tamb´em deve ser exata para qualquer fun¸c˜ao da base. Substituindo
f(t) por φ0(t) = 1 em (3.2.1) obtemos
φ′
0(t)|t∗ = (1)′
|t∗ = c0φ0(t0) + c1φ0(t1) + . . . + cpφ0(tp) (3.2.4)
0 = c0 + c1 + . . . + cp (3.2.5)
Da mesma forma para k = 1, . . . , p, obtemos
(t)′
t∗ = 1 = c0t0 + c1t1 + . . . + cptp (3.2.6)
(t2
)′
t∗ = 2t∗
= c0t2
0 + c1t2
1 + . . . + cpt2
p (3.2.7)
(t3
)′
t∗ = 3(t∗
)2
= c0t3
0 + c1t3
1 + . . . + cpt3
p (3.2.8)
... =
... (3.2.9)
(tp
)′
t∗ = p(t∗
)p−1
= c0tp
0 + c1tp
1 + . . . + cptp
p (3.2.10)
que pode ser escrito na forma matricial







1 1 . . . 1
t0 t1 . . . tp
t2
0 t2
1 . . . t2
p
...
...
...
tp
0 tp
1 . . . tp
p














c0
c1
c2
...
cp







=







0
1
2t∗
...
p(t∗
)p−1







(3.2.11)
Resolvendo o sistema obtemos os coeficientes ck para a regra de diferencia¸c˜ao.
Exemplo 6.
Seja p = 2, [t0, t1, t2] = [−h, 0, h] e t∗
= t1 = 0, obtenha uma regra de diferencia¸c˜ao
para aproximar f′
(t∗
).
Se¸c˜ao 3.3: Integra¸c˜ao Num´erica, quadratura 12
Solu¸c˜ao: A regra ter´a a forma
f′
(t∗
) ≈ c0f(t0) + c1f(t1) + c2f(t2) (3.2.12)
≈ c0f0 + c1f1 + c2f2 (3.2.13)
Considere a base polinomial [φ0(t), φ1(t), φ2(t)] = [1, t, t2
] e substitua f(t) por φk(t)
obtendo
(1)′
t=0 = 0 = c0(1) + c1(1) + c2(1) (3.2.14)
(t)′
t=0 = 1 = c0(−h) + c1(0) + c2(h) (3.2.15)
(t2
)′
t=0 = 0 = c0(−h)2
+ c1(0)2
+ c2(h)2
(3.2.16)
que pode ser escrito na forma matricial


1 1 1
−h 0 h
h2
0 h2




c0
c1
c2

 =


0
1
0

 (3.2.17)
Resolvendo o sistema obtemos [c0, c1, c2] = [− 1
2h , 0, 1
2h ] fornecendo a regra
f′
|t=t1 ≈ −
1
2h
f0 +
1
2h
f2 (3.2.18)
=
f2 − f0
2h
(3.2.19)
Exerc´ıcio 3.2. Seja [t0, t1, t2] = [0, h, 2h] e t∗
= t0 = 0, obtenha uma regra unilateral
de diferencia¸c˜ao para aproximar f′
(t0).
Exerc´ıcio 3.3. Seja [t0, t1, t2] = [−h, 0, h] e t∗
= t1 = 0, obtenha uma regra de
diferencia¸c˜ao para aproximar f′′
(t∗
).
Exerc´ıcio 3.4. Seja [t0, t1, . . . , t4] = [−2h, −h, 0, h, 2h] e t∗
= 0, obtenha uma regra
de diferencia¸c˜ao para aproximar f′
(t∗
).
Exerc´ıcio 3.5. Seja [t0, t1, . . . , t4] = [−2h, −h, 0, h, 2h] e t∗
= 0, obtenha uma regra
de diferencia¸c˜ao para aproximar f′′
(t∗
).
Exerc´ıcio 3.6. Seja [t0, t1, . . . , t4] = [0, h, 3h, 6h, 10h] e t∗
= 0, obtenha uma regra
de diferencia¸c˜ao para aproximar f′
(t∗
).
3.3. Integra¸c˜ao Num´erica, quadratura
Objetivo:
Obter uma regra para integra¸c˜ao para a fun¸c˜ao f(t) em
[a, b] de ordem p .
Se¸c˜ao 3.3: Integra¸c˜ao Num´erica, quadratura 13
Dados p + 1 pontos [t0, t1, . . . , tp], queremos obter uma aproxima¸c˜ao para
b
a
f(t) dt ≈ c0f(t0) + c1f(t1) + . . . + cpf(tp) (3.3.1)
que seja exata para polinˆomios at´e ordem p.
Aproxime f(t) pelo polinˆomio q(t) = c0φ0(t)+c1φ1(t)+. . .+cpφp(t) de ordem
p. Escolha uma base, por exemplo, φk(t) = tk
. Como a regra (3.3.1) deve ser exata
para qualquer q(t) at´e ordem p, ent˜ao tamb´em deve ser exata para qualquer fun¸c˜ao da
base. Substituindo f(t) por φ0(t) = 1 em (3.3.1) obtemos a identidade
b
a
φ0(t) dt = t|b
a = c0φ0(t0) + c1φ0(t1) + . . . + cpφ0(tp) (3.3.2)
b − a = c0 + c1 + . . . + cp (3.3.3)
Da mesma forma para φk(t), k = 1, . . . , p, obtemos
(t2
/2)|b
a =
b2
− a2
2
= c0t0 + c1t1 + . . . + cptp (3.3.4)
(t3
/3)|b
a =
b3
− a3
3
= c0t2
0 + c1t2
1 + . . . + cpt2
p (3.3.5)
... =
... (3.3.6)
bp+1
− ap+1
p + 1
= c0tp
0 + c1tp
1 + . . . + cptp
p (3.3.7)
que pode ser escrito na forma matricial







1 1 . . . 1
t0 t1 . . . tp
t2
0 t2
1 . . . t2
p
...
...
...
tp
0 tp
1 . . . tp
p














c0
c1
c2
...
cp







=








b − a
b2
−a2
2
b3
−a3
3
...
bp+1
−ap+1
p+1








(3.3.8)
Resolvendo o sistema obtemos os coeficientes ck para a regra de integra¸c˜ao.
Exemplo 7.
Seja p = 2, [t0, t1, t2] = [0, h/2, h] e [a, b] = [t0, t2], obtenha uma regra de integra¸c˜ao
para aproximar
b
a
f(t) dt.
Solu¸c˜ao: A regra ter´a a forma
b
a
f(t) dt ≈ c0f(t0) + c1f(t1) + c2f(t2) (3.3.9)
≈ c0f0 + c1f1 + c2f2 (3.3.10)
Considere a base polinomial [φ0(t), φ1(t), φ2(t)] = [1, t, t2
] e substitua f(t) por φk(t)
Se¸c˜ao 3.4: Quadratura Gaussiana 14
obtendo
h
0
1 dt = h = c0(1) + c1(1) + c2(1) (3.3.11)
h
0
t dt = h2
/2 = c0(0) + c1(h/2) + c2(h) (3.3.12)
h
0
t2
dt = h3
/3 = c0(0)2
+ c1(h/2)2
+ c2(h)2
(3.3.13)
que pode ser escrito na forma matricial


1 1 1
0 h/2 h
0 h2
/4 h2




c0
c1
c2

 =


h
h2
/2
h3
/3

 (3.3.14)
Resolvendo o sistema obtemos [c0, c1, c2] = [h
6 , 4h
6 , h
6 ] fornecendo a regra
h
0
f(t) dt ≈
h
6
f0 +
4h
6
f1 +
h
6
f2 (3.3.15)
=
f0 + 4f1 + f2
6
h (3.3.16)
Exerc´ıcio 3.7. Seja [t0, t1, t2, t3] = [0, h/3, 2h/3, h] e [a, b] = [0, h], obtenha uma
regra de integra¸c˜ao para aproximar
h
0
f(t) dt.
Exerc´ıcio 3.8. Uma regra que n˜ao utiliza os extremos. Seja [t1, t2, t3] = [h/4, h/2, 3h/4]
e [a, b] = [0, h], obtenha uma regra de integra¸c˜ao para aproximar
h
0
f(t) dt.
Exerc´ıcio 3.9. Seja [t0, t1, . . . , t4] = [0, h/4, h/2, 3h/4, h] e [a, b] = [0, h], obtenha
uma regra de integra¸c˜ao para aproximar
h
0 f(t) dt.
3.4. Quadratura Gaussiana
Objetivo:
Obter uma regra para integra¸c˜ao para a fun¸c˜ao f(t) em
[a, b] podendo variar a posi¸c˜ao dos n´os.
Queremos encontrar a melhor posi¸c˜ao de p pontos [t1, . . . , tp] e os melhores pesos
wk tal que a aproxima¸c˜ao
b
a
f(t) dt ≈ w1f(t1) + . . . + wpf(tp) (3.4.1)
possua ordem m´axima de aproxima¸c˜ao.
Para obter os coeficientes cl´assicos, tome [a, b] = [−1, 1]. (Para outros intervalos,
basta fazer uma mudan¸ca de intervalo na integral.)
Se¸c˜ao 3.5: Ordem de aproxima¸c˜ao 15
Note que temos p n´os e p pesos para determinar. Portanto podemos aproximar
f(t) pelo polinˆomio q(t) = c0 + c1t + . . . + cmtm
onde m = 2p − 1. A regra (3.4.1)
deve ser exata para qualquer φk(t) polinˆomio da base. Substituindo f(t) por φ0(t) = 1
em (3.3.1) obtemos a identidade
1
−1
φ0(t) dt = t|1
−1 = w1φ0(t1) + . . . + wpφ0(tp) (3.4.2)
2 = w1 + . . . + wp (3.4.3)
Da mesma forma para φk(t), k = 1, . . . , m, obtemos
(t2
/2)|1
−1 = 0 = w1t1 + . . . + wptp (3.4.4)
(t3
/3)|1
−1 = 2/3 = w1t2
1 + . . . + wpt2
p (3.4.5)
(t4
/4)|1
−1 = 0 = w1t3
1 + . . . + wpt3
p (3.4.6)
... =
... (3.4.7)
(1)m+1
− (−1)m+1
p + 1
= w1tm
1 + . . . + wptm
p (3.4.8)
que ´e um sistema n˜ao linear com 2p equa¸c˜oes e inc´ognitas wk, tk, k = 1, . . . , p.
Exerc´ıcio 3.10. Calcule os n´os e pesos para a quadratura de Gauss utilizando 2 n´os
no intervalo [−1, 1].
Exerc´ıcio 3.11. Calcule os n´os e pesos para a quadratura de Gauss utilizando 3 n´os
no intervalo [−1, 1].
3.5. Ordem de aproxima¸c˜ao
Considere a defini¸c˜ao da derivada de f(x) como
f′
(x) ≈
f(x + h) − f(x)
h
(3.5.1)
Se f ´e linear (f(x) = ax + b), ent˜ao a equa¸c˜ao acima ´e exata. Caso contr´ario a
aproxima¸c˜ao possui um erro.
Expandindo em s´erie de Taylor temos,
f(x + h) = f(x) + hfx(x) +
h2
2
fxx(x) + O(h3
) (3.5.2)
A nota¸c˜ao f(x) = O(g(x)) quando x → a significa que
|f(x)| ≤ C|g(x)| (3.5.3)
para uma constante C (normalmente consideramos x → 0 ou x → ∞).
Isolando fx(x) na s´erie de Taylor obtemos
f′
(x) =
f(x + h) − f(x)
h
−
h
2
fxx(x) + O(h2
) (3.5.4)
=
f(x + h) − f(x)
h
+ O(h) (3.5.5)
Quando h → 0, o erro na aproxima¸c˜ao ´e da ordem h.
Se¸c˜ao 3.5: Ordem de aproxima¸c˜ao 16
Exerc´ıcio 3.12. Para a fun¸c˜ao f(x) = sin(x), aproxime f′
(1) utilizando a derivada
pra frente para valores h = 10−1
, 10−2
, 10−3
, . . .. Plote o erro relativo na aproxima¸c˜ao
na escala logar´ıtmica, utilizando o comando loglog. Use h no eixo x e o erro relativo
Er(h) no eixo y. Identifique a ordem 1 do m´etodo na curva plotada e explique o que
acontece no gr´afico.
Exerc´ıcio 3.13. Obtenha a express˜ao para o erro da derivada central f′
(x) ≈ f(x+h)−f(x−h)
2h ,
utilizando a s´erie de Taylor. Repita o exerc´ıcio anterior utilizando derivada central. Iden-
tifique a ordem do m´etodo no gr´afico.
3.5.1. Integra¸c˜ao
Exemplo 8.
Aproxime
π
0
sin(x)dx utilizando 10 subintervalos iguais e a regra trapezoidal
xi+1
xi
f(t) dt ≈
fi + fi+1
2
h (3.5.6)
. Aproxime tamb´em para 102
, 103
, 104
intervalos.
Solu¸c˜ao: Note que h = π−0
10 = π
10 .
%------------------------
function [S]=trapezio(N)
h = (pi-0)/N % subintervalos
x = 0:h:pi; % dominio
f = sin(x);
S = 0; % Inicia com 0
for i=1:N-1
ds = h*(f(i)+f(i+1))/2; % subarea
S = S + ds; % acumula
end
end
%------------------------
Rode
T(1)=trapezio(10)
T(2)=trapezio(100)
T(3)=trapezio(1000)
T(4)=trapezio(10000)
semilogy(T)
Exerc´ıcio 3.14. Aproxime
π
0
sin(x)dx utilizando N subintervalos iguais e a regra de
Simpson
xi+2
xi
f(t) dt ≈
fi + 4fi+1 + fi+2
6
h (3.5.7)
17
. Aproxime tamb´em para N = 102
, 103
, 104
intervalos. (Note que em cada subintervalo
existem 3 n´os consecutivos, fazendo com que o for pule de 2 em 2 n´os. Por quˆe?)
Plote o erro na escala logar´ıtmica em y.
Exerc´ıcio 3.15. Aproxime
π
0
sin(x)dx utilizando N subintervalos iguais e a uma
quadratura de Gauss com 2 n´os em cada subintervalo (veja como obter os n´os na se¸c˜ao
anterior ou na literatura). Note que os n´os devem ser transladados para o subintervalo j´a
que eles s˜ao fornecidos no intervalo (−1, 1). Aproxime tamb´em para N = 102
, 103
, 104
intervalos. Plote o erro na escala logar´ıtmica em y.
Aula 4 e 5 .
Equa¸c˜oes Diferenciais Ordin´arias e M´etodo de Euler
.
Butcher, Iserles
Cap´ıtulo 4:
Equa¸c˜oes Diferenciais Ordin´arias
Bibliografia: Cap.1 [5], Sec.11,20,21,22 e [1]
Objetivo:
Resolver ou aproximar a solu¸c˜ao de uma equa¸c˜ao dife-
rencial ordin´aria (EDO).
Considere a EDO de 1.a ordem,
u′
(t) = f(t, u(t)) (4.0.1)
u(t0) = a (4.0.2)
onde u(t) : R → R, e u(t0) = a ´e chamada de condi¸c˜ao inicial, e o problema ´e
chamado de Problema de Valor Inicial (PVI).
Usando a mesma terminologia podemos representar fun¸c˜oes vetoriais, i.e., caso
u(t) ∈ RN
,
u′
(t) = f(t, u(t)) (4.0.3)
u(t0) = a (4.0.4)
18
onde u(t) = [u1(t), u2(t), . . . , uN (t)] : R → RN
e a = [a1, . . . , aN ] ∈ RN
. Ou seja,
u′
1(t) = f1(t, u1(t), . . . , uN (t)) (4.0.5)
u′
2(t) = f2(t, u1(t), . . . , uN (t)) (4.0.6)
... =
... (4.0.7)
u′
N (t) = fN (t, u1(t), . . . , uN (t)) (4.0.8)
e condi¸c˜oes iniciais
u1(t0) = a1 (4.0.9)
u2(t0) = a2 (4.0.10)
... =
... (4.0.11)
uN (t0) = aN (4.0.12)
Note que dependendo do problema, podemos ter condi¸c˜oes de contorno.
Exemplo 9.
du
dt
= t (4.0.13)
u(0) = a (4.0.14)
Exemplo 10.
du
dt
= u (4.0.15)
u(0) = a (4.0.16)
Exemplo 11.
du
dt
= u + t (4.0.17)
u(0) = a (4.0.18)
Exemplo 12.
du
dt
= sin(u2
+ sin(t)) (4.0.19)
u(0) = a (4.0.20)
Se¸c˜ao 4.1: Teoria de equa¸c˜oes diferenciais 19
Exemplo 13.
du1
dt
= u2 (4.0.21)
du2
dt
= −u1/(u2 + u3) (4.0.22)
du3
dt
= u2 + t (4.0.23)
u1(0) = 4 (4.0.24)
u2(0) = 5 (4.0.25)
u3(0) = 6 (4.0.26)
Exemplo 14.
Modelo presa-predador (Lotka-Volterra)
u′
= u(2 − v) (4.0.27)
v′
= v(u − 1) (4.0.28)
Exerc´ıcio 4.1. Dado o problema de valor inicial
u′′′
− 3u′′
+ 2uu′
= 0, u(l) = 2, u′
(l) = −1, u′′
(l) = 4, (4.0.29)
mostre como reformular este problema na forma
y′
= f(y), y(t0) = y0 (4.0.30)
onde y(t) = [y1(t), y2(t), y3(t)], f : R3
− > R3
.
Exerc´ıcio 4.2. Considere o PVI n˜ao autˆonomo,
u′
= tu + t2
v, u(0) = 3, (4.0.31)
v′
= u − v + 2tw, v(0) = 2, (4.0.32)
w′
= u +
v
1 + t
w(0) = 5. (4.0.33)
Reescreva-o como um problema autˆonomo (sem dependˆencia expl´ıcita na vari´avel inde-
pendente t).
4.1. Teoria de equa¸c˜oes diferenciais
Uma quest˜ao fundamental em matem´atica aplicada ´e analisar se um modelo matem´atico
dado por um PVI ´e ´util para predizer o comportamento temporal do objeto de estudo.
Ou seja, o problema proposto ´e bem posto(well-posed)? Dividindo a pergunta
em trˆes partes:
• Existe uma solu¸c˜ao para o PV I?
• A solu¸c˜ao ´e ´unica?
• Qu˜ao sens´ıvel ´e a solu¸c˜ao a pequenas perturba¸c˜oes nas condi¸c˜oes iniciais?
20
Defini¸c˜ao 4.1.1. A fun¸c˜ao f : [a, b]×RN
→ RN
´e Lipschitz (na segunda
vari´avel) se ∃ constante L, tal que ∀t ∈ [a, b] e u, v ∈ RN
,
f(·, u) − f(·, v) ≤ L u − v .
Defini¸c˜ao 4.1.2. Seja (M, ρ) um espa¸co m´etrico com m´etrica ρ. A fun¸c˜ao
φ : M → M ´e dita uma contra¸c˜ao se ∃k, 0 ≤ k < 1 tal que ∀ζ, η ∈ M,
ρ(φ(η), φ(ζ)) ≤ kρ(η, ζ). (4.1.1)
Lema 4.1.3. Seja (M, ρ) um espa¸co m´etrico completo e φ : M → M uma con-
tra¸c˜ao. Ent˜ao ∃!ξ ∈ M tal que φ(ξ) = ξ.
Teorema 4.1.4. Seja f : [a, b]×RN
→ RN
cont´ınua na primeira vari´avel e Lips-
chitz na segunda vari´avel. Ent˜ao ∃ uma ´unica solu¸c˜ao para o PVI
u′
(t) = f(t, u(t)) (4.1.2)
u(t0) = a. (4.1.3)
Veja a prova em Butcher.
4.1.1. Dependˆencia na condi¸c˜ao inicial
Se u(t) e v(t) s˜ao solu¸c˜oes do PVI com f Lipschitz com u(t0) = u0, v(t0) = v0, ent˜ao
d
dt
u(t) − v(t) ≤ L u(t) − v(t)
Multiplicando por e−Lt
,
d
dt
(e−Lt
u(t) − v(t) ) ≤ 0
implicando que
u(t) − v(t) ≤ eL(t−t0)
u0 − v0 .
Cap´ıtulo 5:
M´etodo de Euler
Seja o PVI
u′
(t) = f(t, u(t)) (5.0.1)
u(t0) = a (5.0.2)
Ao inv´es de solucionar o problema para qualquer t > t0, (achar u(t)), iremos aproximar
u(t) em t1 = t0 + h.
Integre (5.0.1) de t0 at´e t1 e obtenha:
t1
t0
u′
(t) dt =
t1
t0
f(t, u(t)) dt (5.0.3)
u(t1) − u(t0) =
t1
t0
f(t, u(t)) dt (5.0.4)
21
Supondo f(t, u(t)) ≈ f(t0, u(t0)) (constante) no intervalo pequeno,
u(t1) − u(t0) ≈ f(t0, u(t0))
t1
t0
dt (5.0.5)
u(t1) ≈ u(t0) + f(t0, u(t0))
t1
t0
dt (5.0.6)
u(t1) ≈ u(t0) + f(t0, u(t0))(t1 − t0) (5.0.7)
u(t1) ≈ u(t0) + hf(t0, u(t0)) (5.0.8)
Para simplificar a nota¸c˜ao, denote por un ≡ u(tn) a solu¸c˜ao aproximada em tn
e temos
u1 ≈ u0 + hf(t0, u0) (5.0.9)
Este procedimento pode ser estendido para t2, t3, . . ., onde
tn+1 = tn + h = t0 + nh, n = 1, 2, . . .
obtendo o m´etodo de Euler,
M´etodo de Euler
un+1 = un + h f(tn, un) (5.0.10)
para n = 0, 1, 2 . . .. (Note que o passo h ´e constante, entretanto poderia ser vari´avel:
hn = tn − tn−1.)
Exemplo 15.
Aproxime a solu¸c˜ao do PVI
du
dt
= −0.5u + 2 + t (5.0.11)
u(0) = 8 (5.0.12)
Teste para h = 1.6, 0.8, 0.4, 0.2, 0.1.
Note que a solu¸c˜ao exata do problema ´e
u(t) = 2t + 8e−t/2
(5.0.13)
Itere a f´ormula
un+1 = un + h(−0.5un + 2 + tn), u0 = 3 (5.0.14)
atrav´es do c´odigo abaixo:
%---------------------------
function [u,t]=euler(h,Tmax)
u(1)= 8;
t(1)= 0;
itmax = Tmax/h;
for n=1:itmax
t(n+1)= t(n) + h;
22
0 1 2 3 4 5
6
6.5
7
7.5
8
8.5
9
9.5
10
10.5
11
Solucao do PVI
t
u
u(n+1)= u(n) + h*(-0.5*u(n)+2+t(n));
exata(n+1)= 2*t(n+1)+8*exp(-t(n+1)/2);
erro(n+1) = abs(exata(n+1)-u(n+1))/abs(exata(n+1));
end
figure(1); plot(t,u,’g*-’);
title(’Solucao do PVI’)
xlabel(’t’);ylabel(’u’); hold on
figure(2); plot(t,erro,’b*-’);
title(’Erro’); hold on
%---------------------------
Veja abaixo a solu¸c˜ao para h = 1, 0.5, 0.1, 0.05:
Exerc´ıcio 5.1. Aproxime a solu¸c˜ao do PVI
du
dt
= sin t (5.0.15)
u(0) = 1 (5.0.16)
para t ∈ [0, 10].
a. Plote a solu¸c˜ao para h = 0.16, 0.08, 0.04, 0.02, 0.01.
b. Utilizando a solu¸c˜ao exata, plote um gr´afico do erro em escala logar´ıtmica. Co-
mente os resultados.
Se¸c˜ao 5.1: Erro de truncamento 23
c. Para t = 10, qual a rela¸c˜ao entre o erro e h (erro = f(h)). Comente.
Exerc´ıcio 5.2. Aproxime a solu¸c˜ao do PVI
du
dt
=
t2
1 − u2
(5.0.17)
u(0) = 0 (5.0.18)
para t > 0.
a. Plote a solu¸c˜ao para h = 0.5 e t ∈ [0, 20].
b. Tente aproximar melhor a solu¸c˜ao diminuindo h.
c. Note que existe T∗ tal que a solu¸c˜ao deixa de existir para t > T∗. Forne¸ca uma
justificativa para este fato e encontre T∗.
5.1. Erro de truncamento
Sendo u(tn) a solu¸c˜ao exata em tn e un a solu¸c˜ao aproximada, defina o erro num´erico
como en = un − u(tn).
Expandindo em s´erie de Taylor
u(tn+1) = u(tn) + hu′
(tn) + h2
u′′
(tn)/2 + O(h3
) (5.1.1)
e utilizando a equa¸c˜ao diferencial,
u(tn+1) = u(tn) + hf(tn, un) + h2
u′′
(tn)/2 + O(h3
) (5.1.2)
Subtraindo (5.1.2) do m´etodo de Euler
un+1 = un + h f(tn, un) (5.1.3)
temos
un+1 − u(tn+1) =un − u(tn) (5.1.4)
+ h(f(tn, u(tn) + en) − f(tn, u(tn))) + O(h2
) (5.1.5)
en+1 =en + h(f(tn, u(tn) + en) − f(tn, u(tn))) + O(h2
) (5.1.6)
Usando a condi¸c˜ao de Lipschitz em f temos
en+1 ≤ en + h f(tn, u(tn) + en) − f(tn, u(tn)) + ch2
(5.1.7)
≤ en + hL u(tn) + en − u(tn) + ch2
(5.1.8)
≤ en + hL en + ch2
(5.1.9)
≤ (1 + hL) en + ch2
(5.1.10)
5.1.1. Erro de truncamento Local
O Erro de Truncamento Local ´e o erro cometido em uma itera¸c˜ao do m´etodo num´erico
supondo que a solu¸c˜ao exata ´e conhecida no passo anterior.
Assim, supondo que a solu¸c˜ao ´e exata em tn, obtemos que o ETL ´e
ET Ln+1
Euler = h2
/2 u′′
(tn) + O(h3
)
Se¸c˜ao 5.1: Erro de truncamento 24
5.1.2. Erro de truncamento Global
Seja T = tn+1 − t0 = h(n + 1), temos dois casos: se L = 0 ent˜ao
en+1 ≤ en + ch2
(5.1.11)
≤ en−1 + ch2
+ ch2
(5.1.12)
≤ en−2 + ch2
+ ch2
+ ch2
(5.1.13)
≤ . . . (5.1.14)
≤ e0 + (n + 1)ch2
(5.1.15)
≤ e0 + T ch (5.1.16)
e se L = 0 ent˜ao
en+1 ≤ (1 + hL) en + ch2
(5.1.17)
en+1 + ch/L ≤ (1 + hL) en + ch/L + ch2
(5.1.18)
en+1 + ch/L ≤ (1 + hL) en + (1 + hL)ch/L (5.1.19)
en+1 + ch/L ≤ (1 + hL)( en + ch/L) (5.1.20)
en+1 + ch/L ≤ (1 + hL)n+1
( e0 + ch/L) (5.1.21)
en+1 + ch/L ≤ e(n+1)hL
( e0 + ch/L) (5.1.22)
en+1 ≤ eT L
( e0 + ch/L) − ch/L (5.1.23)
en+1 ≤ eT L
e0 + eT L
ch/L − ch/L (5.1.24)
en+1 ≤ eT L
e0 + (eT L
− 1)ch/L (5.1.25)
O Erro de Truncamento Global ´e o erro cometido durante v´arias itera¸c˜oes do
m´etodo num´erico.
Supondo que a solu¸c˜ao exata ´e conhecida em t0, temos e0 = 0 e ET G ´e
ET Gn+1
Euler = O(h)
5.1.3. Convergˆencia
Um m´etodo ´e dito convergente se para toda EDO com f Lipschitz e todo T > 0
temos que
lim
h−>0
max
∀n
un − u(tn) = 0
Convergˆencia significa que a solu¸c˜ao num´erica tende a solu¸c˜ao verdadeira
Teorema 5.1.1. O m´etodo de Euler ´e convergente.
Supondo que o erro em t0 ´e zero temos ∀T > t0 e f Lipschitz
lim
h−>0
en+1 = lim
h−>0
(eT L
− 1)ch/L = 0 (5.1.26)
O m´etodo de Euler possui ET L = O(h2
) e ´e um m´etodo de ordem 1.
Se¸c˜ao 5.2: A regra do trap´ezio 25
5.1.4. Paradoxo da ordem
Cont´ınuo: u(t) resolve exatamente u′
(t) = f(t, u(t)).
Discreto: un+1 resolve exatamente un+1 =
F(f, t, un, . . . , u0).
Por´em
un+1 resolve aproximadamente u′
(t) = f(t, u(t)),
ou seja, un+1 − u(tn) = O(hp+1
).
u(t) resolve aproximadamente
u(tn+1) − F(f, t, u(tn), . . . , u(t0)) = O(hp+1
).
Alternativamente, um m´etodo ´e chamado de ordem p se recupera exatamente
toda solu¸c˜ao polinomial de ordem p.
Sob certas condi¸c˜oes, como ET L = O(hp+1
), quando o n´umero de passos
aumenta como O(n) = O(h−1
) temos que ET G = O(hp
).
5.2. A regra do trap´ezio
O m´etodo de Euler aproxima f como uma constante f(t0, u0) no intervalo [t0, t1].
Podemos melhorar isso usando a regra do trap´ezio,
u(t1) = u(t0) +
t1
t0
f(t, u(t)) dt (5.2.1)
u(t1) ≈ u(t0) + (t1 − t0
1
2
f(t0, u(t0)) +
1
2
f(t1, u(t1)) (5.2.2)
motivando o
m´etodo trapezoidal
un+1 = un +
h
2
(f(tn, un) + f(tn+1, un+1)) (5.2.3)
O erro de truncamento local ´e
ET Ln+1
T rap = O(h3
)
portanto o m´etodo ´e de ordem 2. Pode ser mostrado que o erro de truncamento global
´e
ET Gn+1
T rap = O(h2
)
Se¸c˜ao 5.3: O m´etodo theta 26
(entretanto n˜ao deve se concluir que ET G = ET L/h)
O m´etodo trapezoidal ´e dito impl´ıcito, pois para obter un+1 ´e necess´ario calcular
f(tn+1, un+1). Para resolver esse problema devemos resolver a equa¸c˜ao para un+1 (ou
ainda um sistema alg´ebrico de equa¸c˜oes).
Inspirado no m´etodo anterior, ao inv´es de aproximar
u′
(t) ≈
1
2
[f(tn, un) + f(tn+1, un+1)] (5.2.4)
podemos aproximar
u′
(t) ≈ f(tn +
h
2
,
1
2
(un + un+1)). (5.2.5)
levando ao
m´etodo do ponto m´edio
un+1 = un + hf(tn +
h
2
,
1
2
(un + un+1)). (5.2.6)
Exerc´ıcio 5.3. Mostre que o m´etodo do ponto m´edio ´e convergente e de ordem 2.
5.3. O m´etodo theta
Tanto o m´etodo de Euler quanto o m´etodo trapezoidal se encaixam no m´etodo
un+1 = un + h(θf(tn, un) + (1 − θ)f(tn+1, un+1)) (5.3.1)
com θ = 1 e θ = 1
2 respectivamente. O m´etodo ´e expl´ıcito somente para θ = 1. Para
θ = 0, temos um m´etodo impl´ıcito de primeira ordem chamado
m´etodo de Euler impl´ıcito
un+1 = un + hf(tn+1, un+1). (5.3.2)
Exerc´ıcio 5.4. O sistema linear u′
= Au, u(0) = u0, onde A ´e uma matriz sim´etrica
´e resolvido pelo m´etodo de Euler.
a. Seja en = un − u(nh), n = 0, 1, . . ., prove que
en 2 ≤ u0 2 max
λ∈σ(A)
|(1 + hλ)n
− enhλ
|, (5.3.3)
onde σ(A) ´e o conjunto dos autovalores de A e · 2 ´e a norma euclidiana.
b. Demonstre que para −1 ≪ x ≤ 0 e n = 0, 1, . . . ´e v´alida a express˜ao
enx
−
1
2
nx2
e(n−1)x
≤ (1 + x)n
≤ enx
. (5.3.4)
(Dica: Prove que 1 + x ≤ ex
, 1 + x + 1
2 x2
≥ ex
, para todo x ≤ 0 e argumente
que, se |a − 1| e |b| s˜ao pequenos, ´e verdade que (a − b)n
≥ an
− nan−1
b.
Se¸c˜ao 5.4: O m´etodo de Taylor 27
c. Suponha que o maior autovalor de A ´e λmax < 0. Prove que, quando h− > 0 e
nh− > t ∈ [0, t∗
],
en 2 ≤
1
2
tλ2
maxeλmaxt
u0 2h ≤
1
2
t∗
λ2
max u0 2h (5.3.5)
5.4. O m´etodo de Taylor
Uma maneira simples de aumentar a ordem do m´etodo ´e utilizar diretamente a s´erie de
Taylor. Considere a expans˜ao
u(t + h) = u(t) + hu′
(t) +
h2
2!
u′′
(t) +
h3
3!
u′′′
(t) + . . . (5.4.1)
Utilizando dois termos temos o m´etodo de Euler. Utilizando os trˆes primeiros
termos da s´erie e substituindo u′
(t) = f(t, x) e u′′
(t) = ft(t, x) temos o
m´etodo de Taylor de ordem 2
un+1 = un + hf(tn, un) +
h2
2!
ft(tn, un) (5.4.2)
m´etodo de Taylor de ordem 3
un+1 = un + hf(tn, un) +
h2
2!
ft(tn, un) +
h3
3!
ftt(tn, un)
Exerc´ıcio 5.5. Aproxime a solu¸c˜ao do PVI
du
dt
= sin t (5.4.3)
u(0) = 1 (5.4.4)
para t ∈ [0, 10].
a. Plote a solu¸c˜ao para h = 0.16, 0.08, 0.04, 0.02, 0.01 para o m´etodo de Taylor de
ordem 1, 2 e 3. (Plote todos de ordem 1 no mesmo gr´afico, ordem 2 em outro
gr´afico e ordem 3 outro gr´afico separado.)
b. Utilizando a solu¸c˜ao exata, plote um gr´afico do erro em escala logar´ıtmica. Co-
mente os resultados (novamente, em cada gr´afico separado para cada m´etodo
repita os valores acima)
c. Fixe agora o valor h = 0.02 e plote no mesmo gr´afico uma curva para cada
m´etodo.
d. Plote em um gr´afico o erro em t = 10 para cada um dos m´etodos (uma curva
para cada ordem) a medida que h diminui. (Use escala loglog)
Exerc´ıcio 5.6. Aproxime a solu¸c˜ao do modelo presa-predador (Lotka-Volterra)
x′
= x(2 − y), x(0) = 1 (5.4.5)
y′
= y(x − 1), y(0) = 1 (5.4.6)
28
utilizando o m´etodo de Euler. Escolha apropriadamente h e ilustre graficamente a
convergˆencia. Plote solu¸c˜oes no plano de fase (plano xy).
Exerc´ıcio 5.7. Aproxime a solu¸c˜ao do PVI
du
dt
=
cos(t + u)
1 + u2
(5.4.7)
u(0) = 0 (5.4.8)
utilizando o m´etodo do trap´ezio. Escolha apropriadamente h e ilustre graficamente a
convergˆencia.
Para resolver o m´etodo impl´ıcito, utilize por exemplo itera¸c˜ao de ponto fixo ou
o m´etodo de Newton.
a. Plote a solu¸c˜ao para diferentes valores de h.
b. Para h = 0.01 e T = 10 conte o n´umero total de itera¸c˜oes necess´arias de cada
passo do m´etodo impl´ıcito para obter a solu¸c˜ao usando uma tolerˆancia de 10−15
na solu¸c˜ao do problema impl´ıcito.
c. Repita o exerc´ıcio anterior com h = 0.01, T = 10 e tolerˆancia de 10−8
.
d. Repita o exerc´ıcio anterior com h = 0.01, T = 10 e tolerˆancia de 10−4
.
e. Repita o exerc´ıcio anterior utilizando o m´etodo de Euler com diferentes valores de
h, at´e T = 10 de tal forma que a solu¸c˜ao seja t˜ao pr´oxima da solu¸c˜ao do m´etodo
do trap´ezio quanto poss´ıvel. Conte as itera¸c˜oes necess´arias para obter a solu¸c˜ao
com o m´etodo de Euler com o mesmo erro que o m´etodo do trap´ezio.
f. Compare, para esse exerc´ıcio, o m´etodo de Euler e o do trap´ezio.
Aula 6 e 7 .
M´etodos de passo m´ultiplo
.
Butcher, Iserles
Cap´ıtulo 6:
M´etodos de Passo M´ultiplo
Bibliografia: Cap.2 [5], e Sec.24 [1].
Seja a EDO
u′
(t) = f(t, u(t)) (6.0.1)
u(t0) = a (6.0.2)
Se¸c˜ao 6.1: O m´etodo de Adams-Bashforth 29
Integrando a EDO em [tn+1, tn] obtemos
un+1 = un +
tn+1
tn
f(t, u(t)) dt (6.0.3)
Denote por fn ≡ f(tn, un). Um m´etodo de passo simples utiliza fn+1 e fn. Um
m´etodo de passo m´ultiplo utiliza tamb´em s valores anteriores j´a calculados como
fn−1, fn−2, . . . , fn−s, onde s ≥ 1 inteiro.
un+1 = un + h[bsfn+1 + bs−1fn + . . . + b1fn−s+2 + b0fn−s+1] (6.0.4)
Para conformidade com [5], translade s − 1 ´ındices,
un+s = un+s−1 + h[bsfn+s + bs−1fn+s−1 + . . . + b1fn+1 + b0fn] (6.0.5)
e teremos
un+s = un+s−1 + h
s
m=0
bmfn+m (6.0.6)
De forma geral
um m´etodo de passo m´ultiplo ser´a
s
m=0
amun+m = h
s
m=0
bmfn+m (6.0.7)
6.1. O m´etodo de Adams-Bashforth
Quando as = 1, as−1 = −1, am = 0 para m = s − 2, . . . , 0, bs = 0 temos um m´etodo
de Adams-Bashforth do tipo
un+s = un+s−1 + h
s−1
m=0
bmfn+m (6.1.1)
Note que os m´etodos de Adams-Bashforth s˜ao expl´ıcitos pois bs = 0.
Exemplo 16.
Vamos obter o m´etodo de Adams-Bashforth para s = 4 como
un+4 = un+3 +
tn+4
tn+3
f(t, u(t)) dt (6.1.2)
un+4 = un+3 + h
3
m=0
bmfn+m (6.1.3)
un+4 = un+3 + h[b3fn+3 + b2fn+2 + b1fn+1 + b0fn] (6.1.4)
Para isso devemos obter [b3, b2, b1, b0] tal que o m´etodo seja exato para polinˆomios at´e
ordem 3. Podemos obter esses coeficientes de maneira an´aloga a obter os coeficientes
de um m´etodo para integra¸c˜ao como em 3.1.
Se¸c˜ao 6.1: O m´etodo de Adams-Bashforth 30
Supondo que os n´os tk estejam igualmente espa¸cados, e para facilidade dos
c´alculos, como o intervalo de integra¸c˜ao ´e [tn+3, tn+4], translade tn+3 para a origem
tal que [tn, tn+1, . . . , tn+4] = [−3h, −2h, −h, 0, h].
Considere a base [φ0(t), . . . , φ3(t)] = [1, t, t2
, t3
] e substitua f(t) por φk(t) ob-
tendo
h
0
1 dt = h = h(b0(1) + b1(1) + b2(1) + b3(1))
h
0
t dt =
h2
2
= h(b0(0) + b1(−h) + b2(−2h) + b3(−3h))
h
0
t2
dt =
h3
3
= h(b0(0)2
+ b1(−h)2
+ b2(−2h)2
+ b3(−3h)2
)
h
0
t3
dt =
h4
4
= h(b0(0)3
+ b1(−h)3
+ b2(−2h)3
+ b3(−3h)3
)
que pode ser escrito na forma matricial




1 1 1 1
0 −1 −2 −3
0 1 4 9
0 −1 −8 −27








b0
b1
b2
b3



 =




1
1/2
1/3
1/4



 (6.1.5)
Resolvendo o sistema obtemos
[b0, b1, b2, b3] = [−
9
24
,
37
24
, −
59
24
,
55
24
]
fornecendo
o m´etodo de Adams-Bashforth de 4 est´agios
un+4 = un+3 +
h
24
[55fn+3 − 59fn+2 + 37fn+1 − 9fn]
(6.1.6)
Dica: Para encontrar coeficientes no formato fracion´ario utilize format rat no
Matlab.
Exerc´ıcio 6.1. Mostre que o m´etodo de Adams-Bashforth para s = 2 ´e dado por
un+2 = un+1 +
h
2
[3fn+1 − fn] (6.1.7)
Exerc´ıcio 6.2. Mostre que o m´etodo de Adams-Bashforth para s = 3 ´e dado por
un+3 = un+2 +
h
12
[23fn+2 − 16fn+1 + 5fn] (6.1.8)
Se¸c˜ao 6.2: Ordem e convergˆencia de m´etodos de passo m´ultiplo 31
6.1.1. C´odigo
%---------------------------
function [u]=adamsbashforth3(h,itmax)
t(1)=0; u(1)=2; f(1)= func( t(1), u(1) );
t(2)=t(1)+h; u(2)=u2; f(2)= func( t(2), u(2) );
t(3)=t(2)+h; u(3)=u3; f(3)= func( t(3), u(3) );
for n=3:itmax
t(n+1)= t(n) + h;
u(n+1)= u(n) + h/12*(23*f(n)-16* f(n-1) +5*f(n-2));
f(n+1)= func( t(n+1), u(n+1) );
end
end
%---------------------------
function [fu]=func(t,u)
fu = u+t
end
%---------------------------
Note a defini¸c˜ao da fun¸c˜ao f em na fun¸c˜ao func.
6.2. Ordem e convergˆencia de m´etodos de passo m´ultiplo
Mais geralmente, um m´etodo de passo m´ultiplo ser´a da forma
s
m=0
amun+m = h
s
m=0
bmfn+m (6.2.1)
Por conven¸c˜ao normalizamos a equa¸c˜ao acima tomando as = 1. Quando bs = 0 temos
um m´etodo expl´ıcito e quando bs = 0 temos um m´etodo impl´ıcito.
O m´etodo ser´a de ordem p se o ET L(u(t)) = ψ(u(t)) = O(hp+1
) para u(t)
suficientemente suave, ou ainda, a solu¸c˜ao exata resolve aproximadamente (6.2.1), tal
que,
ψ(u(t)) :=
s
m=0
amu(t + mh) − h
s
m=0
bmu′
(t + mh) (6.2.2)
=O(hp+1
), h → 0 (6.2.3)
Dois polinˆomios s˜ao usados para estudar o m´etodo (6.2.1):
ρ(w) =
s
m=0
amwm
, σ(w) =
s
m=0
bmwm
, (6.2.4)
Teorema 6.2.1. O m´etodo de passo m´ultiplo ´e de ordem p ≥ 1 se e somente se
ρ(w) − σ(w) ln w = O(|w − 1|p+1
) w → 1
Se¸c˜ao 6.2: Ordem e convergˆencia de m´etodos de passo m´ultiplo 32
Demonstra¸c˜ao. Expandindo u(t + mh) e u′
(t + mh) como s´erie de Taylor,
u(t + mh) =
∞
k=0
u(k)
(t)
k!
mk
hk
(6.2.5)
u′
(t + mh) =
∞
k=0
u(k+1)
(t)
k!
mk
hk
(6.2.6)
u′
(t + mh) =
∞
k=1
u(k)
(t)
(k − 1)!
mk−1
hk−1
(6.2.7)
Assumindo que u(t) ´e anal´ıtica temos
ψ(u(t)) =
s
m=0
amu(t + mh) − h
s
m=0
bmu′
(t + mh)
=
s
m=0
am
∞
k=0
u(k)
(t)
k!
mk
hk
− h
s
m=0
bm
∞
k=1
u(k)
(t)
(k − 1)!
mk−1
hk−1
=(
s
m=0
am)u(t) +
∞
k=1
s
m=0
am
u(k)
(t)
k!
mk
hk
− hbm
u(k)
(t)
(k − 1)!
mk−1
hk−1
=(
s
m=0
am)u(t) +
∞
k=1
u(k)
(t)
k!
hk
s
m=0
(ammk
− bmkmk−1
)
Para o m´etodo ser de ordem p ´e necess´ario e suficiente que todos termos at´e ordem
hp
sejam zero, ou seja,
s
m=0
am = 0 (6.2.8)
s
m=0
(ammk
− bmkmk−1
) = 0, k = 1, . . . , p (6.2.9)
Por outro lado, fazendo w = ez
(quando z− > 0 temos w− > 1), e expan-
Se¸c˜ao 6.2: Ordem e convergˆencia de m´etodos de passo m´ultiplo 33
dindo em s´erie de Taylor
ρ(ez
) − zσ(ez
) =
s
m=0
amemz
− z
s
m=0
bmemz
(6.2.10)
=
s
m=0
(am − zbm)emz
(6.2.11)
=
s
m=0
(am − zbm)(
∞
k=0
mk
zk
k!
) (6.2.12)
=
∞
k=0
zk
k!
s
m=0
ammk
− zbmmk
(6.2.13)
=
∞
k=0
zk
k!
s
m=0
ammk
− bmkmk−1
(6.2.14)
Temos ent˜ao que
ρ(ez
) − zσ(ez
) = O(zp+1
), z− > 0 (6.2.15)
ρ(w) − ln wσ(w) = O(|w − 1|p+1
), w− > 1 (6.2.16)
se e somente se o m´etodo ´e de ordem p, ou seja, as condi¸c˜oes (6.2.8) s˜ao v´alidas.
6.2.1. Convergˆencia de m´etodos de passo m´ultiplo
Alternativamente,
ψ(u(t)) = O(hp+1
)
para u(t) arbitr´aria se e somente se ψ(q(t)) = 0 ∀q(t) ∈ Pp
.
Isto ´e equivalente a ψ(φk(t)) = 0 para a base polinomial φk(t) = tk
, k =
0, . . . , p.
Por exemplo, para φ0(t) = 1 obtemos
ψ(φ0) =
s
m=0
amψ0(t + mh) − h
s
m=0
bmψ′
0(t + mh) (6.2.17)
=
s
m=0
am = 0 (6.2.18)
e para ψk(t) = tk
, obtemos
ψ(φk) =
s
m=0
amψk(t + mh) − h
s
m=0
bmψ′
k(t + mh) (6.2.19)
=
s
m=0
am(mh)k
− h
s
m=0
bmk(mh)k−1
(6.2.20)
= hk
s
m=0
ammk
− bmkmk−1
(6.2.21)
(6.2.22)
Se¸c˜ao 6.2: Ordem e convergˆencia de m´etodos de passo m´ultiplo 34
que ´e igual a zero para k = 1, . . . , p sob a condi¸c˜ao (6.2.8).
Exemplo 17.
Considere o m´etodo (6.1.7) de Adams-Bashforth de ordem 2.
un+2 = un+1 +
h
2
[3fn+1 − fn] (6.2.23)
Podemos calcular (fa¸ca ξ = w − 1),
ρ(w) − σ(w) ln w = (w2
− w) − (
3
2
w −
1
2
) ln w (6.2.24)
= (ξ2
+ ξ) − (1 +
3
2
ξ)(ξ −
1
2
ξ2
+
1
3
ξ3
+ . . .) (6.2.25)
=
5
12
ξ3
+ O(ξ4
) (6.2.26)
o qual valida a ordem 2 para o m´etodo.
Exerc´ıcio 6.3. Verifique que o m´etodo (6.1.8) de Adams-Bashforth para s = 3 ´e
realmente de ordem 3.
Exerc´ıcio 6.4. Verifique que o m´etodo (6.1.6) de Adams-Bashforth para s = 4 ´e
realmente de ordem 4.
Exerc´ıcio 6.5. Verifique que o m´etodo
un+2 − 3un+1 + 2un =
h
12
[13fn+2 − 20fn+1 − 5fn] (6.2.27)
possui ordem 2, por´em n˜ao ´e convergente (sem usar o pr´oximo teorema). (Dica: use a
EDO u′
(t) = 0, u(0) = 1).
6.2.2. Teorema de equivalˆencia de Dahlquist
Dizemos que um polinˆomio obedece a condi¸c˜ao da raiz se todas suas ra´ızes possuem
|z| ≤ 1 e as ra´ızes com |z| = 1 s˜ao simples.
Teorema 6.2.2 (Teorema de equivalˆencia de Dahlquist). Suponha que o erro em
u1, . . . , us−1 tende a zero quando h− > 0. O m´etodo de passo m´ultiplo ´e convergente
se e somente se o erro ´e de ordem p ≥ 1 e ρ(z) obedece a condi¸c˜ao da raiz.
Por exemplo o m´etodo (6.2.27) possui
ρ(w) = (w − 1)(w − 2) (6.2.28)
violando a condi¸c˜ao da raiz.
Exemplo 18.
Prove que o m´etodo de passo 3
un+3 +
27
11
un+2 −
27
11
un+1 − un = (6.2.29)
=
h
11
[3fn+3 + 27fn+2 + 27fn+1 + 3fn] (6.2.30)
Se¸c˜ao 6.3: O m´etodo de Adams-Moulton 35
possui ordem 6 por´em n˜ao ´e convergente.
Solu¸c˜ao: Verifique que o m´etodo ´e ordem 6. Entretanto o polinˆomio
ρ(w) = w3
+
27
11
w2
−
27
11
w − 1 (6.2.31)
= (w − 1) w +
19 + 4
√
15
11
w +
19 − 4
√
15
11
(6.2.32)
que falha na condi¸c˜ao da raiz.
Exerc´ıcio 6.6. Prove que todos os m´etodos de Adams-Bashforth satisfazem a condi¸c˜ao
da raiz.
6.2.3. A primeira barreira de Dahlquist
Um m´etodo de passo m´ultiplo possui 2s + 1 coeficientes am,bm. Poder´ıamos definir
tais coeficientes de tal forma a obter ordem m´axima.
Conclus˜ao? Poder´ıamos obter m´etodos com s est´agios e ordem 2s.
Entretanto tal m´etodo (impl´ıcito de passo s e ordem 2s) n˜ao ´e convergente para
s ≥ 3 (como o m´etodo (6.2.29) visto acima).
´E poss´ıvel provar que a ordem m´axima de convergˆencia para um m´etodo de
passo m´ultiplo s ´e no m´aximo 2⌊(s + 2)/2⌋ para m´etodos impl´ıcitos e s para m´etodos
expl´ıcitos. Esta ´e a primeira barreira de Dahlquist.
6.3. O m´etodo de Adams-Moulton
Quando as = 1, as−1 = −1, am = 0 para m = s − 2, . . . , 0, bs = 0 temos um m´etodo
de Adams-Moulton do tipo
un+s = un+s−1 + h
s
m=0
bmfn+m (6.3.1)
Note que os m´etodos de Adams-Moulton s˜ao impl´ıcitos pois bs = 0.
Exemplo 19.
Vamos obter o m´etodo de Adams-Moulton para s = 3 como
un+3 = un+2 +
tn+4
tn+3
f(t, u(t)) dt (6.3.2)
un+3 = un+2 + h
3
m=0
bmfn+m (6.3.3)
un+3 = un+2 + h[b3fn+3 + b2fn+2 + b1fn+1 + b0fn] (6.3.4)
Para isso devemos obter [b3, b2, b1, b0] tal que o m´etodo seja exato para polinˆomios at´e
ordem 3. Podemos obter esses coeficientes de maneira an´aloga a obter os coeficientes
de um m´etodo para integra¸c˜ao como em 3.1.
Se¸c˜ao 6.4: M´etodo BDF 36
Supondo que os n´os tk estejam igualmente espa¸cados, e para facilidade dos
c´alculos, como o intervalo de integra¸c˜ao ´e [tn+2, tn+3], translade tn+2 para a origem
tal que [tn, tn+1, . . . , tn+3] = [−2h, −h, 0, h].
Considere a base [φ0(t), . . . , φ3(t)] = [1, t, t2
, t3
] e substitua f(t) por φk(t) ob-
tendo
h
0
1 dt = h = h(b0(1) + b1(1) + b2(1) + b3(1))
h
0
t dt =
h2
2
= h(b0(h) + b1(0) + b2(−h) + b3(−2h))
h
0
t2
dt =
h3
3
= h(b0(h)2
+ b1(0)2
+ b2(−h)2
+ b3(−2h)2
)
h
0
t3
dt =
h4
4
= h(b0(h)3
+ b1(0)3
+ b2(−h)3
+ b3(−2h)3
)
que pode ser escrito na forma matricial




1 0 1 1
1 0 −1 −2
1 0 1 4
1 0 −1 −8








b0
b1
b2
b3



 =




1
1/2
1/3
1/4



 (6.3.5)
Resolvendo o sistema obtemos
[b0, b1, b2, b3] = [
1
24
, −
5
24
,
19
24
,
9
24
, ]
fornecendo a regra
un+3 = un+2 +
h
24
[9fn+3 + 19fn+2 − 5fn+1 + fn] (6.3.6)
Exerc´ıcio 6.7. Encontre o m´etodo de Adams-Moulton para s = 2.
Exerc´ıcio 6.8. Encontre o m´etodo de Adams-Moulton para s = 3.
Exemplo 20.
Um m´etodo de ordem s expl´ıcito ´e chamado de m´etodo de Nystron se ρ(w) = ws−2
(w2
−
1).
Exemplo 21.
Um m´etodo de ordem s + 1 impl´ıcito ´e chamado de m´etodo de Milne se ρ(w) =
ws−2
(w2
− 1).
6.4. M´etodo BDF
Um m´etodo de ordem s com s est´agios ´e chamado de m´etodo BDF-Backward Dif-
ferentiation Formula se σ(w) = bsws
, onde bs ∈ R.
Se¸c˜ao 6.4: M´etodo BDF 37
Lema 6.4.1. Para um m´etodo BDF temos
bs =
s
m=1
1
m
−1
, ρ(w) = bs
s
m=1
1
m
ws−m
(w − 1)m
(6.4.1)
Demonstra¸c˜ao. Sendo p = s a ordem, o teorema 6.2.1 implica que
ρ(w) − bsws
ln w = O(|w − 1|s+1
), w− > 1
Substituindo v = 1/w,
ρ(
1
v
) −
bs
vs
ln(
1
v
) = O(|
1
v
− 1|s+1
), v− > 1
vs
ρ(
1
v
) + bs ln v = O(|1 − v|s+1
), v− > 1
Como
ln v = ln [1 + (v − 1)] =
s
m=1
(−1)m−1
m
(v − 1)m
+ O(|v − 1|s+1
)
deduzimos que
vs
ρ(1/v) = bs
s
m=1
(−1)m−1
m
(v − 1)m
Portanto
ρ(w) = bsv−s
s
m=1
(−1)m
m
(v − 1)m
(6.4.2)
= bs
s
m=1
(−1)m
m
ws
(w−1
− 1)m
(6.4.3)
= bs
s
m=1
1
m
ws−m
(w − 1)m
(6.4.4)
Para completar a prova, falta derivar a forma expl´ıcita para bs, que segue impondo
as = 1 em ρ(w).
Exemplo 22.
Mostre que o m´etodo BDF com s = 3 ´e
un+3 −
18
11
un+2 +
9
11
un+1 −
2
11
un =
6
11
hfn+3 (6.4.5)
Solu¸c˜ao: Para s = 3 temos que
bs =
1
1 + 1
2 + 1
3
=
6
11
e
ρ(w) =
6
11
[w2
(w − 1) +
1
2
w(w − 1)2
+
1
3
(w − 1)3
] (6.4.6)
= w3
−
18
11
w2
+
9
11
w −
2
11
(6.4.7)
38
Teorema 6.4.2. O polinˆomio ρ(w) em (6.4.1) satisfaz a condi¸c˜ao da raiz e o m´etodo
BDF ´e convergente se e somente se 1 ≤ s ≤ 6.
Exerc´ıcio 6.9. Mostre que o m´etodo BDF com s = 1 ´e o m´etodo de Euler impl´ıcito.
Exerc´ıcio 6.10. Mostre que o m´etodo BDF com s = 2 ´e
un+2 −
4
3
un+1 +
1
3
un =
2
3
hfn+2 (6.4.8)
Exerc´ıcio 6.11. Mostre que os m´etodos BDF com s = 2 e s = 3 s˜ao convergentes.
Exerc´ıcio 6.12. Determine a ordem do m´etodo de passo 3,
un+3 − un =
h
8
[3fn+3 + 9fn+2 + 9fn+1 + 3fn] (6.4.9)
Este m´etodo ´e convergente?
Exerc´ıcio 6.13. Aproxime a solu¸c˜ao do PVI
du
dt
= sin t (6.4.10)
u(0) = 1 (6.4.11)
para t ∈ [0, 10]. Utilize o m´etodo de Adams-Bashforth com s = 3 e plote os resultados
como nos exerc´ıcios anteriores. Compare os resultados utilizando nos passos iniciais o
m´etodo de:
a. Euler;
b. Taylor;
c. Runge-Kutta.
Aula 8 .
M´etodos de Runge-Kutta
.
Butcher, Iserles
Cap´ıtulo 7:
M´etodos de Runge-Kutta
Bibliografia: Cap.3 [5], Sec.23 [1].
Se¸c˜ao 7.1: M´etodo de Runge-Kutta Expl´ıcito 39
7.1. M´etodo de Runge-Kutta Expl´ıcito
Seja a EDO
u′
(t) = f(t, u(t)) (7.1.1)
u(t0) = a (7.1.2)
Integrando a EDO em [tn, tn+1] obtemos
un+1 = un +
tn+1
tn
f(t, u(t)) dt (7.1.3)
Um m´etodo de passo simples utiliza fn e fn+1. Queremos aumentar a ordem do m´etodo,
por´em utilizando somente valores de f entre [tn, tn+1].
un un+1
| |
tn tn+1
τ1 τ2 · · · τν
un+1 = un +
tn+1
tn
f(t, u(t)) dt (7.1.4)
= un + h
1
0
f(tn + hτ, u(tn + hτ)) dτ (7.1.5)
= un + h
ν
j=1
bjf(tn + cjh, u(tn + cjh)) (7.1.6)
Denote por τj = tn + cjh, Uj ≡ u(τj) e Fj ≡ f(τj, Uj), j = 1, . . . , ν. Inicie
com U1 = un (c1 = 0) como a solu¸c˜ao no passo anterior e aproxime Uj, j = 2, . . . , ν,
com uma combina¸c˜ao linear de F1, . . . , Fj−1, ou seja,
U1 = un (7.1.7)
U2 = un + ha21F1 (7.1.8)
U3 = un + ha31F1 + ha32F2 (7.1.9)
= . . . (7.1.10)
Uν = un + h
ν−1
i=1
aνiFi (7.1.11)
un+1 = un + h
ν
i=1
biFi (7.1.12)
onde A = (aij) ´e a matriz de RK (triangular inferior com diagonal zero), bj s˜ao os
pesos RK e cj s˜ao os n´os RK.
Os coeficientes podem ser resumidos em uma tabela na forma
c A
bT =
c1 a11 a12
c2 a21 a22
b1 b2
Se¸c˜ao 7.2: M´etodo de RK ν = 2 40
7.2. M´etodo de RK ν = 2
Assumindo suavidade suficiente em f, expanda em s´erie de Taylor
F2 = f(tn + c2h, U2) (7.2.1)
= f(tn + c2h, un + a21hfn) (7.2.2)
= fn + h[c2
∂fn
∂t
+ a21
∂fn
∂u
fn] + O(h2
) (7.2.3)
fazendo com que (7.1.12) se torne
un+1 = un + h[b1F1 + b2F2] (7.2.4)
= un + h(b1 + b2)fn + h2
b2[c2
∂fn
∂t
+ a21
∂fn
∂u
fn] + O(h3
) (7.2.5)
Usando a EDO e derivando-a obtemos
ut = f(t, u) (7.2.6)
utt = ft + fuut = ft + fuf (7.2.7)
e expandindo em s´erie de Taylor a solu¸c˜ao exata em tn+1,
u(tn+1) = un + hut +
h2
2
utt + O(h3
) (7.2.8)
= un + hfn +
h2
2
[ft + fuf] + O(h3
) (7.2.9)
e comparando com (7.2.5) obtemos as condi¸c˜oes para ordem p ≥ 2,
b1 + b2 = 1, b2c2 =
1
2
a21 = c2 (7.2.10)
O sistema possui mais de uma solu¸c˜ao. Algumas escolhas comuns s˜ao
0
1
2
1
2
0 1
,
0
2
3
2
3
1
4
3
4
e
0
1 1
1
2
1
2
onde a ´ultima tabela fornece o m´etodo de Heun (ou Euler modificado):
U1 = un (7.2.11)
U2 = un + hF1 (7.2.12)
un+1 = un + h[
1
2
F1 +
1
2
F2] (7.2.13)
Note que o m´etodo ´e de ordem p = 2 pois os termos que sobraram s˜ao de O(h3
).
Seguindo um procedimento similar (veja [5],p39-40), podemos obter as condi¸c˜oes
para um m´etodo com ν = 3 e ordem p = 3, que s˜ao
b1 + b2 + b3 = 1,b2c2 + b3c3 =
1
2
(7.2.14)
b2c2
2 + b3c2
3 =
1
3
,b3a32c2 =
1
6
(7.2.15)
Alguns exemplos de m´etodos de RK de 3 est´agios s˜ao o m´etodo cl´assico de
Runge-Kutta
Se¸c˜ao 7.3: M´etodo de Runge-Kutta impl´ıcito (IRK) 41
0
1
2
1
2
1 −1 2
1
6
4
6
1
6
e o m´etodo de Nystrom
0
2
3
2
3
2
3 0 2
3
2
8
3
8
3
8
Com paciˆencia e a ajuda de um software alg´ebrico (como Maple) ´e poss´ıvel
encontrar um m´etodo de quarta ordem e ν = 4 est´agios como
0
1
2
1
2
1
2 0 1
2
1 0 0 1
1
6
2
6
2
6
1
6
7.3. M´etodo de Runge-Kutta impl´ıcito (IRK)
No conjunto de equa¸c˜oes (7.1.7)-(7.1.12), Uk depende em valores conhecidos F1, . . . , Fk−1
tornando o m´etodo expl´ıcito.
Entretanto se Uk depender de F1, . . . , Fν temos um m´etodo impl´ıcito como
Uj = un + h
ν
i=1
ajiFi, j = 1, . . . , ν (7.3.1)
un+1 = un + h
ν
i=1
biFi (7.3.2)
onde A = (aij) ´e a matriz de RK. ´E necess´ario que
ν
i=1
aji = cj, j = 1, . . . , ν (7.3.3)
para que o m´etodo possua ordem p ≥ 1.
Exemplo 23.
Um m´etodo de Runge-Kutta Impl´ıcito (IRK) de dois est´agios ´e dado por
U1 = un + h/4[f(tn, U1) − f(tn +
2
3
h, U2)] (7.3.4)
U2 = un + h/12[3f(tn, U1) + 5f(tn +
2
3
h, U2)] (7.3.5)
un+1 = un + h/4[f(tn, U1) + 3f(tn +
2
3
h, U2)] (7.3.6)
que possui uma tabela como
0 1
4 −1
4
2
3
1
4
5
12
1
4
3
4
Se¸c˜ao 7.4: Estimativa da ordem de convergˆencia 42
Exerc´ıcio 7.1. Mostre que o m´etodo IRK com 2 est´agios do exemplo anterior ´e de
ordem 3.
Exerc´ıcio 7.2. Aproxime a solu¸c˜ao do PVI
du
dt
=
cos(t + u)
1 + u2
(7.3.7)
u(0) = 0 (7.3.8)
utilizando o m´etodo de Runge Kutta de 4 est´agios. Escolha apropriadamente h e ilustre
graficamente a convergˆencia.
a. Plote a solu¸c˜ao para diferentes valores de h.
b. Repita o exerc´ıcio anterior utilizando o m´etodo de Euler com diferentes valores
de h, at´e T = 10 de tal forma que a solu¸c˜ao seja t˜ao pr´oxima da solu¸c˜ao obtiva
via RK quanto poss´ıvel.
c. Compare o n´umero de itera¸c˜oes, para esse exerc´ıcio, entre o m´etodo de Euler e o
de Runge-Kutta.
Exerc´ıcio 7.3. Aproxime a solu¸c˜ao do PVI
u′′
+ 0.125u′
+ u = 0 (7.3.9)
u(0) = 2 u′
(0) = 0 (7.3.10)
para t ∈ [0, 20]. Utilize o m´etodo de Runge Kutta de 4 est´agios. Escolha apropriada-
mente h e ilustre graficamente a convergˆencia.
a. Transforme o PVI num sistema de EDO’s de primeira ordem nas vari´aveis [y1(t), y2(t)] =
[u(t), u′
(t)].
b. Plote a solu¸c˜ao u(t).
c. Plote a solu¸c˜ao no espa¸co de fases [y1, y2].
7.4. Estimativa da ordem de convergˆencia
Ferziger and Peric, Computational Methods for Fluid Dynamics, p.335.
Raramente temos a solu¸c˜ao exata u(t) para calcular o erro obtido na solu¸c˜ao
num´erica. Entretanto, se a solu¸c˜ao ´e suave o suficiente e o espa¸camento h ´e pe-
queno suficientemente, podemos usar o seguinte procedimento para estimar a ordem do
m´etodo (ou ainda, o erro na solu¸c˜ao).
Como visto nos exemplo num´ericos anteriores, em gr´aficos na escala loglog, se
h ´e grande n˜ao obtemos a ordem de convergˆencia utilizada (por exemplo, encontramos
que o m´etodo de Euler possui ordem p ≈ 0.7 onde deveria ser 1). A medida que
h decresce se aproximando de 0, a ordem de convergˆencia tende a se aproximar de
p ≈ 1. (Entretanto h n˜ao pode ficar muito pequeno a ponto que as opera¸c˜oes de ponto
flutuante atrapalhem na convergˆencia).
Portanto existe uma faixa hmin < h < hmax onde o m´etodo apresenta a ordem
desejada. Essa regi˜ao depende do m´etodo e do PVI estudado.
43
Mas se estivermos nessa regi˜ao podemos aproximar a ordem do m´etodo da se-
guinte forma: Considere a solu¸c˜ao para um determinado t = T ∗
fixo, u(T ∗
). Considere
tamb´em as aproxima¸c˜oes das solu¸c˜oes obtidas com espa¸camento h, denotada por uh
; a
aproxima¸c˜ao obtida com espa¸camento dividido por 2, h/2, denotada por uh/2
; a apro-
xima¸c˜ao obtida com espa¸camento h/4, denotada por uh/4
,. . . e assim por diante, todas
calculadas em t = T ∗
.
7.4.1. M´etodo 1
Podemos utilizar uma solu¸c˜ao bem refinada, por exemplo, uh/16
como sendo uma boa
aproxima¸c˜ao da solu¸c˜ao exata e supormos que u∗
= uh/16
. Desta forma podemos
aproximar o erro por eh
= u(h)
− u∗
e a ordem do m´etodo ´e estimada como
p ≈
log(eh
) − log(eh/2
)
log(h) − log(h/2)
(7.4.1)
≈
log eh
eh/2
log(h/(h/2))
(7.4.2)
≈
log eh
eh/2
log(2)
(7.4.3)
≈
log uh
−u∗
uh/2−u∗
log(2)
(7.4.4)
(7.4.5)
7.4.2. M´etodo 2
Segundo Ferziger/Peric/Roache, podemos tamb´em estimar p diretamente de
p ≈
log uh/2
−uh
uh/4−uh/2
log(2)
(7.4.6)
(7.4.7)
Aula 9, 10 e 11 .
Regi˜oes de Estabilidade
.
Butcher, Iserles
Cap´ıtulo 8:
Se¸c˜ao 8.1: Equa¸c˜oes “Stiff” 44
Dom´ınio de Estabilidade
8.1. Equa¸c˜oes “Stiff”
A defini¸c˜ao n˜ao ´e exatamente clara:
Uma equa¸c˜ao diferencial ´e “stiff” se alguns m´etodos num´ericos s˜ao numerica-
mente inst´aveis, a menos que o passo seja extremamente pequeno.
Considere a EDO linear
u′
= Au, u(0) = u0, A =
−100 1
0 −1/10
(8.1.1)
com a decomposi¸c˜ao A = V ΛV −1
onde
V =
1 1
0 999/10
, Λ =
−100 0
0 −1/10
(8.1.2)
A solu¸c˜ao exata ´e
u(t) = eAt
u0 = V eΛt
V −1
u0, eΛt
=
e−100t
0
0 e−0.1t (8.1.3)
Ou seja, existem vetores x1 e x2 dependentes de u0 (exerc´ıcio 8.1) tal que
u(t) = e−100t
x1 + e−0.1t
x2, t ≥ 0 (8.1.4)
Note que a medida que t avan¸ca o termo e−100t
cai rapidamente enquanto que e−0.1t
´e um pouco mais lento levando a u(t) ≈ e−0.1t
x2.
Aplicando o m´etodo de Euler obtemos solu¸c˜ao aproximada
u1 = u0 + hAu0 = (I + hA)u0, (8.1.5)
u2 = (I + hA)u1 = (I + hA)2
u0, (8.1.6)
... =
... (8.1.7)
un = (I + hA)n
u0 (8.1.8)
un = V (I + hΛ)n
V −1
u0 (8.1.9)
un = V
(1 − 100h)n
0
0 (1 − 0.1h)n V −1
u0 (8.1.10)
de onde segue que a solu¸c˜ao aproximada ´e dada por
un = (1 − 100h)n
x1 + (1 − 0.1h)n
x2 (8.1.11)
onde x1 e x2 s˜ao os mesmos vetores que aparecem na solu¸c˜ao exata.
Suponha que h > 1/50. Ent˜ao |1 − 100h| > 1 e a solu¸c˜ao aproximada cresce
geometricamente (diferente da solu¸c˜ao exata).
Suponha que escolhemos a condi¸c˜ao inicial igual ao autovetor
u0 =
1
999/10
correspondente a λ2 = −0.1. Ent˜ao x1 = 0, x2 = u0 e
un = (1 − 0.1h)n
u0, n = 1, 2, . . . (8.1.12)
Se¸c˜ao 8.1: Equa¸c˜oes “Stiff” 45
que converge para 0 quando n → ∞ e h < 20.
Suponha que utilizamos h = 1. O m´etodo deveria convergir (pois h < 20)
entretanto pequenos erros de arredondamento cometidos pela m´aquina a cada itera¸c˜ao
s˜ao amplificados pelo termo (1 − 100h)n
que rapidamente destr´oi a solu¸c˜ao.
Exemplo 24.
Resolva o sistema (8.1.1) utilizando o m´etodo de Euler no Matlab e verifique as ob-
serva¸c˜oes.
Nem todo m´etodo num´erico possui tal comportamento. Considere a regra tra-
pezoidal aplicada1
em u′
= Au,
I −
1
2
hA u1 = I +
1
2
hA u0 (8.1.13)
u1 =
I + 1
2 hA
I − 1
2 hA
u0 (8.1.14)
u2 =
I + 1
2 hA
I − 1
2 hA
u1 =
I + 1
2 hA
I − 1
2 hA
2
u0 (8.1.15)
... =
... (8.1.16)
un =
I + 1
2 hA
I − 1
2 hA
n
u0 (8.1.17)
e substituindo a fatora¸c˜ao deduzimos
un =
1 − 50h
1 + 50h
n
x1 +
1 − h/20
1 + h/20
n
x2 (8.1.18)
Como
1 − 50h
1 + 50h
< 1 e
1 − h/20
1 + h/20
< 1 (8.1.19)
para todo h > 0, conclu´ımos que un → 0 quando n → ∞. Isto recupera o correto
comportamento assint´otico da EDO sem depender da escolha de h.
A regra trapezoidal n˜ao requer restri¸c˜ao no passo h para evitar instabilidade
(ainda assim ´e necess´ario escolher h > 0 pequeno tal que o erro local seja razo´avel).
Assim a equa¸c˜ao (8.1.1) ´e um exemplo de uma equa¸c˜ao “stiff”. Note que esta
defini¸c˜ao n˜ao ´e precisa e varia na literatura.
Defini¸c˜ao 8.1.1. A raz˜ao |λ1|
|λn| entre o maior e menor autovalor (em m´odulo)
do sistema de EDOs (ou dos autovalores da matriz Jacobiana de um sistema
geral) ´e chamada stiffness ratio.
No exemplo discutido a stiffness ratio ´e |−100|
|1/10| = 103
. Note que para o caso n˜ao
linear a an´alise pode se tornar complicada.
1(exerc´ıcio 8.2)
Se¸c˜ao 8.2: Dom´ınio de Estabilidade Linear 46
Exerc´ıcio 8.1. Encontre os vetores x1 e x2 dependentes de u0 e independentes de t
discutidos no texto.
Exerc´ıcio 8.2. No exemplo do m´etodo do trap´ezio obtemos a express˜ao
I + B
I − B
n
(8.1.20)
a. Verifique que tal express˜ao faz sentido somente se (I +B) e (I −B)−1
comutam.
b. Prove que (I + B) e (I − B)−1
comutam.
8.2. Dom´ınio de Estabilidade Linear
Suponha que um m´etodo num´erico seja aplicado em
u′
= λu, t ≥ 0, u(0) = 1, (8.2.1)
onde λ ∈ C que possui solu¸c˜ao exata u(t) = eλt
. Note que limt→0 u(t) = 0 se e
somente se ℜλ < 0. N˜ao estamos interessados no momento em solu¸c˜oes que crescem
rapidamente (ℜλ > 0).
Defini¸c˜ao 8.2.1. O dom´ınio de estabilidade linear D do m´etodo num´erico
´e o conjunto de todos hλ ∈ C tal que limn→∞ un = 0.
Ou seja, D ´e o conjunto de todos hλ para o qual o correto comportamento
assint´otico de (8.2.1) ´e recuperado, tal que essa equa¸c˜ao seja est´avel.
Exemplo 25.
Utilizando o M´etodo de Euler para solucionar (8.2.1) obtemos
un = (1 + hλ)n
, n = 0, 1, . . . (8.2.2)
Portanto limn→∞ un = 0 se e somente se |1 + hλ| < 1. Conclu´ımos ent˜ao que
DEuler = {z ∈ C : |1 + z| < 1} (8.2.3)
´e o interior de um disco no plano complexo de raio 1 e centro em z = −1 como na
Fig.8.1.
Caso tenhamos um sistema de EDO’s,
u′
= Au, u(0) = u0, (8.2.4)
podemos obter que
un =
d
k=1
(1 + hλk)n
xk, n = 0, 1, . . . (8.2.5)
onde A = V ΛV −1
, V ´e a matriz dos autovetores e Λ = diag(λ1, . . . , λd).
Defini¸c˜ao 8.2.2. O sistema de EDO’s (8.2.4) ´e assintoticamente est´avel
se e somente se ℜλk < 0, k = 1, . . . , d.
Se¸c˜ao 8.2: Dom´ınio de Estabilidade Linear 47
−3 −2 −1 0 1
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
Figura 8.1: Regi˜ao de estabilidade para o m´etodo de Euler, |1 + z| < 1
Para que o m´etodo de Euler seja est´avel, ´e necess´ario que h seja escolhido tal
que |1 + hλk| < 1, ∀k. Ou seja, todos os produtos hλk devem estar em DEuler. Ou
seja, h deve ser escolhido de acordo com os autovalores do sistema2
.
Tal an´alise pode ser facilmente estendida para o sistema n˜ao homogˆeneo u′
=
Au + b (veja exerc´ıcios).
Para o caso EDO n˜ao-linear, seja
u′
= f(t, u), t ≥ t0, u(t0) = u0 (8.2.6)
´e comum requerer que no passo n
hλn,1, hλn,2, . . . , hλn,d ∈ D (8.2.7)
onde λn,k s˜ao os autovalores da matriz Jacobiana
Jn :=
∂f(tn, un)
∂u
,
baseado na hip´otese que o comportamento local da EDO ´e modelado por
u′
= un + Jn(u − un) (8.2.8)
Esta pr´atica n˜ao ´e exata e fornece apenas uma id´eia local do comportamento da EDO
(podendo levar a conclus˜oes errˆoneas).
Exemplo 26.
2Note que estamos assumindo que existe a decomposi¸c˜ao em autovalores. Poder´ıamos usar a
forma de Jordan o que dificultaria a demonstra¸c˜ao.
Se¸c˜ao 8.3: Estabilidade dos m´etodos de Taylor 48
Utilizando o m´etodo trapezoidal para solucionar (8.2.1) obtemos
un =
1 + hλ/2
1 − hλ/2
n
, n = 0, 1, . . . (8.2.9)
Conclu´ımos ent˜ao que
DT r = {z ∈ C :
1 + z/2
1 − z/2
< 1} (8.2.10)
Note que DT r = C−
, o semiplano negativo. Portanto o m´etodo do trap´ezio imita a
estabilidade assint´otica da EDO linear sem restri¸c˜ao no passo h.
Defini¸c˜ao 8.2.3. Um m´etodo num´erico ´e chamado A-est´avel se
{z ∈ C : ℜz < 0} ⊆ D
Exemplo 27.
A regra do trap´ezio ´e A-est´avel (incondicionalmente est´avel) e o m´etodo de Euler ´e
est´avel somente para |1 + hλ| < 1.
Exerc´ıcio 8.3. Mostre que o m´etodo theta ´e A-est´avel se e somente se 0 ≤ θ ≤ 1
2 .
8.3. Estabilidade dos m´etodos de Taylor
Exerc´ıcio 8.4. Prove que para um m´etodo de Taylor de ordem p para a EDO (8.2.1)
temos
p(z) = 1 + z +
z2
2!
+
z3
3!
+ . . . +
zp
p!
(8.3.1)
onde un = (p(z))n
u0 e a regi˜ao de estabilidade ´e dada por
DT = {z ∈ C : |p(z)| < 1} (8.3.2)
Plote as regi˜oes de estabilidade para o m´etodo de Taylor para p = 1, . . . , 6 no
mesmo gr´afico.
8.4. Estabilidade dos m´etodos de Runge-Kutta
Denote
U :=



U1
...
Uν


 , 1 :=



1
...
1


 (8.4.1)
Se¸c˜ao 8.4: Estabilidade dos m´etodos de Runge-Kutta 49
−4 −3 −2 −1 0 1 2 3 4
−4
−3
−2
−1
0
1
2
3
4
Figura 8.2: Regi˜ao de estabilidade paras os m´etodos de Taylor de ordem 1, . . . , 4
(interior as curvas). A curva mais interna ´e para p = 1
Aplicando o m´etodo de Runge-Kutta (7.3.1) na EDO linear (8.2.1) obtemos
Uj = un + h
ν
i=1
ajiFi, j = 1, . . . , ν (8.4.2)
Uj = un + hλ
ν
i=1
ajiUi, (8.4.3)
U = 1un + hλAU, (8.4.4)
(I − hλA)U = 1un, (8.4.5)
U = (I − hλA)−1
1un, (8.4.6)
e assumindo que I − hλA n˜ao ´e singular,
un+1 = un + hλ
ν
j=1
bjUj (8.4.7)
un+1 = (1 + hλbT
(I − hλA)−1
1)un, n = 0, 1, . . . (8.4.8)
Denote por Pα o conjunto de todos polinˆomios at´e grau α e por Pα/β o conjunto
de todas fun¸c˜oes racionais p/q onde p ∈ Pα e q ∈ Pβ.
Lema 8.4.1. Para todo m´etodo de Runge-Kutta (7.3.1) existe r ∈ Pν/ν tal que
un = [r(hλ)]n
, n = 0, 1, . . . .
Al´em disso, se o m´etodo de Runge-Kutta ´e expl´ıcito ent˜ao r ∈ Pν
Se¸c˜ao 8.4: Estabilidade dos m´etodos de Runge-Kutta 50
Demonstra¸c˜ao. Veja prova em [5], p. 60.
Lema 8.4.2. Suponha que um m´etodo num´erico aplicado a (8.2.1) produz uma
seq¨uˆencia un = [r(hλ)]n
, n = 0, 1, . . . onde r ´e uma fun¸c˜ao arbitr´aria. Ent˜ao
D = {z ∈ C : |r(z)| < 1}.
Demonstra¸c˜ao. A prova segue direto da defini¸c˜ao de D.
Corol´ario 1. Nenhum m´etodo de Runge-Kutta expl´ıcito (ERK) pode ser A-est´avel.
Demonstra¸c˜ao. Dado um m´etodo ERK, o lema 8.4.2 fornece que r ∈ Pν e
r(z) := 1 + zbT
(I − zA)−1
1 (8.4.9)
o que implica que r(0) = 1. Nenhum polinˆomio, com exce¸c˜ao r(z) ≡ c ∈ (−1, 1)
pode ser limitado por 1 no semiplano negativo ℜz < 0, o que exclui A-estabilidade.
Exemplo 28.
Considere o m´etodo IRK com tabela
0 1
4 −1
4
2
3
1
4
5
12
1
4
3
4
Substituindo em (8.4.9) obtemos a fun¸c˜ao
r(z) =
1 + 1
3 z
1 − 2
3 z + 1
6 z2
(8.4.10)
Para checar A-estabilidade, representamos z = ρeiθ
, ρ > 0, 1
2 π < θ < 3
2 π e checamos
se |r(ρeiθ
) < 1|:
1 + 1
3 z
1 − 2
3 z + 1
6 z2
< 1 (8.4.11)
1 +
1
3
z < 1 −
2
3
z +
1
6
z2
(8.4.12)
1 +
1
3
ρeiθ
2
< 1 −
2
3
ρeiθ
+
1
6
ρ2
e2iθ
2
(8.4.13)
Se¸c˜ao 8.4: Estabilidade dos m´etodos de Runge-Kutta 51
como |w|2
= w ¯w,
1 +
2
3
ρ cos θ +
ρ2
9
<1 −
4
3
ρ cos θ + ρ2
(
cos 2θ
3
+
4
9
) −
2
9
ρ3
cos θ +
ρ4
36
(8.4.14)
6
3
ρ cos θ +
2
9
ρ3
cos θ < ρ2
(
1
3
cos 2θ +
3
9
) +
1
36
ρ4
(8.4.15)
2ρ cosθ +
2
9
ρ3
cos θ <
ρ2
3
(cos 2θ + 1) +
ρ4
36
(8.4.16)
2ρ cosθ(1 +
1
9
ρ2
) <
2ρ2
3
cos2
θ +
ρ4
36
(8.4.17)
2ρ cos θ(9 + ρ2
) < 6ρ2
cos2
θ +
ρ4
4
(8.4.18)
A inequa¸c˜ao ´e verdadeira para z ∈ C−
, pois temos
1
2
π < θ <
3
2
π ⇒ cos θ < 0
e os outros termos s˜ao positivos.
O que demonstra que o m´etodo ´e A-est´avel.
Exemplo 29.
O m´etodo IRK com tabela
1
3
5
12 − 1
12
1 3
4
1
4
3
4
1
4
possui a mesma fun¸c˜ao
r(z) =
1 + 1
3 z
1 − 2
3 z + 1
6 z2
(8.4.19)
que o m´etodo anterior, portanto tamb´em ´e A-est´avel. Sua regi˜ao de estabilidade ´e
exterior a curva da figura 8.3.
Lema 8.4.3. Seja r uma fun¸c˜ao racional que n˜ao ´e constante. Ent˜ao ∀z ∈ C−
temos |r(z)| < 1 se e somente se todos os p´olos de r tem parte real positiva e ∀t ∈ R
temos |r(it)| ≤ 1.
Exemplo 30.
Os p´olos de
r(z) =
1 + 1
3 z
1 − 2
3 z + 1
6 z2
(8.4.20)
s˜ao 2±i
√
2; que est˜ao no semiplano complexo com parte real positiva. Al´em disso,
|r(it)| ≤ 1, ∀t ∈ R pois
1 +
1
3
it
2
≤ 1 −
2
3
it −
1
6
t2
2
, t ∈ R, (8.4.21)
1 +
1
9
t2
≤ 1 +
1
9
t2
+
1
36
t4
, t ∈ R. (8.4.22)
Se¸c˜ao 8.4: Estabilidade dos m´etodos de Runge-Kutta 52
−6 −4 −2 0 2 4 6
−6
−4
−2
0
2
4
6
Figura 8.3: Regi˜ao de estabilidade (exterior a curva) para o m´etodo IRK com
polinˆomio r(z) =
1+ 1
3 z
1− 2
3 z+ 1
6 z2
implicando que o m´etodo ´e A-est´avel.
Exerc´ıcio 8.5. Prove o lema anterior.
Exerc´ıcio 8.6. Prove que para um m´etodo Runge-Kutta expl´ıcito de ν est´agios possui
r(z) = 1 + z +
z2
2!
+
z3
3!
+ . . . +
zp
p!
(8.4.23)
onde a regi˜ao de estabilidade ´e dada por
DT = {z ∈ C : |r(z)| < 1} (8.4.24)
Plote as regi˜oes de estabilidade para os m´etodos de Runge-Kutta para ν =
1, . . . , 6 no mesmo gr´afico.
Exerc´ıcio 8.7. Calcule explicitamente a fun¸c˜ao r(z) para os m´etodos de Runge-Kutta
dados pelas tabelas abaixo,
a.
0 0 0
2
3
1
3
1
3
1
4
3
4
b.
1
6
1
6 0
5
6
2
3
1
6
1
2
1
2
Se¸c˜ao 8.5: Estabilidade dos m´etodos de passo m´ultiplo 53
c.
0 0 0 0
1
2
1
4
1
4 0
1 0 1 0
1
6
4
6
1
6
Estes m´etodos s˜ao A-est´aveis? Plote a regi˜ao de estabilidade de cada m´etodo.
8.5. Estabilidade dos m´etodos de passo m´ultiplo
Suponha que um m´etodo de passo m´ultiplo (6.2.1) seja aplicado a EDO linear (8.2.1)
obtendo
s
m=0
amun+m = h
s
m=0
bmfn+m (8.5.1)
s
m=0
amun+m = hλ
s
m=0
bmun+m (8.5.2)
que pode ser escrita como
s
m=0
(am − hλbm)un+m = 0, (8.5.3)
s
m=0
αmun+m = 0, n = 0, 1, . . . (8.5.4)
Similarmente a equa¸c˜oes diferenciais, a equa¸c˜ao `a diferen¸cas possui solu¸c˜ao como o
polinˆomio caracter´ıstico
η(w) :=
s
m=0
αmwn
. (8.5.5)
Sejam w1, . . . , wq as ra´ızes de η(w) com multiplicidade k1, . . . , kq, onde ki = s. A
solu¸c˜ao da equa¸c˜ao a diferen¸cas ´e
un =
q
i=1
(
ki−1
j=0
cijnj
)wn
i , n = 0, 1, . . . (8.5.6)
onde as constantes cij s˜ao unicamente determinadas pelos valores iniciais u0, . . . , us−1.
Lema 8.5.1. Suponha que as ra´ızes (em fun¸c˜ao de w) de
η(z, w) :=
s
m=0
(am − bmz)wm
, z ∈ C (8.5.7)
s˜ao w1(z), . . . , wq(z)(z) com multiplicidade k1(z), . . . , kq(z)(z) respectivamente. O
m´etodo de passo m´ultiplo ´e A-est´avel se e somente se
|wi(z)| < 1, i = 1, . . . , q(z), ∀z ∈ C−
. (8.5.8)
Se¸c˜ao 8.5: Estabilidade dos m´etodos de passo m´ultiplo 54
Lema 8.5.2. O m´etodo de passo m´ultiplo ´e A-est´avel se e somente se bs > 0 e
|w1(it)|, . . . , |wq(it)(it)| ≤ 1, t ∈ R (8.5.9)
onde wk s˜ao as ra´ızes de η(z, ·) do lema 8.5.1.
Teorema 8.5.3. O m´etodo BDF de 2 est´agios ´e A-est´avel.
Teorema 8.5.4 (A segunda barreira de Dahlquist). A ordem m´axima de um m´etodo
de passo m´ultiplo A-est´avel ´e dois.
Exemplo 31.
O m´etodo BDF de 2 est´agios
un+2 −
4
3
un+1 +
1
3
un =
2
3
hfn+2 (8.5.10)
para o PVI u′
= λu, que possui polinˆomio caracter´ıstico
w2
−
4
3
w +
1
3
=
2
3
hλ(w2
) (8.5.11)
ou
η(w) := (1 − z
2
3
)w2
−
4
3
w +
1
3
. (8.5.12)
O polinˆomio η(w) possui duas ra´ızes (encontradas com o Maple)
w1 =
−4 + 2(1 + 2z)1/2
−6 + 4z
, (8.5.13)
w2 =
−4 − 2(1 + 2z)1/2
−6 + 4z
(8.5.14)
Para que o m´etodo seja est´avel, ´e necess´ario que |w1| < 1 e |w2| < 1.
Tal condi¸c˜ao ´e satisfeita para a regi˜ao dentro da curva na figura 8.4.
Exemplo 32.
Plote a regi˜ao de estabilidade do m´etodo de BDF de ordem 2 e 3.
Exemplo 33.
Plote a regi˜ao de estabilidade do m´etodo de Adams-Bashforth de ordem 2 e 3.
Exemplo 34.
Plote a regi˜ao de estabilidade do m´etodo de Adams-Moulton de ordem 2 e 3.
Aula 12-15 .
Equa¸c˜oes Diferenciais Parciais Hiperb´olicas
.
Strikwerda: Cap. 1
55
y~
1
2
0
-2
-1
x~
4320 1
Figura 8.4: Regi˜ao de estabilidade (exterior a curva) para o m´etodo BDF s = 2
Cap´ıtulo 9:
Equa¸c˜oes Diferenciais Parciais hiperb´olicas
9.1. Equa¸c˜ao da onda unidirecional
Considere a equa¸c˜ao da onda unidirecional (ou equa¸c˜ao de advec¸c˜ao)
ut + aux = 0 (9.1.1)
u(t = 0, x) = u0(x) (9.1.2)
como exemplo mais simples de EDP hiperb´olica. Este ´e um Problema de Valor Inicial-
PVI.
A solu¸c˜ao desta equa¸c˜ao ´e
u(t, x) = u0(x − at) (9.1.3)
A solu¸c˜ao tem a mesma forma ∀t. ´E um deslocamento a direita se a > 0 ou a esquerda
se a < 0.
As linhas no plano (x, t) no qual ξ = x − at ´e constante s˜ao chamadas carac-
ter´ısticas.
O parˆametro a ´e a velocidade de propaga¸c˜ao da onda ao longo da caracter´ıstica.
Apesar da equa¸c˜ao fazer sentido somente se u ´e diferenci´avel, u0 n˜ao precisa ser
diferenci´avel. Em geral, solu¸c˜oes descont´ınuas s˜ao permitidas.
Se¸c˜ao 9.2: Sistemas de EDP’s hiperb´olicas 56
Considere o problema mais geral
ut + aux = −bu + f(t, x) (9.1.4)
u(0, x) = u0(x) (9.1.5)
Fazendo a substitui¸c˜ao t = τ e x = ξ + aτ, e ˜u(τ, ξ) = u(t, x). Assim
˜uτ = ut
∂t
∂τ
+ ux
∂x
∂τ
(9.1.6)
= ut + uxa (9.1.7)
= −b˜u + f(τ, ξ + aτ) (9.1.8)
ou seja,
˜uτ = −b˜u + f(τ, ξ + aτ) (9.1.9)
Esta EDO possui solu¸c˜ao
˜u(τ, ξ) = u0(ξ)e−bτ
+
τ
0
f(σ, ξ + aτ)e−b(τ−σ)
dσ (9.1.10)
que retornando para (x, t) temos
u(t, x) = u0(x − at)e−bt
+
t
0
f(s, x − a(t − s))e−b(t−s)
ds (9.1.11)
A solu¸c˜ao depende somente em (t′
, x′
) tal que x′
−at′
= x−at, i.e., somente os valores
de u e f na caracter´ıstica (t, x) para 0 ≤ t′
≤ t.
9.2. Sistemas de EDP’s hiperb´olicas
Um sistema da forma
ut + Aux + Bu = F(t, x) (9.2.1)
´e hiperb´olico se a matriz A ´e diagonaliz´avel com autovalores reais.
Diagonaliz´avel implica que
Λ = PAP−1
=



λ1
...
λd


 (9.2.2)
Fazendo a substitui¸c˜ao w = Pu (no caso que B = 0),
wt + Λwx = PF(t, x) = ˜F(t, x) (9.2.3)
ou
wi
t + λiwi
x = fi
(t, x) (9.2.4)
reduzindo o sistema a um conjunto de equa¸c˜oes independentes. Se B = 0 ent˜ao o
sistema ´e acoplado, mas somente para os termos sem derivadas.
O termo Bu causa crescimento, decaimento ou oscila¸c˜oes, mas n˜ao causa mu-
dan¸cas na forma com que a solu¸c˜ao se move ao longo das caracter´ısticas.
Se¸c˜ao 9.2: Sistemas de EDP’s hiperb´olicas 57
Exemplo 35.
O sistema
u
v t
+
2 1
1 2
u
v x
= 0 (9.2.5)
com dado inicial
u(x, 0) = u0(x) =
1, |x| ≤ 1
0, |x| > 1
(9.2.6)
v(x, 0) = 0 (9.2.7)
Somando e subtraindo as equa¸c˜oes obtemos
(u + v)t + 3(u + v)x = 0 (9.2.8)
(u − v)t + (u − v)x = 0 (9.2.9)
ou
w1
t + 3w1
x = 0, w1
(0, x) = u0(x) (9.2.10)
w2
t + w2
x = 0, w2
(0, x) = u0(x) (9.2.11)
onde a matriz para essa transforma¸c˜ao ´e
P =
1 1
1 −1
, P−1
=
1
2
1
2
1
2 −1
2
. (9.2.12)
A solu¸c˜ao ´e
w1
(t, x) = w1
0(x − 3t) = u0(x − 3t) (9.2.13)
w2
(t, x) = w2
0(x − t) = u0(x − t) (9.2.14)
ou nas vari´aveis u e v,
u(t, x) =
1
2
(w1
+ w2
) =
1
2
[u0(x − 3t) + u0(x − t)] (9.2.15)
v(t, x) =
1
2
(w1
− w2
) =
1
2
[u0(x − 3t) − u0(x − t)] (9.2.16)
Note que a solu¸c˜ao depende de duas partes independentes, uma onda propagando-
se com velocidade 3 e outra com velocidade 1.
Observa¸c˜ao: Caso a equa¸c˜ao
ut + a(t, x)ux = 0 (9.2.17)
tenha velocidade de propaga¸c˜ao a(t, x) vari´avel ou seja um sistema do tipo
ut + A(t, x)ux + B(t, x)u = F(t, x) (9.2.18)
as caracter´ısticas n˜ao s˜ao necessariamente linhas retas.
Para um exemplo online do m´etodo das caracter´ısticas veja
http://www.scottsarra.org/shock/shockApplet.html
Se¸c˜ao 9.3: Condi¸c˜oes de contorno 58
Exerc´ıcio 9.1. Mostre que o PVI
ut + (1 + x2
)ux = 0 (9.2.19)
n˜ao ´e bem definido. (Considere a regi˜ao originando no eixo x.)
Exerc´ıcio 9.2. Obtenha a solu¸c˜ao do sistema
ut + ux + vx = 0, u(x, 0) = u0(x) (9.2.20)
vt + ux − vx = 0, v(x, 0) = v0(x) (9.2.21)
9.3. Condi¸c˜oes de contorno
Considere a equa¸c˜ao (veja a figura 9.1)
ut + aux = 0, 0 ≤ x ≤ 1, t > 0 (9.3.1)
0
x
t
Figura 9.1: Curvas caracter´ısticas para a > 0.
Se a > 0 as caracter´ısticas se propagam para a direita. Vemos que a solu¸c˜ao
deve ser especificada no contorno x = 0. Al´em disso, nenhuma condi¸c˜ao de contorno
deve ser dada em x = 1.
Para a condi¸c˜ao inicial u(0, x) = u0(x) e condi¸c˜ao de contorno u(t, 0) = g(t) a
solu¸c˜ao ´e dada por
u(t, x) =
u0(x − at), x − at > 0
g(t − x/a), x − at < 0
(9.3.2)
Em x − at = 0 haver´a uma descontinuidade se u0(0) = g(0). Se a < 0 o papel dos
contornos ´e trocado.
Exemplo 36.
Considere o sistema
u
v t
+
a b
b a
u
v x
= 0 (9.3.3)
em 0 ≤ x ≤ 1. Os autovalores s˜ao a + b e a − b. Consideremos o caso onde a, b > 0.
Se¸c˜ao 9.3: Condi¸c˜oes de contorno 59
0
x
t
0
x
t
Figura 9.2: Curvas caracter´ısticas para 0 < b < a e 0 < a < b.
Se 0 < b < a ent˜ao ambas as caracter´ısticas se propagam para a direita (veja
a figura 9.2). Isto significa que u e v devem ser especificadas em x = 0. Note que a
declividade da curva caracter´ıstica ´e a inversa da velocidade.
Se 0 < a < b, ent˜ao as caracter´ısticas se movem em dire¸c˜ao opostas (j´a que a
λ2 = a − b < 0).
Transformando o sistema encontramos
(u + v)t + (a + b)(u + v)x = 0 (9.3.4)
(u − v)t + (a − b)(u − v)x = 0 (9.3.5)
Assim devemos especificar a condi¸c˜ao de contorno u + v em x = 0 (pois move-se para
a direita) e u − v em x = 1. De forma geral, as condi¸c˜oes de contorno devem ser da
forma
u + v = α0(u − v) + β0(t), x = 0 (9.3.6)
u − v = α1(u + v) + β1(t), x = 1 (9.3.7)
para o problema ter uma ´unica solu¸c˜ao (dito um problema bem-posto). Note que tal
condi¸c˜ao de contorno especifica a caracter´ıstica incoming em termos da caracter´ıstica
outgoing.
Note que:
• especificar u ou v em x = 0 e especificar u ou v em x = 1 torna o sistema
bem-posto;
• especificar u − v em x = 0 torna o sistema mal-posto;
• especificar u + v em x = 1 torna o sistema mal-posto;
• o n´umero de condi¸c˜oes de contorno ´e igual ao n´umero de caracter´ısticas incoming.
• Problemas peri´odicos
Podemos tamb´em fornecer condi¸c˜oes de contorno peri´odicas como
u(t, 0) = u(t, 1) (9.3.8)
que na verdade n˜ao ´e uma condi¸c˜ao de contorno, j´a que num problema peri´odico n˜ao
h´a contornos.
Se¸c˜ao 9.4: Diferen¸cas finitas 60
Exerc´ıcio 9.3. Considere o problema (9.3.3) com a = 0 e b = 1, e condi¸c˜oes de
contorno
u(t, 0) = 0 v(t, 1) = 1 (9.3.9)
Mostre que se a condi¸c˜ao inicial ´e
u(0, x) = x v(0, x) = 1 (9.3.10)
ent˜ao a solu¸c˜ao ´e u(t, x) = x e v(t, x) = 1 − t, para t ≥ 0, 0 ≤ x ≤ 1.
Exerc´ıcio 9.4. Considere o problema (9.3.3) com a = 0 e b = 1, e condi¸c˜oes de
contorno
u(t, 0) = 0 v(t, 1) = 1 + t (9.3.11)
Mostre que se a condi¸c˜ao inicial ´e
u(0, x) = x v(0, x) = 1 (9.3.12)
ent˜ao para 0 ≤ x + t ≤ 3 a solu¸c˜ao ´e
u
v
=



x
1 − t
, 0 ≤ t < 1 − x,
2x + t − 1
2 − x − 2t
, 1 − x ≤ t < 1 + x,
3x
3 − 3t
, 1 + x ≤ t < 3 − x.
(9.3.13)
9.4. Diferen¸cas finitas
Defini¸c˜ao 9.4.1. Sejam 0 < h, k ≪ 1, uma malha ou grid ser´a os pontos
(tn, xi) = (nk, ih) para arbitr´arios n, i inteiros.
Denotamos
vn
i ≡ v(tn, xi) (9.4.1)
o valor de v no ponto (tn, xi).
A id´eia b´asica do m´etodo de diferen¸cas finitas ´e substituir as derivadas por dife-
ren¸cas finitas. Por exemplo, a derivada forward ´e
∂u
∂t
(nk, ih) ≈
u((n + 1)k, ih) − u(nk, ih)
k
(9.4.2)
e a derivada central ´e
∂u
∂t
(nk, ih) ≈
u((n + 1)k, ih) − u((n − 1)k, ih)
2k
(9.4.3)
Considerando a equa¸c˜ao de advec¸c˜ao
ut + aux = 0 (9.4.4)
podemos obter os seguintes esquemas/m´etodos
Se¸c˜ao 9.4: Diferen¸cas finitas 61
Forward-Time Forward-Space (FTFS)
vn+1
i − vn
i
k
+ a
vn
i+1 − vn
i
h
= 0 (9.4.5)
Forward-Time Backward-Space (FTBS)
vn+1
i − vn
i
k
+ a
vn
i − vn
i−1
h
= 0 (9.4.6)
Forward-Time Central-Space (FTCS)
vn+1
i − vn
i
k
+ a
vn
i+1 − vn
i−1
2h
= 0 (9.4.7)
Leapfrog
vn+1
i − vn−1
i
2k
+ a
vn
i+1 − vn
i−1
2h
= 0 (9.4.8)
Lax-Friedrichs
vn+1
i − 1
2 (vn
i+1 + vn
i−1)
k
+ a
vn
i+1 − vn
i−1
2h
= 0 (9.4.9)
Qual desses esquemas funciona? Qual ´e mais preciso? Qual ´e mais eficiente?
Cada um deles pode ser reescrito isolando vn+1
i . O primeiro se torna
vn+1
i = vn
i − a
k
h
(vn
i+1 − vn
i ) (9.4.10)
onde λ = k/h. Note que ´e um esquema de passo simples. Conhecidos v0
i ´e poss´ıvel
determinar vn
i para todo n.
Entretanto para usar o esquema Leapfrog (9.4.8) (que ´e de passo m´ultiplo), ´e
necess´ario fornecer os valores de v0
i e v1
i , e usar o esquema para n ≥ 2.
9.4.1. C´odigos
Para utilizar o esquema com diferen¸cas pra frente no tempo e no espa¸co (9.4.5) n˜ao
precisamos armazenar a solu¸c˜ao para todos os valores de tempo n, apenas os mais
recentes. A id´eia ´e usar um vetor v(i) para armazenar a solu¸c˜ao no tempo n, vn
i , e
um vetor vnew(i) para o tempo n + 1, vn+1
i .
Os valores de vnew s˜ao calculados a partir do tempo anterior v. Depois que vnew
est´a calculado, os valores de v s˜ao atualizados com esses valores e o passo de tempo ´e
incrementado.
Se¸c˜ao 9.4: Diferen¸cas finitas 62
Note no c´odigo que temos N intervalos iguais e N+1 pontos de x1 at´e xN+1.
function [v]=adveccao(N,Tfinal)
L = 1; % extremo direito
a = 1; % velocidade
h = L/N; % passo
k = 0.8*h; % passo de tempo
x = linspace(0,L,N+1); % dominio
v = exp(-8*(x-0.5).^2) % cond. inicial
ItTotal = Tfinal/k;
for n=1:ItTotal
for i=2:N;
vnew(i)=v(i) +a*k*(v(i+1)-v(i))/h;
end
vnew(1 ) = 0; % cond.contorno
vnew(N+1) = 0; % cond.contorno
v = vnew;
end
plot(x,v,’r*-’);xlabel(’x’);ylabel(’v’);
title(’Solucao em t=2’)
Exemplo 37.
Compute a solu¸c˜ao de ut + ux = 0 para −3 ≤ x ≤ 3 e t ≥ 0 com condi¸c˜oes
u0(x) =
1 − |x|, |x| ≤ 1
0, c.c.
(9.4.11)
u(x, −3) = 0 (9.4.12)
usando h = 0.1 e λ = 0.8 usando o m´etodo (9.4.5)
vn+1
i − vn
i
k
+ a
vn
i+1 − vn
i
h
= 0. (9.4.13)
Plote a solu¸c˜ao aproximada para o tempo t = 1.6 juntamente com a solu¸c˜ao
exata.
Repita o c´alculo com h = 0.05 e λ = 0.8.
Repita o c´alculo com h = 0.1 e λ = 1.6.
Talvez reduzindo o valor de h. Repita o c´alculo com h = 0.05 e λ = 1.6.
Exemplo 38.
Repita o exerc´ıcio anterior, por´em utilizando o m´etodo de Lax-Friedrichs,
vn+1
i − 1
2 (vn
i+1 + vn
i−1)
k
+ a
vn
i+1 − vn
i−1
2h
= 0. (9.4.14)
Note que ´e necess´ario fornecer uma condi¸c˜ao extra no extremo direito x = 3, tal como,
vn+1
N = vn+1
N−1.
Se¸c˜ao 9.4: Diferen¸cas finitas 63
Exemplo 39.
Repita o exerc´ıcio anterior, por´em utilizando o m´etodo de Leapfrog,
vn+1
i − vn−1
i
2k
+ a
vn
i+1 − vn
i−1
2h
= 0. (9.4.15)
Aqui tamb´em ´e necess´ario fornecer uma condi¸c˜ao extra no extremo direito x = 3, tal
como, vn+1
N = vn+1
N−1. Al´em disso, esse esquema requer que outro esquema seja usado
para calcular a solu¸c˜ao em n = 1 (pode ser necess´ario armazenar trˆes passos de tempo
consecutivos).
Exerc´ıcio 9.5. Para x ∈ [−1, 3] e t ∈ [0, 2.4], resolva
ut + ux = 0 (9.4.16)
u(0, x) =
cos2
(πx), |x| ≤ 1
2
0, c.c.
(9.4.17)
u(t, −1) = 0. (9.4.18)
Use quatro esquemas:
a. (FTBS) com λ = 0.8 e h = 1
10 , 1
20 , 1
40 .
b. (FTCS) com λ = 0.8 e h = 1
10 , 1
20 , 1
40 .
c. (Lax-Friedrichs) com λ = 0.8,λ = 1.6 e h = 1
10 , 1
20 , 1
40 .
d. (Leapfrog) com λ = 0.8 e h = 1
10 , 1
20 , 1
40 .
Para os esquemas (b), (c) e (d) utilize a condi¸c˜ao a direita vn+1
N = vn+1
N−1 em x = 3.
Para o esquema (d) use o esquema (b) para calcular a solu¸c˜ao em n = 1.
Para cada esquema determine se o esquema ´e ´util/in´util (a solu¸c˜ao n˜ao pode
crescer demais). Fa¸ca v´arios gr´aficos. Relate o que acontece ao diminuir h para os
esquemas in´uteis. Existe um padr˜ao? Para os casos ´uteis, como o erro decresce quando
o espa¸camento da malha decresce, i.e, quando h diminui pela metade, como o erro ´e
reduzido?
Exerc´ıcio 9.6. Resolva o sistema
ut +
1
3
(t − 2)ux +
2
3
(t + 1)wx +
1
3
u = 0 (9.4.19)
wt +
1
3
(t + 1)ux +
1
3
(2t − 1)wx −
1
3
w = 0 (9.4.20)
pelo m´etodo de Lax-Friedrichs. Cada equa¸c˜ao ´e aproximada como no caso escalar e
iterada passo a passo. As condi¸c˜oes iniciais s˜ao
u(0, x) = max(0, 1 − |x|) (9.4.21)
w(0, x) = max(0, 1 − 2|x|) (9.4.22)
Considere x ∈ [−3, 3] e t ∈ [0, 2]. Fa¸ca h = 1/20 e λ = 1
2 . Use as condi¸c˜oes de
contorno
unew(1)=0; unew(N)=0;
wnew(1)=wnew(2); wnew(N)=wnew(N-1);
Se¸c˜ao 9.5: Convergˆencia e consistˆencia 64
Descreva o comportamento da solu¸c˜ao para t ∈ [1.5, 2]. Fa¸ca alguns gr´aficos.
Exerc´ıcio 9.7. Resolva
ut +
1
3
(t − 2)ux +
2
3
(t + 1)wx = 0 (9.4.23)
wt +
1
3
(t + 1)ux +
1
3
(2t − 1)wx = 0 (9.4.24)
como no exerc´ıcio anterior. Examinando a solu¸c˜ao num´erica obtenha uma solu¸c˜ao
anal´ıtica para o problema.
9.5. Convergˆencia e consistˆencia
Considere EDP’s lineares da forma
P(∂t, ∂x)u = f(t, x) (9.5.1)
de 1.a ordem no tempo. Assuma que dada uma condi¸c˜ao inicial u(0, x) a solu¸c˜ao ´e
unicamente determinada. Veja os exemplos:
ut − buxx + aux = 0 (9.5.2)
ut − cutxx + buxxxx = 0 (9.5.3)
ut + cutx + aux = 0 (9.5.4)
Para um m´etodo num´erico ser ´util ´e necess´ario que sua solu¸c˜ao aproxime a
solu¸c˜ao da EDP e que a aproxima¸c˜ao melhore quando h, k tendem a zero.
Defini¸c˜ao 9.5.1. Um esquema de diferen¸cas finitas de passo simples que apro-
xima uma EDP ´e convergente se para qualquer u(t, x) exata e un
i aproximada,
tal que u0
m converge para u0(x) quando h → 0, ent˜ao un
i converge para u(t, x)
quando h, k convergem para zero.
Para m´etodos de passo m´ultiplo onde ´e necess´ario especificar os primeiros n´ıveis,
a defini¸c˜ao ´e alterada requerendo que uj
i convirja para u0(xj) para 0 ≤ j ≤ J.
Exemplo 40.
Nos exemplos anteriores, os esquemas de Lax-Friedrichs e leapfrog s˜ao convergentes
para λ = 0.8. Quando h, k decrescem, as solu¸c˜oes se tornam melhores. Quando
λ = 1.6 o esquema de Lax-Friedrichs n˜ao ´e convergente.
Defini¸c˜ao 9.5.2. Dada uma EDP Pu = f e um esquema em diferen¸cas finitas
Ph,kv = f, dizemos que o esquema ´e consistente com a EDP se para qualquer
φ(t, x) suave
Pφ − Ph,kφ → 0 quando k, h → 0, (9.5.5)
a convergˆencia sendo pontual em cada ponto da malha.
Pode ser necess´ario restringir a maneira que h e k tendem a zero.
Se¸c˜ao 9.5: Convergˆencia e consistˆencia 65
Exemplo 41.
Considere o esquema FTFS com operador de diferen¸cas dado por
Pk,hφ =
φn+1
i − φn
i
k
+ a
φn
i+1 − φn
i
h
(9.5.6)
associado ao operador cont´ınuo
Pφ = φt + aφx. (9.5.7)
onde
φn
i = φ(nk, ih) (9.5.8)
Expandindo em s´erie de Taylor para t e x obtemos,
φn+1
i = φn
i + kφt +
1
2
k2
φtt + O(k3
) (9.5.9)
φn
i+1 = φn
i + hφx +
1
2
h2
φxx + O(h3
) (9.5.10)
onde as derivadas s˜ao calculadas em (tn, xi), e assim
Pk,hφ = φt + aφx +
1
2
kφtt +
1
2
hφxx + O(k2
) + O(h2
) (9.5.11)
levando a
Pφ − Pk,hφ = −
1
2
kφtt −
1
2
hφxx + O(k2
) + O(h2
) (9.5.12)
=→ 0 quando k, h → 0 (9.5.13)
Portanto, o esquema ´e consistente.
Exemplo 42.
Para o esquema de Lax-Friedrichs
Pk,hφ =
φn+1
i − 1
2 (φn
i+1 + φn
i−1)
k
+ a
φn
i+1 − φn
i−1
2h
(9.5.14)
usando a s´erie de Taylor
φn
i+1 = φn
i + hφx +
1
2
h2
φxx +
1
6
h3
φxxx + O(h4
) (9.5.15)
φn
i−1 = φn
i − hφx +
1
2
h2
φxx −
1
6
h3
φxxx + O(h4
) (9.5.16)
onde as derivadas s˜ao calculadas em (tn, xi); obtendo
1
2
(φn
i+1 + φn
i−1) = φn
i +
1
2
h2
φxx + O(h4
) (9.5.17)
e
φn
i+1 − φn
i−1
2h
= φx +
1
6
h2
φxxx + O(h4
) (9.5.18)
Se¸c˜ao 9.6: Estabilidade 66
Substituindo no esquema obtemos
Pk,hφ = φt + aφx +
1
2
kφtt −
1
2
k−1
h2
φxx (9.5.19)
+
1
6
ah2
φxxx + O(h4
+ k−1
h4
+ k2
) (9.5.20)
Assim, Pφ − Pk,hφ → 0 quando h, k → 0 e ´e consistente se k−1
h2
→ 0.
Consistˆencia implica que a solu¸c˜ao da EDP, se for suave, ´e uma solu¸c˜ao aproxi-
mada do problema discreto. Similarmente, conergˆencia significa que a solu¸c˜ao discreta
aproxima a solu¸c˜ao da EDP. Consistˆencia ´e uma condi¸c˜ao necess´aria para convergˆencia,
mas um esquema pode ser consistente e n˜ao convergente.
Exemplo 43.
Considere a equa¸c˜ao ut + ux = 0 com o esquema
un+1
i − un
i
k
+ a
un
i+1 − un
i
h
= 0 (9.5.21)
que pode ser reescrito como
un+1
i = un
i −
k
h
(un
i+1 − un
i ) (9.5.22)
= (1 + λ)un
i − λun
i+1 (9.5.23)
onde λ = k/h. Este esquema ´e consistente (exemplo anterior). Considere a condi¸c˜ao
inicial
u0(x) =
1, −1 ≤ x ≤ 0
0, c.c.
(9.5.24)
A solu¸c˜ao ´e uma transla¸c˜ao de u0 da esquerda para a direita, ou seja, a informa¸c˜ao est´a
se movendo nessa dire¸c˜ao. Entretanto o esquema (9.5.23) calcula a solu¸c˜ao em (tn, xi)
utilizando somente informa¸c˜ao de pontos a direita xi e xi+1 em tempos anteriores.
Assim a solu¸c˜ao ser´a vn
i = 0 para i > 0 e n > 0, n˜ao podendo convergir para
u(t, x).
Exerc´ıcio 9.8. Mostre que o esquema FTCS (9.4.7) ´e consistente com ut + ux = 0.
Exerc´ıcio 9.9. Mostre que o esquema leapfrog (9.4.8) ´e consistente com ut +ux = 0.
Exerc´ıcio 9.10. Mostre que o esquema
vn+1
i − vn
i
k
+ c
vn+1
i+1 − vn+1
i−1 − vn
i+1 + vn
i−1
2kh
+ a
vn
i+1 − vn
i−1
2h
= fn
i (9.5.25)
´e consistente com a equa¸c˜ao ut + cutx + aux = f.
9.6. Estabilidade
O ´ultimo exemplo mostra que consistˆencia n˜ao ´e suficiente para garantir convergˆencia.
Considere EDP’s homogˆeneas, f = 0.
Se¸c˜ao 9.6: Estabilidade 67
Defini¸c˜ao 9.6.1. A norma L2
na malha ´e definida como
w h := (h
∞
i=−∞
|wi|2
)
1
2 (9.6.1)
Defini¸c˜ao 9.6.2. Um esquema em diferen¸cas finitas Pk,hvn
i = 0 para uma
equa¸c˜ao de 1.a ordem ´e est´avel numa regi˜ao Λ se ∃J inteiro tal que ∀T > 0,
∃CT tal que
vn
h ≤ CT
J
j=0
vj 2
h (9.6.2)
para 0 ≤ nk ≤ T , com (k, h) ∈ Λ.
Isto significa que para ser est´avel a solu¸c˜ao em t ∈ [0, T ] deve permanecer
limitada por CT vezes a norma dos J + 1 dados iniciais (J = 0 para m´etodos de passo
simples e J > 0 para passo m´ultiplo).
Uma regi˜ao de estabilidade Λ ⊂ R2
´e limitada, cont´em a origem e uma sequˆencia
(kν, hν) → (0, 0) quando ν → ∞. Um exemplo comum ´e uma regi˜ao da forma
{(k, h) : 0 < k ≤ ch ≤ C}, para algum c, C > 0.
Exemplo 44.
Mostre que um esquema da forma
un+1
i = αun
i + βun
i+1 (9.6.3)
´e est´avel se |α| + |β| ≤ 1.
Solu¸c˜ao: Calculando a norma de un+1
, temos
∞
i=−∞
|un+1
i |2
=
∞
i=−∞
|αun
i + βun
i+1|2
(9.6.4)
≤
∞
i=−∞
|α|2
|un
i |2
+ 2|α||β||un
i ||un
i+1| + |β|2
|un
i+1|2
(9.6.5)
≤
∞
−∞
α|2
|un
i |2
+ |α||β|(|un
i |2
+ |un
i+1|2
) + |β|2
|un
i+1|2
(9.6.6)
=
∞
−∞
(|α|2
+ 2|α||β| + |β|2
)|un
i |2
(9.6.7)
=(|α| + |β|)2
∞
i=−∞
|un
i |2
(9.6.8)
onde usamos 2xy ≤ x2
+ y2
. Assim
un+1
h ≤ (|α| + |β|) un
h (9.6.9)
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais
Metodos numéricos para equações diferenciais

Mais conteúdo relacionado

Mais procurados

Mengenal bentuk aljabar
Mengenal bentuk aljabarMengenal bentuk aljabar
Mengenal bentuk aljabarFransisca Leny
 
Subgrup normal dan grup faktor
Subgrup normal dan grup faktorSubgrup normal dan grup faktor
Subgrup normal dan grup faktorSholiha Nurwulan
 
Linear functions
Linear functionsLinear functions
Linear functionshalcr1ja
 
RPP kelas 10 KD 3.5 kurikulum 2013 revisi 2016 kiki ismayanti
RPP kelas 10 KD 3.5  kurikulum 2013 revisi 2016 kiki ismayantiRPP kelas 10 KD 3.5  kurikulum 2013 revisi 2016 kiki ismayanti
RPP kelas 10 KD 3.5 kurikulum 2013 revisi 2016 kiki ismayantikikiismayanti
 
SOAL UAS GANJIL MATEMATIKA SMP KELAS VIII 2015/2016
SOAL UAS GANJIL MATEMATIKA SMP KELAS VIII 2015/2016SOAL UAS GANJIL MATEMATIKA SMP KELAS VIII 2015/2016
SOAL UAS GANJIL MATEMATIKA SMP KELAS VIII 2015/2016Budi Haryono
 
PLSV & PtLSV (Perkalian & Pembagian Aljabar) - P4
PLSV & PtLSV (Perkalian & Pembagian Aljabar) - P4PLSV & PtLSV (Perkalian & Pembagian Aljabar) - P4
PLSV & PtLSV (Perkalian & Pembagian Aljabar) - P4Shinta Novianti
 
Soal pilihan ganda kuantor
Soal pilihan ganda kuantorSoal pilihan ganda kuantor
Soal pilihan ganda kuantorAnderzend Awuy
 
Bangun Ruang Sisi Datar
Bangun Ruang Sisi DatarBangun Ruang Sisi Datar
Bangun Ruang Sisi Datarpipinmath
 
Rpp iii panjang lilitan sabuk minimal - aplot
Rpp iii   panjang lilitan sabuk minimal - aplotRpp iii   panjang lilitan sabuk minimal - aplot
Rpp iii panjang lilitan sabuk minimal - aplotOgi Meita
 
Geometri analitik bidang lingkaran
Geometri analitik bidang  lingkaran Geometri analitik bidang  lingkaran
Geometri analitik bidang lingkaran barian11
 
PPT MATERI PERKALIAN BENTUK ALJAB KELAS VIIAR.pptx
PPT MATERI PERKALIAN BENTUK ALJAB KELAS VIIAR.pptxPPT MATERI PERKALIAN BENTUK ALJAB KELAS VIIAR.pptx
PPT MATERI PERKALIAN BENTUK ALJAB KELAS VIIAR.pptxNURFIKA6
 
Makalah struktur aljabar grupoida
Makalah struktur aljabar grupoidaMakalah struktur aljabar grupoida
Makalah struktur aljabar grupoidaDIANTO IRAWAN
 
Rpp matematika-teorema-pythagoras
Rpp matematika-teorema-pythagorasRpp matematika-teorema-pythagoras
Rpp matematika-teorema-pythagorasAdinda Umiq
 
PPT MATEMATIKA KELAS XI BAB PERSAMAAN LINIER
PPT MATEMATIKA KELAS XI BAB PERSAMAAN LINIERPPT MATEMATIKA KELAS XI BAB PERSAMAAN LINIER
PPT MATEMATIKA KELAS XI BAB PERSAMAAN LINIERRini Ayu Agustin
 
RPP - Statistika (Jangkauan)
RPP - Statistika (Jangkauan)RPP - Statistika (Jangkauan)
RPP - Statistika (Jangkauan)matematikauntirta
 
Kelompok 2 (menyelesaikan kongruensi linear)
Kelompok 2 (menyelesaikan kongruensi linear)Kelompok 2 (menyelesaikan kongruensi linear)
Kelompok 2 (menyelesaikan kongruensi linear)Risna Riany
 
MODUL PEMBELAJARAN SPLTV BERBASIS GAME-BASED LEARNING
MODUL PEMBELAJARAN SPLTV BERBASIS GAME-BASED LEARNINGMODUL PEMBELAJARAN SPLTV BERBASIS GAME-BASED LEARNING
MODUL PEMBELAJARAN SPLTV BERBASIS GAME-BASED LEARNINGCindy Ardianty
 

Mais procurados (20)

Relasi fungsi
Relasi fungsiRelasi fungsi
Relasi fungsi
 
Mengenal bentuk aljabar
Mengenal bentuk aljabarMengenal bentuk aljabar
Mengenal bentuk aljabar
 
Complex numbers
Complex numbersComplex numbers
Complex numbers
 
Subgrup normal dan grup faktor
Subgrup normal dan grup faktorSubgrup normal dan grup faktor
Subgrup normal dan grup faktor
 
Linear functions
Linear functionsLinear functions
Linear functions
 
RPP kelas 10 KD 3.5 kurikulum 2013 revisi 2016 kiki ismayanti
RPP kelas 10 KD 3.5  kurikulum 2013 revisi 2016 kiki ismayantiRPP kelas 10 KD 3.5  kurikulum 2013 revisi 2016 kiki ismayanti
RPP kelas 10 KD 3.5 kurikulum 2013 revisi 2016 kiki ismayanti
 
SOAL UAS GANJIL MATEMATIKA SMP KELAS VIII 2015/2016
SOAL UAS GANJIL MATEMATIKA SMP KELAS VIII 2015/2016SOAL UAS GANJIL MATEMATIKA SMP KELAS VIII 2015/2016
SOAL UAS GANJIL MATEMATIKA SMP KELAS VIII 2015/2016
 
PLSV & PtLSV (Perkalian & Pembagian Aljabar) - P4
PLSV & PtLSV (Perkalian & Pembagian Aljabar) - P4PLSV & PtLSV (Perkalian & Pembagian Aljabar) - P4
PLSV & PtLSV (Perkalian & Pembagian Aljabar) - P4
 
Soal pilihan ganda kuantor
Soal pilihan ganda kuantorSoal pilihan ganda kuantor
Soal pilihan ganda kuantor
 
Bangun Ruang Sisi Datar
Bangun Ruang Sisi DatarBangun Ruang Sisi Datar
Bangun Ruang Sisi Datar
 
Rpp iii panjang lilitan sabuk minimal - aplot
Rpp iii   panjang lilitan sabuk minimal - aplotRpp iii   panjang lilitan sabuk minimal - aplot
Rpp iii panjang lilitan sabuk minimal - aplot
 
Geometri analitik bidang lingkaran
Geometri analitik bidang  lingkaran Geometri analitik bidang  lingkaran
Geometri analitik bidang lingkaran
 
PPT MATERI PERKALIAN BENTUK ALJAB KELAS VIIAR.pptx
PPT MATERI PERKALIAN BENTUK ALJAB KELAS VIIAR.pptxPPT MATERI PERKALIAN BENTUK ALJAB KELAS VIIAR.pptx
PPT MATERI PERKALIAN BENTUK ALJAB KELAS VIIAR.pptx
 
Makalah struktur aljabar grupoida
Makalah struktur aljabar grupoidaMakalah struktur aljabar grupoida
Makalah struktur aljabar grupoida
 
Exponent review 4-8
Exponent review   4-8Exponent review   4-8
Exponent review 4-8
 
Rpp matematika-teorema-pythagoras
Rpp matematika-teorema-pythagorasRpp matematika-teorema-pythagoras
Rpp matematika-teorema-pythagoras
 
PPT MATEMATIKA KELAS XI BAB PERSAMAAN LINIER
PPT MATEMATIKA KELAS XI BAB PERSAMAAN LINIERPPT MATEMATIKA KELAS XI BAB PERSAMAAN LINIER
PPT MATEMATIKA KELAS XI BAB PERSAMAAN LINIER
 
RPP - Statistika (Jangkauan)
RPP - Statistika (Jangkauan)RPP - Statistika (Jangkauan)
RPP - Statistika (Jangkauan)
 
Kelompok 2 (menyelesaikan kongruensi linear)
Kelompok 2 (menyelesaikan kongruensi linear)Kelompok 2 (menyelesaikan kongruensi linear)
Kelompok 2 (menyelesaikan kongruensi linear)
 
MODUL PEMBELAJARAN SPLTV BERBASIS GAME-BASED LEARNING
MODUL PEMBELAJARAN SPLTV BERBASIS GAME-BASED LEARNINGMODUL PEMBELAJARAN SPLTV BERBASIS GAME-BASED LEARNING
MODUL PEMBELAJARAN SPLTV BERBASIS GAME-BASED LEARNING
 

Destaque

Incidence and-etiology-of-acute-kidney-injury-in-children-admitted-to-picuusi...
Incidence and-etiology-of-acute-kidney-injury-in-children-admitted-to-picuusi...Incidence and-etiology-of-acute-kidney-injury-in-children-admitted-to-picuusi...
Incidence and-etiology-of-acute-kidney-injury-in-children-admitted-to-picuusi...soad shedeed
 
Peaceful People
Peaceful People Peaceful People
Peaceful People Erdi Dibra
 
Preparing vulnerable children for the school holidays
Preparing vulnerable children for the school holidaysPreparing vulnerable children for the school holidays
Preparing vulnerable children for the school holidaysPooky Knightsmith
 
BFS-2016-06-journal
BFS-2016-06-journalBFS-2016-06-journal
BFS-2016-06-journalJames Wilson
 
Responding to Mental Health Disclosures
Responding to Mental Health DisclosuresResponding to Mental Health Disclosures
Responding to Mental Health DisclosuresPooky Knightsmith
 
Fab four social media pp
Fab four social media ppFab four social media pp
Fab four social media ppFabby4
 
Fab four social media pp
Fab four social media ppFab four social media pp
Fab four social media ppFabby4
 
Unit 6 notes 1
Unit 6 notes 1Unit 6 notes 1
Unit 6 notes 1wforrest
 
12 Hidden Tips of Popular Remote Work Tools
12 Hidden Tips of Popular Remote Work Tools12 Hidden Tips of Popular Remote Work Tools
12 Hidden Tips of Popular Remote Work ToolsRealtimeBoard
 
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Yevgeniy Brikman
 
Mentes colonizadas promoción de charla
Mentes colonizadas promoción de charlaMentes colonizadas promoción de charla
Mentes colonizadas promoción de charlaRafael Contreras
 
Agriculture connectée 4.0
Agriculture connectée 4.0Agriculture connectée 4.0
Agriculture connectée 4.0Jérôme Monteil
 
Beyond the Gig Economy
Beyond the Gig EconomyBeyond the Gig Economy
Beyond the Gig EconomyJon Lieber
 
Recovery: Job Growth and Education Requirements Through 2020
Recovery: Job Growth and Education Requirements Through 2020Recovery: Job Growth and Education Requirements Through 2020
Recovery: Job Growth and Education Requirements Through 2020CEW Georgetown
 
Privacy is an Illusion and you’re all losers! - Cryptocow - Infosecurity 2013
Privacy is an Illusion and you’re all losers! - Cryptocow - Infosecurity 2013Privacy is an Illusion and you’re all losers! - Cryptocow - Infosecurity 2013
Privacy is an Illusion and you’re all losers! - Cryptocow - Infosecurity 2013Cain Ransbottyn
 
African Americans: College Majors and Earnings
African Americans: College Majors and Earnings African Americans: College Majors and Earnings
African Americans: College Majors and Earnings CEW Georgetown
 

Destaque (20)

Chris Resume 2017
Chris Resume 2017Chris Resume 2017
Chris Resume 2017
 
Heather Moore Bernard Standard Resume-Final
Heather Moore Bernard  Standard Resume-FinalHeather Moore Bernard  Standard Resume-Final
Heather Moore Bernard Standard Resume-Final
 
Preparo6 mates5prim
Preparo6 mates5primPreparo6 mates5prim
Preparo6 mates5prim
 
Incidence and-etiology-of-acute-kidney-injury-in-children-admitted-to-picuusi...
Incidence and-etiology-of-acute-kidney-injury-in-children-admitted-to-picuusi...Incidence and-etiology-of-acute-kidney-injury-in-children-admitted-to-picuusi...
Incidence and-etiology-of-acute-kidney-injury-in-children-admitted-to-picuusi...
 
Peaceful People
Peaceful People Peaceful People
Peaceful People
 
Preparing vulnerable children for the school holidays
Preparing vulnerable children for the school holidaysPreparing vulnerable children for the school holidays
Preparing vulnerable children for the school holidays
 
BFS-2016-06-journal
BFS-2016-06-journalBFS-2016-06-journal
BFS-2016-06-journal
 
2017 Resume
2017 Resume2017 Resume
2017 Resume
 
Responding to Mental Health Disclosures
Responding to Mental Health DisclosuresResponding to Mental Health Disclosures
Responding to Mental Health Disclosures
 
Fab four social media pp
Fab four social media ppFab four social media pp
Fab four social media pp
 
Fab four social media pp
Fab four social media ppFab four social media pp
Fab four social media pp
 
Unit 6 notes 1
Unit 6 notes 1Unit 6 notes 1
Unit 6 notes 1
 
12 Hidden Tips of Popular Remote Work Tools
12 Hidden Tips of Popular Remote Work Tools12 Hidden Tips of Popular Remote Work Tools
12 Hidden Tips of Popular Remote Work Tools
 
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...Infrastructure as code: running microservices on AWS using Docker, Terraform,...
Infrastructure as code: running microservices on AWS using Docker, Terraform,...
 
Mentes colonizadas promoción de charla
Mentes colonizadas promoción de charlaMentes colonizadas promoción de charla
Mentes colonizadas promoción de charla
 
Agriculture connectée 4.0
Agriculture connectée 4.0Agriculture connectée 4.0
Agriculture connectée 4.0
 
Beyond the Gig Economy
Beyond the Gig EconomyBeyond the Gig Economy
Beyond the Gig Economy
 
Recovery: Job Growth and Education Requirements Through 2020
Recovery: Job Growth and Education Requirements Through 2020Recovery: Job Growth and Education Requirements Through 2020
Recovery: Job Growth and Education Requirements Through 2020
 
Privacy is an Illusion and you’re all losers! - Cryptocow - Infosecurity 2013
Privacy is an Illusion and you’re all losers! - Cryptocow - Infosecurity 2013Privacy is an Illusion and you’re all losers! - Cryptocow - Infosecurity 2013
Privacy is an Illusion and you’re all losers! - Cryptocow - Infosecurity 2013
 
African Americans: College Majors and Earnings
African Americans: College Majors and Earnings African Americans: College Majors and Earnings
African Americans: College Majors and Earnings
 

Semelhante a Metodos numéricos para equações diferenciais

Semelhante a Metodos numéricos para equações diferenciais (20)

Diogo t.robaina edp
Diogo t.robaina edpDiogo t.robaina edp
Diogo t.robaina edp
 
Calculo numerico
Calculo numerico Calculo numerico
Calculo numerico
 
mech-course.pdf
mech-course.pdfmech-course.pdf
mech-course.pdf
 
Calculo numérico
Calculo numéricoCalculo numérico
Calculo numérico
 
Arq orgcom (1)
Arq orgcom (1)Arq orgcom (1)
Arq orgcom (1)
 
ArqOrgCom.ppt
ArqOrgCom.pptArqOrgCom.ppt
ArqOrgCom.ppt
 
Apostila de demonstração
Apostila de demonstraçãoApostila de demonstração
Apostila de demonstração
 
Sistemas digitais - Sistemas de Numeração
Sistemas digitais - Sistemas de NumeraçãoSistemas digitais - Sistemas de Numeração
Sistemas digitais - Sistemas de Numeração
 
Tabela de conversao
Tabela de conversaoTabela de conversao
Tabela de conversao
 
Sequencias e-series
Sequencias e-seriesSequencias e-series
Sequencias e-series
 
Espaços metricos
Espaços metricosEspaços metricos
Espaços metricos
 
CFD Aula 4
CFD Aula 4CFD Aula 4
CFD Aula 4
 
Analise matematica-2003
Analise matematica-2003Analise matematica-2003
Analise matematica-2003
 
Análise de arredondamento em ponto flutuante
Análise de arredondamento em ponto flutuanteAnálise de arredondamento em ponto flutuante
Análise de arredondamento em ponto flutuante
 
Apostila elementos de matemática aplicada
Apostila elementos de matemática aplicadaApostila elementos de matemática aplicada
Apostila elementos de matemática aplicada
 
Noções
 Noções Noções
Noções
 
Testes 10 Ano.pdf
Testes 10 Ano.pdfTestes 10 Ano.pdf
Testes 10 Ano.pdf
 
Tutorial Octave Matlab
Tutorial Octave MatlabTutorial Octave Matlab
Tutorial Octave Matlab
 
Livro seagro
Livro seagroLivro seagro
Livro seagro
 
Equacoes_Diferenciais_Parciais.pdf
Equacoes_Diferenciais_Parciais.pdfEquacoes_Diferenciais_Parciais.pdf
Equacoes_Diferenciais_Parciais.pdf
 

Último

10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptxVagner Soares da Costa
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxFlvioDadinhoNNhamizi
 
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptxVagner Soares da Costa
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMdiminutcasamentos
 
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdfPROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdfdanielemarques481
 
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICADESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICAPabloVinicius40
 

Último (6)

10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
 
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPM
 
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdfPROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
 
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICADESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
DESTRAVANDO O NOVO EDITAL DA CAIXA ECONOMICA
 

Metodos numéricos para equações diferenciais

  • 1. PPGMAP . M´ETODOS NUM´ERICOS PARA EQUAC¸ ˜OES DIFERENCIAIS . Dagoberto Adriano Rizzotto Justo Tabela de Conte´udo 1. Introdu¸c˜ao 1.1. Objetivos 1.1.1.Sub-objetivos 1.2. Avalia¸c˜ao 1.3. Bibliografia 2. Aritm´etica no computador 2.1. Processo Iterativo 2.2. Representa¸c˜ao de n´umeros 2.3. Bits, bytes e palavras 2.4. Representa¸c˜ao de n´umeros inteiros 2.5. Representa¸c˜ao de n´umeros reais 2.5.1.Precis˜ao (IEEE754) 2.6. Arredondamento 2.6.1.Erro absoluto e relativo 2.6.2.Arredondamento por corte 2.6.3.Arredondamento por proximidade 2.6.4.Caracteriza¸c˜ao de uma representa¸c˜ao 2.7. Opera¸c˜oes em ponto flutuante 2.7.1.Cancelamento catastr´ofico 2.7.2.A comutatividade n˜ao ´e v´alida 2.7.3.A distributividade n˜ao ´e v´alida 3. Aproxima¸c˜oes 3.1. Aproxima¸c˜ao de ordem p 3.2. Aproxima¸c˜ao em diferen¸cas finitas 3.3. Integra¸c˜ao Num´erica, quadratura 3.4. Quadratura Gaussiana
  • 2. Tabela de Conte´udo (cont.) 2 3.5. Ordem de aproxima¸c˜ao 3.5.1.Integra¸c˜ao 4. Equa¸c˜oes Diferenciais Ordin´arias 4.1. Teoria de equa¸c˜oes diferenciais 4.1.1.Dependˆencia na condi¸c˜ao inicial 5. M´etodo de Euler 5.1. Erro de truncamento 5.1.1.Erro de truncamento Local 5.1.2.Erro de truncamento Global 5.1.3.Convergˆencia 5.1.4.Paradoxo da ordem 5.2. A regra do trap´ezio 5.3. O m´etodo theta 5.4. O m´etodo de Taylor 6. M´etodos de Passo M´ultiplo 6.1. O m´etodo de Adams-Bashforth 6.1.1.C´odigo 6.2. Ordem e convergˆencia de m´etodos de passo m´ultiplo 6.2.1.Convergˆencia de m´etodos de passo m´ultiplo 6.2.2.Teorema de equivalˆencia de Dahlquist 6.2.3.A primeira barreira de Dahlquist 6.3. O m´etodo de Adams-Moulton 6.4. M´etodo BDF 7. M´etodos de Runge-Kutta 7.1. M´etodo de Runge-Kutta Expl´ıcito 7.2. M´etodo de RK ν = 2 7.3. M´etodo de Runge-Kutta impl´ıcito (IRK) 7.4. Estimativa da ordem de convergˆencia 7.4.1.M´etodo 1 7.4.2.M´etodo 2 8. Dom´ınio de Estabilidade 8.1. Equa¸c˜oes “Stiff” 8.2. Dom´ınio de Estabilidade Linear 8.3. Estabilidade dos m´etodos de Taylor 8.4. Estabilidade dos m´etodos de Runge-Kutta 8.5. Estabilidade dos m´etodos de passo m´ultiplo 9. Equa¸c˜oes Diferenciais Parciais hiperb´olicas 9.1. Equa¸c˜ao da onda unidirecional 9.2. Sistemas de EDP’s hiperb´olicas
  • 3. Tabela de Conte´udo (cont.) 3 9.3. Condi¸c˜oes de contorno • Problemas peri´odicos 9.4. Diferen¸cas finitas 9.4.1.C´odigos 9.5. Convergˆencia e consistˆencia 9.6. Estabilidade 9.7. Teorema de equivalˆencia de Lax-Richtmyer 9.8. Condi¸c˜ao CFL 10. An´alise de esquemas de diferen¸cas finitas 10.1. An´alise de Fourier 10.1.1.Analisando EDPs 10.1.2.Em mais que uma dimens˜ao 10.2. An´alise de Von Neumann 10.2.1.A condi¸c˜ao de estabilidade 10.3. Coment´arios sobre instabilidade e estabilidade 10.3.1.Condi¸c˜oes de estabilidade para coeficientes vari´aveis 10.3.2.Estabilidade num´erica e estabilidade dinˆamica 11. Ordem de Precis˜ao 11.1. Esquema Lax-Wendroff 11.2. Esquema Cranck-Nicolson 11.3. O s´ımbolo de um esquema de DF 11.4. Ordem de precis˜ao da solu¸c˜ao 11.5. Estabilidade LW e CN 11.6. Condi¸c˜oes de contorno 11.7. Sistemas Tridiagonais 12. Estabilidade para esquemas de passo m´ultiplo 12.1. Estabilidade do esquema leapfrog 12.1.1.Inicializando o esquema leapfrog 12.1.2.Nota¸c˜ao de Diferen¸cas 12.2. Estabilidade para esquemas de passo m´ultiplo 13. Equa¸c˜oes Diferenciais Parciais Parab´olicas 13.1. Equa¸c˜ao do calor 13.2. Sistemas parab´olicos 13.3. Diferen¸cas finitas 13.3.1.Mais alguns esquemas 13.4. Dissipa¸c˜ao e suavidade 13.5. Condi¸c˜ao de contorno
  • 4. Tabela de Conte´udo (cont.) 4 13.6. Equa¸c˜ao de convec¸c˜ao-difus˜ao 13.6.1.Esquema FTCS 13.6.2.Esquema upwind 14. Sistemas Bidimensionais e Tridimensionais 14.1. Estabilidade para sistemas de EDPs 14.2. Esquemas de passo m´ultiplo 14.3. Duas e trˆes dimens˜oes 14.3.1.Introdu¸c˜ao 14.3.2.An´alise 14.4. Time-Split 15. Esquema ADI 15.1. Algoritmo de Peaceman-Rachford 15.2. Condi¸c˜ao de contorno 15.2.1.Estabilidade 15.3. Implementa¸c˜ao 16. Equa¸c˜oes de segunda ordem 16.1. Equa¸c˜ao da Onda 16.2. Diferen¸cas finitas 16.2.1.O primeiro passo 16.3. Condi¸c˜oes de contorno 16.4. Equa¸c˜ao de segunda ordem em 2 e 3 dimens˜oes 17. Equa¸c˜oes Diferenciais Parciais El´ıpticas 17.1. Equa¸c˜ao de Poisson 17.1.1.Princ´ıpio do M´aximo 17.2. Esquemas de Diferen¸cas Finitas 17.3. Sistema Unidimensional 17.4. Sistema Bidimensional 17.4.1.M´etodo de Jacobi 17.4.2.M´etodo de Gauss-Seidel 17.4.3.M´etodo SOR
  • 5. 1 Aula 1 . Introdu¸c˜ao . . Cap´ıtulo 1: Introdu¸c˜ao 1.1. Objetivos • resolver numericamente equa¸c˜oes diferenciais • explorar diferentes m´etodos num´ericos • entender quando m´etodos num´ericos funcionam 1.1.1. Sub-objetivos • experimento - hip´oteses - teoria • literatura inglˆes • latex (WinEdt) • Matlab (ou Scilab 1 ) ou Fortran ou C • pesquisa bibliogr´afica (biblioteca e internet) 1.2. Avalia¸c˜ao • Temas de casa e trabalhos parciais. IMPORTANTE: respeitar datas de entrega. Digitados em latex. • Possibilidade de apresenta¸c˜ao de trabalhos. • Participa¸c˜ao. • Trabalho Final. 1.3. Bibliografia Parte I: • Iserles, A., A First Course in the Numerical Analysis of Differential Equations, Cambridge University Press, 1996. • Butcher, J.C. The Numerical Analysis of Ordinary Differential Equations: Runge- Kutta and General Linear Methods. John Wiley & Sons, 1987. Parte II: 1www.scilab.org
  • 6. Se¸c˜ao 1.3: Bibliografia 2 • Strikwerda, J.C. Finite Difference Schemes and Partial Differential Equations, Chapman & Hall, 1989 Complementares: • Anderson, D.A., Tannehill, J.C., Pletcher, R.H.. Computational Fluid Mechanics and Heat Transfer. McGraw-Hill, 1984. • Belytschko, T., Hughes, T.J.R. Computational Methods for Transient Analysis. North-Holland, 1986. • Burden, R.L., Faires, J.D. Numerical Analysis, PWS Publishing, 1993. • Cook, R.D. Concepts and Applications of Finite Element Analysis. John Wiley & Sons, 1981. • Hairer, E., Norsett, S.P., Warner, G. Solving Ordinary Differential Equations I, Springer, New York, 1987. • Huebner, K.H. The Finite Element Method for Engineers. John Wiley & Sons, New York, 1975. • Ortega, J.M., Poole Jr., W.G. Numerical Methods for Differential Equations. Pitman Publishing Inc. Massachusetts, 1981. • Sod, G.A. Numerical Methods in Fluid Dynamics. Cambridge University Press, Cambridge, 1985. Livros em c´alculo num´erico: • Cunha, Cardoso, Bortoli, Facchin. Introdu¸c˜ao ao C´alculo Num´erico2 . 2link: www.mat.ufrgs.br/∼dago
  • 7. 3 Cap´ıtulo 2: Aritm´etica no computador 2.1. Processo Iterativo Veja [9]. Considere uma transforma¸c˜ao T : V → V x → T (x) = y . (2.1.1) Aplique a transforma¸c˜ao sucessivamente, partindo de x0: x1 = T (x0) x2 = T (x1) x3 = T (x2) ... xk+1 = T (xk) Um ponto xp tal que T (xp) = xp ´e chamado de ponto fixo, caso ele exista. Este procedimento pode ou n˜ao convergir. Quando converge temos lim k→∞ xk = xp A convergˆencia pode depender do ponto inicial x0. Exerc´ıcio 2.1. Considere T (x) = x(3 − x2 )/2. Efetue o processo iterativo partindo de diferentes valores iniciais. Verifique a convergˆencia para os pontos fixos x = −1, x = 1 (estes s˜ao est´aveis)e x = 0 (este ´e inst´avel). Fa¸ca um esbo¸co do eixo real marcando os pontos fixos e as bacias de atra¸c˜ao. %------------------------------ function [x]=iteracao(x0) x(1)=x0; for k=1:100 x(k+1)=x(k)*(3-x(k)^2)/2; end plot(x,’*-’) %------------------------------ Exerc´ıcio 2.2. O conjunto de Mandelbrot. Considere a equa¸c˜ao para z ∈ (C), z0 = 0; (2.1.2) zk+1 = z2 k + c (2.1.3) O conjunto de Maldelbrot ´e o conjunto de todos c ∈ C, tais que a itera¸c˜ao acima tenha sempre |zk| < 2. Considere a fun¸c˜ao %------------------------------ function [c]=mandelbrot(Total) c =(rand-0.5+i*(rand-0.5))*3;
  • 8. Se¸c˜ao 2.2: Representa¸c˜ao de n´umeros 4 z(1)=0; k =1; while(k<Total)&&(abs(z(k)<2)) z(k+1)=z(k)^2+c; k =k+1; end if(abs(z(k))<2) plot(c,’.r’);hold on end %------------------------------ Cada vez que o programa ´e rodado, um c aleat´orio ´e escolhido, e ser´a plotado caso perten¸ca ao conjunto de Mandelbrot. Rode o programa com a linha for k=1:1000; mandelbrot(100); end; Qual a influˆencia da vari´avel T otal? 2.2. Representa¸c˜ao de n´umeros Veja [2, 3]. Representa¸c˜ao de n´umeros, por exemplo, representa¸c˜ao decimal: (123.456)10 = 1×102 + 2×101 + 3×100 + 4×10−1 + 5×10−2 + 6×10−3 (2.2.1) onde a base ´e β = 10 e os d´ıgitos poss´ıveis s˜ao {0, 1, . . ., 8, 9}. Representa¸c˜ao bin´aria: (1001.101)2 = 1×23 + 0×22 + 0×21 + 1×20 + 1×2−1 + 0×2−2 + 1×2−3 (2.2.2) = 23 + 20 + 2−1 + 2−3 (2.2.3) = 8 + 1 + 0.5 + 0.125 (2.2.4) = (9.625)10 (2.2.5) onde a base ´e β = 2 e os d´ıgitos poss´ıveis s˜ao {0, 1}. 2.3. Bits, bytes e palavras Um bit ´e a menor unidade de informa¸c˜ao, podendo representar 0 ou 1. Um byte ´e um conjunto de 8 bits, por exemplo, 00101101. Um computador ´e normalmente estruturado de tal forma a ler/escrever uma palavra por endere¸co de mem´oria. Tipicamente uma palavra ´e um conjunto de 32 bits. Na realidade o padr˜ao atual (com o Windows Vista) ´e 64 bits. 2.4. Representa¸c˜ao de n´umeros inteiros Usando 32 bits, reservando um bit para o sinal, podemos representar somente 232 n´umeros, metade deles positivos e metade negativos.
  • 9. Se¸c˜ao 2.5: Representa¸c˜ao de n´umeros reais 5 2.5. Representa¸c˜ao de n´umeros reais Algumas possibilidades s˜ao representa¸c˜ao fracion´aria, representa¸c˜ao em ponto-fixo e representa¸c˜ao em ponto flutuante. Utilizando ponto flutuante, cada n´umero x ´e repre- sentado como x = ±M×2±E , 1 2 ≤ M < 1 (2.5.1) onde a mantissa ´e da forma M = (0.b0b1b2b3 . . .)2, b0 = 1 (2.5.2) Como b0 = 1, o zero deve ser representado por conven¸c˜ao, de forma diferente - por exemplo utilizar o menor n´umero represent´avel como sendo o zero. Exemplo 1. O n´umero (−11.75)10 = (−0.101111)2×2(+100)2 . 2.5.1. Precis˜ao (IEEE754) Em simples precis˜ao (32 bits) temos F(2, 23, 8) onde a base ´e β = 2, M = 23 bits s˜ao usados na mantissa (mais um para o sinal) e E = 8 bits para o expoente. Figura 2.1: Simples Precis˜ao Em dupla precis˜ao (64 bits) temos F(2, 52, 11) onde a base ´e β = 2, M = 52 bits s˜ao usados na mantissa (mais um para o sinal) e E = 11 bits para o expoente. Figura 2.2: Dupla Precis˜ao Em qu´adrupla precis˜ao (128 bits) temos F(2, 112, 15) onde a base ´e β = 2, M = 112 e e E = 15. 2.6. Arredondamento Como um computador possui precis˜ao finita, ao representar x = 2/3 = (0.66666)10 (que em bin´ario ´e x = (0.10101010 . . .)2) no computador precisamos arredondar o n´umero. Por´em, x = (0.10101010 . . .)2 est´a entre dois n´umeros represent´aveis:
  • 10. Se¸c˜ao 2.6: Arredondamento 6 • (0.1010 . . .1010)2 • (0.1010 . . .1011)2 2.6.1. Erro absoluto e relativo Sendo x um n´umero real e ˜x a representa¸c˜ao desse n´umero, o erro absoluto ´e definido como Eabs = |x − ˜x| (2.6.1) e o erro relativo ´e definido como Erel = |x − ˜x| |x| . (2.6.2) 2.6.2. Arredondamento por corte Supondo p = 24, podemos ignorar os bits b24b25 . . . em diante obtendo x ≈ ˜x = (0.1010 . . .1010)2. (2.6.3) O erro m´aximo no arredondamento por corte ser´a a distˆancia entre dois n´umeros repre- sent´aveis, ǫcorte = β−p+1 = 2−23 = 0.119209×10−6 . (2.6.4) 2.6.3. Arredondamento por proximidade Verificando o bit b24 podemos arredondar para cima se b24 = 1 e para baixo se b24 = 0. (Na verdade, adiciona-se 1 ao bit b24 e arredonda-se por corte 0.b0 . . . b23). O erro m´aximo no arredondamento por proximidade ser´a a metade do arredon- damento por corte, ǫprox = ǫcorte/2 = 2−23 /2 = 0.596046×10−7 . (2.6.5) fornecendo aproximadamente 7 d´ıgitos de precis˜ao decimal. Exerc´ıcio 2.3. Quantos d´ıgitos de precis˜ao decimal temos aproximadamente em dupla precis˜ao? 2.6.4. Caracteriza¸c˜ao de uma representa¸c˜ao • p: a precis˜ao ´e a quantidade de bits dispon´ıvel para representar o n´umero; • MINR: o menor n´umero represent´avel em m´odulo; • MAXR: o maior n´umero represent´avel em m´odulo; • ǫ: o epsilon de m´aquina ´e o menor n´umero represent´avel tal que 1 + ǫ = 1; (ou ainda, β−p+1 ) Exemplo 2. Utilizando simples precis˜ao temos uma precis˜ao de p = 23 + 1 = 24 bits (mais um pois b0 = 1 sempre).
  • 11. Se¸c˜ao 2.7: Opera¸c˜oes em ponto flutuante 7 MINR = (0.1000 . . .0000)2×2(−1111111)2 (2.6.6) = 2−1 ×2−127 (2.6.7) ≈ (2.938735×10−39 )10 (2.6.8) MAXR = (0.1111 . . .1111)2×2(+1111111)2 (2.6.9) = (2−1 + . . . 2−24 )×2+127 (2.6.10) ≈ (1.70141×1038 )10 (2.6.11) ǫ = 2−p = 2−24 (2.6.12) ≈ (0.596046×10−7 )10 (2.6.13) utilizando arredondamento por proximidade. 2.7. Opera¸c˜oes em ponto flutuante Dizemos que cada opera¸c˜ao em ponto flutuante (⊕ = +, −, ÷, ×) apresenta um erro da ordem do epsilon de m´aquina, fl(x ⊕ y) = x ⊕ y(1 + δ), |δ| ≤ ǫ (2.7.1) A seguir temos exemplo de adi¸c˜ao e subtra¸c˜ao em ponto flutuante. Multiplica¸c˜ao e divis˜ao s˜ao feitas de modo semelhante. Exemplo 3. Seja x = 123456.7 e y = 101.7654 e uma precis˜ao de 7 d´ıgitos. x = 1.234567×105 (2.7.2) +y = 1.017654×102 (2.7.3) x = 1.234567×105 (2.7.4) +y = 0.001017654×105 (2.7.5) − − − − − − − − − − (2.7.6) z = 1.235584654×105 (2.7.7) que ´e o valor exato. Arredondando e normalizando ˜z = 1.235585×105 (2.7.8) Erro relativo: Erel = |z − ˜z| |z| (2.7.9) = |1.235584654×105 − 1.235585×105 | |1.235584654×105| (2.7.10) ≈ 5.29304081×10−7 < 10−6 = ǫcorte (2.7.11)
  • 12. Se¸c˜ao 2.7: Opera¸c˜oes em ponto flutuante 8 Exemplo 4. Seja x = 123456.7 e y = 0.009876543 e uma precis˜ao de 7 d´ıgitos. x = 1.234567×105 (2.7.12) +y = 9.876543×10−3 (2.7.13) x = 1.234567 ×105 (2.7.14) +y = 0.00000009876543×105 (2.7.15) − − − − − − − − − − − − − (2.7.16) z = 1.23456709876543×105 (2.7.17) ˜z = 1.234567×105 (2.7.18) A adi¸c˜ao n˜ao fez nenhum efeito. 2.7.1. Cancelamento catastr´ofico Quando dois n´umeros s˜ao muito pr´oximos e uma subtra¸c˜ao ´e realizada, pode acontecer um cancelamento catastr´ofico. Exemplo 5. Considere p = 7 e os n´umeros x = 123457.1467 e y = 123456.659 com representa¸c˜oes ˜x = 123457.1 e ˜y = 123456.7. Calculando z = x − y temos: ˜x = 1.234571×105 (2.7.19) −˜y = 1.234567×105 (2.7.20) − − − − − − − − − − − − − (2.7.21) z = 0.000004×105 (2.7.22) ˜z = 4.000000×10−1 (2.7.23) O resultado verdadeiro ´e z = 4.877×10−1 , portanto um erro relativo de Erel = |4.877×10−1 − 4×10−1 | |4.877×10−1| ≈ 0.1798 . . . (2.7.24) o que fornece uma diferen¸ca relativa de 17.98%. 2.7.2. A comutatividade n˜ao ´e v´alida Opera¸c˜oes em ponto flutuante n˜ao s˜ao comutativas: (x + y) + z = (1234.567 + 45.67844) + 0.0004 (2.7.25) = (1280.245) + 0.0004 (2.7.26) = 1280.245 (2.7.27) mas x + (y + z) = 1234.567 + (45.67844 + 0.0004) (2.7.28) = 1234.567 + (45.67884) (2.7.29) = 1280.246 (2.7.30)
  • 13. Se¸c˜ao 2.7: Opera¸c˜oes em ponto flutuante 9 2.7.3. A distributividade n˜ao ´e v´alida Opera¸c˜oes em ponto flutuante n˜ao s˜ao distributivas: (x ∗ z) + (y ∗ z) = (1234.567×3.333333) + (1.234567×3.333333) (2.7.31) = (4115.223) + (4.115223) (2.7.32) = 4119.338 (2.7.33) mas (x + y) ∗ z = (1234.567 + 1.234567)×3.333333 (2.7.34) = 1235.802×3.333333 (2.7.35) = 4119.340 (2.7.36) Exerc´ıcio 2.4. C´alculos podem ser rearranjados de tal forma a reduzir alguns tipos de erros. Archimedes aproximou π calculando o per´ımetro de pol´ıgonos inscritos e circunscritos em um c´ırculo, iniciando com hex´agonos e dobrando o n´umero de lados. A f´ormula de recorrˆencia ´e t0 = 1 √ 3 (2.7.37) ti+1 = t2 i + 1 − 1 ti (2.7.38) π ≈ 6×2i ×ti, (2.7.39) Calcule a sequencia que aproxima π imprimindo as aproxima¸c˜oes e o erro relativo a cada itera¸c˜ao. Essa forma apresenta um cancelamento catastr´ofico. Reescreva a f´ormula de itera¸c˜ao e recalcule a sequˆencia. Exerc´ıcio 2.5. Escreva um algoritmo (em Matlab, Fortran ou C) que calcule o valor do epsilon de m´aquina. Rode o programa e imprima os resultados. Exerc´ıcio 2.6. Escreva um algoritmo que calcule MINR, o menor n´umero repre- sent´avel. Rode o programa e imprima os resultados. Exerc´ıcio 2.7. Sabemos do c´alculo que lim n→∞ (1 + 1 n )n = e (2.7.40) Aproxime o valor de e usando Matlab. Qual o “limite da m´aquina”? Explique. Exerc´ıcio 2.8. A constante de Euler dada por γ = .57721566490153286 . . . (2.7.41) ´e definida como o limite γ = lim n→∞ γn, (2.7.42) γn = 1 + 1 2 + 1 3 + . . . + 1 n − ln n. (2.7.43) Assumindo que γ − γn ≈ cn−d , n → ∞, para alguma constante c, d > 0, tente determinar c e d experimentalmente usando um computador.
  • 14. 10 Aula 2 e 3 . Aproxima¸c˜oes . Cunha, Bortoli et al Cap´ıtulo 3: Aproxima¸c˜oes 3.1. Aproxima¸c˜ao de ordem p Objetivo: Aproximar a fun¸c˜ao f(t) ∈ C(R) por um polinˆomio q(t) de ordem p. O polinˆomio pode ser expresso como a combina¸c˜ao linear de p polinˆomios φk(t) que formam uma base para o espa¸co polinomial, de tal forma que q(t) = c0φ0(t) + c1φ1(t) + . . . + cpφp(t). Um poss´ıvel maneira de obter tal polinˆomio ´e impor p + 1 condi¸c˜oes de compa- tibilidade, como por exemplo, podemos exigir que f(t0) = q(t0), . . . , f(tp) = q(tp). (3.1.1) Fixe a base φk(t) = tk , k = 0, . . . , p. Note que o polinˆomio q(t) que satisfaz 3.1.1 ´e ´unico e n˜ao depende da escolha da base. O problema ent˜ao torna-se encontrar q(t) = c0 + c1t + . . . + cptp ≈ f(t) tal que 3.1.1 seja satisfeito. Assim obtemos o sistema f(t0) = c0 + c1t0 + c2t2 0 + . . . + cptp 0 (3.1.2) f(t1) = c0 + c1t1 + c2t2 1 + . . . + cptp 1 (3.1.3) ... = ... (3.1.4) f(tp) = c0 + c1tp + c2t2 p + . . . + cptp p (3.1.5) que pode ser escrito na forma matricial      1 t0 . . . tp 0 1 t1 . . . tp 1 ... ... ... 1 tp . . . tp p           c0 c1 ... cp      =      f(t0) f(t1) ... f(tp)      (3.1.6) onde a matriz apresentada ´e a matriz de Vandermonde. Resolvendo o sistema obtemos os coeficientes ck para a interpola¸c˜ao polinomial. Exerc´ıcio 3.1. Fixe tk = k e monte matrizes de Vandermonde de tamanho n = 1, 2, . . ., 30 plotando um gr´afico do n´umero de condicionamento da matriz de Vander- monde com respeito a n (utilize a fun¸c˜ao cond do Matlab).
  • 15. Se¸c˜ao 3.2: Aproxima¸c˜ao em diferen¸cas finitas 11 3.2. Aproxima¸c˜ao em diferen¸cas finitas Objetivo: Obter uma discretiza¸c˜ao para a fun¸c˜ao f′ (t) em t = t∗ de ordem p. Dados p + 1 pontos [t0, t1, . . . , tp], queremos obter uma aproxima¸c˜ao para a derivada de f(t) calculada em t∗ do tipo f′ (t∗ ) ≈ c0f(t0) + c1f(t1) + . . . + cpf(tp) (3.2.1) que seja exata para polinˆomios at´e ordem p. Por exemplo, podemos aproximar a derivada de f(t) como f′ (t0) = f(t0 + h) − f(t0) h (3.2.2) = 1 h f(t1) − 1 h f(t0) (3.2.3) Seja q(t) = c0φ0(t)+c1φ1(t)+. . .+cpφp(t) o polinˆomio de ordem p que aproxima f(t). Fixe a base φk(t) = tk . Como a regra (3.2.1) deve ser exata para qualquer q(t) at´e ordem p, ent˜ao tamb´em deve ser exata para qualquer fun¸c˜ao da base. Substituindo f(t) por φ0(t) = 1 em (3.2.1) obtemos φ′ 0(t)|t∗ = (1)′ |t∗ = c0φ0(t0) + c1φ0(t1) + . . . + cpφ0(tp) (3.2.4) 0 = c0 + c1 + . . . + cp (3.2.5) Da mesma forma para k = 1, . . . , p, obtemos (t)′ t∗ = 1 = c0t0 + c1t1 + . . . + cptp (3.2.6) (t2 )′ t∗ = 2t∗ = c0t2 0 + c1t2 1 + . . . + cpt2 p (3.2.7) (t3 )′ t∗ = 3(t∗ )2 = c0t3 0 + c1t3 1 + . . . + cpt3 p (3.2.8) ... = ... (3.2.9) (tp )′ t∗ = p(t∗ )p−1 = c0tp 0 + c1tp 1 + . . . + cptp p (3.2.10) que pode ser escrito na forma matricial        1 1 . . . 1 t0 t1 . . . tp t2 0 t2 1 . . . t2 p ... ... ... tp 0 tp 1 . . . tp p               c0 c1 c2 ... cp        =        0 1 2t∗ ... p(t∗ )p−1        (3.2.11) Resolvendo o sistema obtemos os coeficientes ck para a regra de diferencia¸c˜ao. Exemplo 6. Seja p = 2, [t0, t1, t2] = [−h, 0, h] e t∗ = t1 = 0, obtenha uma regra de diferencia¸c˜ao para aproximar f′ (t∗ ).
  • 16. Se¸c˜ao 3.3: Integra¸c˜ao Num´erica, quadratura 12 Solu¸c˜ao: A regra ter´a a forma f′ (t∗ ) ≈ c0f(t0) + c1f(t1) + c2f(t2) (3.2.12) ≈ c0f0 + c1f1 + c2f2 (3.2.13) Considere a base polinomial [φ0(t), φ1(t), φ2(t)] = [1, t, t2 ] e substitua f(t) por φk(t) obtendo (1)′ t=0 = 0 = c0(1) + c1(1) + c2(1) (3.2.14) (t)′ t=0 = 1 = c0(−h) + c1(0) + c2(h) (3.2.15) (t2 )′ t=0 = 0 = c0(−h)2 + c1(0)2 + c2(h)2 (3.2.16) que pode ser escrito na forma matricial   1 1 1 −h 0 h h2 0 h2     c0 c1 c2   =   0 1 0   (3.2.17) Resolvendo o sistema obtemos [c0, c1, c2] = [− 1 2h , 0, 1 2h ] fornecendo a regra f′ |t=t1 ≈ − 1 2h f0 + 1 2h f2 (3.2.18) = f2 − f0 2h (3.2.19) Exerc´ıcio 3.2. Seja [t0, t1, t2] = [0, h, 2h] e t∗ = t0 = 0, obtenha uma regra unilateral de diferencia¸c˜ao para aproximar f′ (t0). Exerc´ıcio 3.3. Seja [t0, t1, t2] = [−h, 0, h] e t∗ = t1 = 0, obtenha uma regra de diferencia¸c˜ao para aproximar f′′ (t∗ ). Exerc´ıcio 3.4. Seja [t0, t1, . . . , t4] = [−2h, −h, 0, h, 2h] e t∗ = 0, obtenha uma regra de diferencia¸c˜ao para aproximar f′ (t∗ ). Exerc´ıcio 3.5. Seja [t0, t1, . . . , t4] = [−2h, −h, 0, h, 2h] e t∗ = 0, obtenha uma regra de diferencia¸c˜ao para aproximar f′′ (t∗ ). Exerc´ıcio 3.6. Seja [t0, t1, . . . , t4] = [0, h, 3h, 6h, 10h] e t∗ = 0, obtenha uma regra de diferencia¸c˜ao para aproximar f′ (t∗ ). 3.3. Integra¸c˜ao Num´erica, quadratura Objetivo: Obter uma regra para integra¸c˜ao para a fun¸c˜ao f(t) em [a, b] de ordem p .
  • 17. Se¸c˜ao 3.3: Integra¸c˜ao Num´erica, quadratura 13 Dados p + 1 pontos [t0, t1, . . . , tp], queremos obter uma aproxima¸c˜ao para b a f(t) dt ≈ c0f(t0) + c1f(t1) + . . . + cpf(tp) (3.3.1) que seja exata para polinˆomios at´e ordem p. Aproxime f(t) pelo polinˆomio q(t) = c0φ0(t)+c1φ1(t)+. . .+cpφp(t) de ordem p. Escolha uma base, por exemplo, φk(t) = tk . Como a regra (3.3.1) deve ser exata para qualquer q(t) at´e ordem p, ent˜ao tamb´em deve ser exata para qualquer fun¸c˜ao da base. Substituindo f(t) por φ0(t) = 1 em (3.3.1) obtemos a identidade b a φ0(t) dt = t|b a = c0φ0(t0) + c1φ0(t1) + . . . + cpφ0(tp) (3.3.2) b − a = c0 + c1 + . . . + cp (3.3.3) Da mesma forma para φk(t), k = 1, . . . , p, obtemos (t2 /2)|b a = b2 − a2 2 = c0t0 + c1t1 + . . . + cptp (3.3.4) (t3 /3)|b a = b3 − a3 3 = c0t2 0 + c1t2 1 + . . . + cpt2 p (3.3.5) ... = ... (3.3.6) bp+1 − ap+1 p + 1 = c0tp 0 + c1tp 1 + . . . + cptp p (3.3.7) que pode ser escrito na forma matricial        1 1 . . . 1 t0 t1 . . . tp t2 0 t2 1 . . . t2 p ... ... ... tp 0 tp 1 . . . tp p               c0 c1 c2 ... cp        =         b − a b2 −a2 2 b3 −a3 3 ... bp+1 −ap+1 p+1         (3.3.8) Resolvendo o sistema obtemos os coeficientes ck para a regra de integra¸c˜ao. Exemplo 7. Seja p = 2, [t0, t1, t2] = [0, h/2, h] e [a, b] = [t0, t2], obtenha uma regra de integra¸c˜ao para aproximar b a f(t) dt. Solu¸c˜ao: A regra ter´a a forma b a f(t) dt ≈ c0f(t0) + c1f(t1) + c2f(t2) (3.3.9) ≈ c0f0 + c1f1 + c2f2 (3.3.10) Considere a base polinomial [φ0(t), φ1(t), φ2(t)] = [1, t, t2 ] e substitua f(t) por φk(t)
  • 18. Se¸c˜ao 3.4: Quadratura Gaussiana 14 obtendo h 0 1 dt = h = c0(1) + c1(1) + c2(1) (3.3.11) h 0 t dt = h2 /2 = c0(0) + c1(h/2) + c2(h) (3.3.12) h 0 t2 dt = h3 /3 = c0(0)2 + c1(h/2)2 + c2(h)2 (3.3.13) que pode ser escrito na forma matricial   1 1 1 0 h/2 h 0 h2 /4 h2     c0 c1 c2   =   h h2 /2 h3 /3   (3.3.14) Resolvendo o sistema obtemos [c0, c1, c2] = [h 6 , 4h 6 , h 6 ] fornecendo a regra h 0 f(t) dt ≈ h 6 f0 + 4h 6 f1 + h 6 f2 (3.3.15) = f0 + 4f1 + f2 6 h (3.3.16) Exerc´ıcio 3.7. Seja [t0, t1, t2, t3] = [0, h/3, 2h/3, h] e [a, b] = [0, h], obtenha uma regra de integra¸c˜ao para aproximar h 0 f(t) dt. Exerc´ıcio 3.8. Uma regra que n˜ao utiliza os extremos. Seja [t1, t2, t3] = [h/4, h/2, 3h/4] e [a, b] = [0, h], obtenha uma regra de integra¸c˜ao para aproximar h 0 f(t) dt. Exerc´ıcio 3.9. Seja [t0, t1, . . . , t4] = [0, h/4, h/2, 3h/4, h] e [a, b] = [0, h], obtenha uma regra de integra¸c˜ao para aproximar h 0 f(t) dt. 3.4. Quadratura Gaussiana Objetivo: Obter uma regra para integra¸c˜ao para a fun¸c˜ao f(t) em [a, b] podendo variar a posi¸c˜ao dos n´os. Queremos encontrar a melhor posi¸c˜ao de p pontos [t1, . . . , tp] e os melhores pesos wk tal que a aproxima¸c˜ao b a f(t) dt ≈ w1f(t1) + . . . + wpf(tp) (3.4.1) possua ordem m´axima de aproxima¸c˜ao. Para obter os coeficientes cl´assicos, tome [a, b] = [−1, 1]. (Para outros intervalos, basta fazer uma mudan¸ca de intervalo na integral.)
  • 19. Se¸c˜ao 3.5: Ordem de aproxima¸c˜ao 15 Note que temos p n´os e p pesos para determinar. Portanto podemos aproximar f(t) pelo polinˆomio q(t) = c0 + c1t + . . . + cmtm onde m = 2p − 1. A regra (3.4.1) deve ser exata para qualquer φk(t) polinˆomio da base. Substituindo f(t) por φ0(t) = 1 em (3.3.1) obtemos a identidade 1 −1 φ0(t) dt = t|1 −1 = w1φ0(t1) + . . . + wpφ0(tp) (3.4.2) 2 = w1 + . . . + wp (3.4.3) Da mesma forma para φk(t), k = 1, . . . , m, obtemos (t2 /2)|1 −1 = 0 = w1t1 + . . . + wptp (3.4.4) (t3 /3)|1 −1 = 2/3 = w1t2 1 + . . . + wpt2 p (3.4.5) (t4 /4)|1 −1 = 0 = w1t3 1 + . . . + wpt3 p (3.4.6) ... = ... (3.4.7) (1)m+1 − (−1)m+1 p + 1 = w1tm 1 + . . . + wptm p (3.4.8) que ´e um sistema n˜ao linear com 2p equa¸c˜oes e inc´ognitas wk, tk, k = 1, . . . , p. Exerc´ıcio 3.10. Calcule os n´os e pesos para a quadratura de Gauss utilizando 2 n´os no intervalo [−1, 1]. Exerc´ıcio 3.11. Calcule os n´os e pesos para a quadratura de Gauss utilizando 3 n´os no intervalo [−1, 1]. 3.5. Ordem de aproxima¸c˜ao Considere a defini¸c˜ao da derivada de f(x) como f′ (x) ≈ f(x + h) − f(x) h (3.5.1) Se f ´e linear (f(x) = ax + b), ent˜ao a equa¸c˜ao acima ´e exata. Caso contr´ario a aproxima¸c˜ao possui um erro. Expandindo em s´erie de Taylor temos, f(x + h) = f(x) + hfx(x) + h2 2 fxx(x) + O(h3 ) (3.5.2) A nota¸c˜ao f(x) = O(g(x)) quando x → a significa que |f(x)| ≤ C|g(x)| (3.5.3) para uma constante C (normalmente consideramos x → 0 ou x → ∞). Isolando fx(x) na s´erie de Taylor obtemos f′ (x) = f(x + h) − f(x) h − h 2 fxx(x) + O(h2 ) (3.5.4) = f(x + h) − f(x) h + O(h) (3.5.5) Quando h → 0, o erro na aproxima¸c˜ao ´e da ordem h.
  • 20. Se¸c˜ao 3.5: Ordem de aproxima¸c˜ao 16 Exerc´ıcio 3.12. Para a fun¸c˜ao f(x) = sin(x), aproxime f′ (1) utilizando a derivada pra frente para valores h = 10−1 , 10−2 , 10−3 , . . .. Plote o erro relativo na aproxima¸c˜ao na escala logar´ıtmica, utilizando o comando loglog. Use h no eixo x e o erro relativo Er(h) no eixo y. Identifique a ordem 1 do m´etodo na curva plotada e explique o que acontece no gr´afico. Exerc´ıcio 3.13. Obtenha a express˜ao para o erro da derivada central f′ (x) ≈ f(x+h)−f(x−h) 2h , utilizando a s´erie de Taylor. Repita o exerc´ıcio anterior utilizando derivada central. Iden- tifique a ordem do m´etodo no gr´afico. 3.5.1. Integra¸c˜ao Exemplo 8. Aproxime π 0 sin(x)dx utilizando 10 subintervalos iguais e a regra trapezoidal xi+1 xi f(t) dt ≈ fi + fi+1 2 h (3.5.6) . Aproxime tamb´em para 102 , 103 , 104 intervalos. Solu¸c˜ao: Note que h = π−0 10 = π 10 . %------------------------ function [S]=trapezio(N) h = (pi-0)/N % subintervalos x = 0:h:pi; % dominio f = sin(x); S = 0; % Inicia com 0 for i=1:N-1 ds = h*(f(i)+f(i+1))/2; % subarea S = S + ds; % acumula end end %------------------------ Rode T(1)=trapezio(10) T(2)=trapezio(100) T(3)=trapezio(1000) T(4)=trapezio(10000) semilogy(T) Exerc´ıcio 3.14. Aproxime π 0 sin(x)dx utilizando N subintervalos iguais e a regra de Simpson xi+2 xi f(t) dt ≈ fi + 4fi+1 + fi+2 6 h (3.5.7)
  • 21. 17 . Aproxime tamb´em para N = 102 , 103 , 104 intervalos. (Note que em cada subintervalo existem 3 n´os consecutivos, fazendo com que o for pule de 2 em 2 n´os. Por quˆe?) Plote o erro na escala logar´ıtmica em y. Exerc´ıcio 3.15. Aproxime π 0 sin(x)dx utilizando N subintervalos iguais e a uma quadratura de Gauss com 2 n´os em cada subintervalo (veja como obter os n´os na se¸c˜ao anterior ou na literatura). Note que os n´os devem ser transladados para o subintervalo j´a que eles s˜ao fornecidos no intervalo (−1, 1). Aproxime tamb´em para N = 102 , 103 , 104 intervalos. Plote o erro na escala logar´ıtmica em y. Aula 4 e 5 . Equa¸c˜oes Diferenciais Ordin´arias e M´etodo de Euler . Butcher, Iserles Cap´ıtulo 4: Equa¸c˜oes Diferenciais Ordin´arias Bibliografia: Cap.1 [5], Sec.11,20,21,22 e [1] Objetivo: Resolver ou aproximar a solu¸c˜ao de uma equa¸c˜ao dife- rencial ordin´aria (EDO). Considere a EDO de 1.a ordem, u′ (t) = f(t, u(t)) (4.0.1) u(t0) = a (4.0.2) onde u(t) : R → R, e u(t0) = a ´e chamada de condi¸c˜ao inicial, e o problema ´e chamado de Problema de Valor Inicial (PVI). Usando a mesma terminologia podemos representar fun¸c˜oes vetoriais, i.e., caso u(t) ∈ RN , u′ (t) = f(t, u(t)) (4.0.3) u(t0) = a (4.0.4)
  • 22. 18 onde u(t) = [u1(t), u2(t), . . . , uN (t)] : R → RN e a = [a1, . . . , aN ] ∈ RN . Ou seja, u′ 1(t) = f1(t, u1(t), . . . , uN (t)) (4.0.5) u′ 2(t) = f2(t, u1(t), . . . , uN (t)) (4.0.6) ... = ... (4.0.7) u′ N (t) = fN (t, u1(t), . . . , uN (t)) (4.0.8) e condi¸c˜oes iniciais u1(t0) = a1 (4.0.9) u2(t0) = a2 (4.0.10) ... = ... (4.0.11) uN (t0) = aN (4.0.12) Note que dependendo do problema, podemos ter condi¸c˜oes de contorno. Exemplo 9. du dt = t (4.0.13) u(0) = a (4.0.14) Exemplo 10. du dt = u (4.0.15) u(0) = a (4.0.16) Exemplo 11. du dt = u + t (4.0.17) u(0) = a (4.0.18) Exemplo 12. du dt = sin(u2 + sin(t)) (4.0.19) u(0) = a (4.0.20)
  • 23. Se¸c˜ao 4.1: Teoria de equa¸c˜oes diferenciais 19 Exemplo 13. du1 dt = u2 (4.0.21) du2 dt = −u1/(u2 + u3) (4.0.22) du3 dt = u2 + t (4.0.23) u1(0) = 4 (4.0.24) u2(0) = 5 (4.0.25) u3(0) = 6 (4.0.26) Exemplo 14. Modelo presa-predador (Lotka-Volterra) u′ = u(2 − v) (4.0.27) v′ = v(u − 1) (4.0.28) Exerc´ıcio 4.1. Dado o problema de valor inicial u′′′ − 3u′′ + 2uu′ = 0, u(l) = 2, u′ (l) = −1, u′′ (l) = 4, (4.0.29) mostre como reformular este problema na forma y′ = f(y), y(t0) = y0 (4.0.30) onde y(t) = [y1(t), y2(t), y3(t)], f : R3 − > R3 . Exerc´ıcio 4.2. Considere o PVI n˜ao autˆonomo, u′ = tu + t2 v, u(0) = 3, (4.0.31) v′ = u − v + 2tw, v(0) = 2, (4.0.32) w′ = u + v 1 + t w(0) = 5. (4.0.33) Reescreva-o como um problema autˆonomo (sem dependˆencia expl´ıcita na vari´avel inde- pendente t). 4.1. Teoria de equa¸c˜oes diferenciais Uma quest˜ao fundamental em matem´atica aplicada ´e analisar se um modelo matem´atico dado por um PVI ´e ´util para predizer o comportamento temporal do objeto de estudo. Ou seja, o problema proposto ´e bem posto(well-posed)? Dividindo a pergunta em trˆes partes: • Existe uma solu¸c˜ao para o PV I? • A solu¸c˜ao ´e ´unica? • Qu˜ao sens´ıvel ´e a solu¸c˜ao a pequenas perturba¸c˜oes nas condi¸c˜oes iniciais?
  • 24. 20 Defini¸c˜ao 4.1.1. A fun¸c˜ao f : [a, b]×RN → RN ´e Lipschitz (na segunda vari´avel) se ∃ constante L, tal que ∀t ∈ [a, b] e u, v ∈ RN , f(·, u) − f(·, v) ≤ L u − v . Defini¸c˜ao 4.1.2. Seja (M, ρ) um espa¸co m´etrico com m´etrica ρ. A fun¸c˜ao φ : M → M ´e dita uma contra¸c˜ao se ∃k, 0 ≤ k < 1 tal que ∀ζ, η ∈ M, ρ(φ(η), φ(ζ)) ≤ kρ(η, ζ). (4.1.1) Lema 4.1.3. Seja (M, ρ) um espa¸co m´etrico completo e φ : M → M uma con- tra¸c˜ao. Ent˜ao ∃!ξ ∈ M tal que φ(ξ) = ξ. Teorema 4.1.4. Seja f : [a, b]×RN → RN cont´ınua na primeira vari´avel e Lips- chitz na segunda vari´avel. Ent˜ao ∃ uma ´unica solu¸c˜ao para o PVI u′ (t) = f(t, u(t)) (4.1.2) u(t0) = a. (4.1.3) Veja a prova em Butcher. 4.1.1. Dependˆencia na condi¸c˜ao inicial Se u(t) e v(t) s˜ao solu¸c˜oes do PVI com f Lipschitz com u(t0) = u0, v(t0) = v0, ent˜ao d dt u(t) − v(t) ≤ L u(t) − v(t) Multiplicando por e−Lt , d dt (e−Lt u(t) − v(t) ) ≤ 0 implicando que u(t) − v(t) ≤ eL(t−t0) u0 − v0 . Cap´ıtulo 5: M´etodo de Euler Seja o PVI u′ (t) = f(t, u(t)) (5.0.1) u(t0) = a (5.0.2) Ao inv´es de solucionar o problema para qualquer t > t0, (achar u(t)), iremos aproximar u(t) em t1 = t0 + h. Integre (5.0.1) de t0 at´e t1 e obtenha: t1 t0 u′ (t) dt = t1 t0 f(t, u(t)) dt (5.0.3) u(t1) − u(t0) = t1 t0 f(t, u(t)) dt (5.0.4)
  • 25. 21 Supondo f(t, u(t)) ≈ f(t0, u(t0)) (constante) no intervalo pequeno, u(t1) − u(t0) ≈ f(t0, u(t0)) t1 t0 dt (5.0.5) u(t1) ≈ u(t0) + f(t0, u(t0)) t1 t0 dt (5.0.6) u(t1) ≈ u(t0) + f(t0, u(t0))(t1 − t0) (5.0.7) u(t1) ≈ u(t0) + hf(t0, u(t0)) (5.0.8) Para simplificar a nota¸c˜ao, denote por un ≡ u(tn) a solu¸c˜ao aproximada em tn e temos u1 ≈ u0 + hf(t0, u0) (5.0.9) Este procedimento pode ser estendido para t2, t3, . . ., onde tn+1 = tn + h = t0 + nh, n = 1, 2, . . . obtendo o m´etodo de Euler, M´etodo de Euler un+1 = un + h f(tn, un) (5.0.10) para n = 0, 1, 2 . . .. (Note que o passo h ´e constante, entretanto poderia ser vari´avel: hn = tn − tn−1.) Exemplo 15. Aproxime a solu¸c˜ao do PVI du dt = −0.5u + 2 + t (5.0.11) u(0) = 8 (5.0.12) Teste para h = 1.6, 0.8, 0.4, 0.2, 0.1. Note que a solu¸c˜ao exata do problema ´e u(t) = 2t + 8e−t/2 (5.0.13) Itere a f´ormula un+1 = un + h(−0.5un + 2 + tn), u0 = 3 (5.0.14) atrav´es do c´odigo abaixo: %--------------------------- function [u,t]=euler(h,Tmax) u(1)= 8; t(1)= 0; itmax = Tmax/h; for n=1:itmax t(n+1)= t(n) + h;
  • 26. 22 0 1 2 3 4 5 6 6.5 7 7.5 8 8.5 9 9.5 10 10.5 11 Solucao do PVI t u u(n+1)= u(n) + h*(-0.5*u(n)+2+t(n)); exata(n+1)= 2*t(n+1)+8*exp(-t(n+1)/2); erro(n+1) = abs(exata(n+1)-u(n+1))/abs(exata(n+1)); end figure(1); plot(t,u,’g*-’); title(’Solucao do PVI’) xlabel(’t’);ylabel(’u’); hold on figure(2); plot(t,erro,’b*-’); title(’Erro’); hold on %--------------------------- Veja abaixo a solu¸c˜ao para h = 1, 0.5, 0.1, 0.05: Exerc´ıcio 5.1. Aproxime a solu¸c˜ao do PVI du dt = sin t (5.0.15) u(0) = 1 (5.0.16) para t ∈ [0, 10]. a. Plote a solu¸c˜ao para h = 0.16, 0.08, 0.04, 0.02, 0.01. b. Utilizando a solu¸c˜ao exata, plote um gr´afico do erro em escala logar´ıtmica. Co- mente os resultados.
  • 27. Se¸c˜ao 5.1: Erro de truncamento 23 c. Para t = 10, qual a rela¸c˜ao entre o erro e h (erro = f(h)). Comente. Exerc´ıcio 5.2. Aproxime a solu¸c˜ao do PVI du dt = t2 1 − u2 (5.0.17) u(0) = 0 (5.0.18) para t > 0. a. Plote a solu¸c˜ao para h = 0.5 e t ∈ [0, 20]. b. Tente aproximar melhor a solu¸c˜ao diminuindo h. c. Note que existe T∗ tal que a solu¸c˜ao deixa de existir para t > T∗. Forne¸ca uma justificativa para este fato e encontre T∗. 5.1. Erro de truncamento Sendo u(tn) a solu¸c˜ao exata em tn e un a solu¸c˜ao aproximada, defina o erro num´erico como en = un − u(tn). Expandindo em s´erie de Taylor u(tn+1) = u(tn) + hu′ (tn) + h2 u′′ (tn)/2 + O(h3 ) (5.1.1) e utilizando a equa¸c˜ao diferencial, u(tn+1) = u(tn) + hf(tn, un) + h2 u′′ (tn)/2 + O(h3 ) (5.1.2) Subtraindo (5.1.2) do m´etodo de Euler un+1 = un + h f(tn, un) (5.1.3) temos un+1 − u(tn+1) =un − u(tn) (5.1.4) + h(f(tn, u(tn) + en) − f(tn, u(tn))) + O(h2 ) (5.1.5) en+1 =en + h(f(tn, u(tn) + en) − f(tn, u(tn))) + O(h2 ) (5.1.6) Usando a condi¸c˜ao de Lipschitz em f temos en+1 ≤ en + h f(tn, u(tn) + en) − f(tn, u(tn)) + ch2 (5.1.7) ≤ en + hL u(tn) + en − u(tn) + ch2 (5.1.8) ≤ en + hL en + ch2 (5.1.9) ≤ (1 + hL) en + ch2 (5.1.10) 5.1.1. Erro de truncamento Local O Erro de Truncamento Local ´e o erro cometido em uma itera¸c˜ao do m´etodo num´erico supondo que a solu¸c˜ao exata ´e conhecida no passo anterior. Assim, supondo que a solu¸c˜ao ´e exata em tn, obtemos que o ETL ´e ET Ln+1 Euler = h2 /2 u′′ (tn) + O(h3 )
  • 28. Se¸c˜ao 5.1: Erro de truncamento 24 5.1.2. Erro de truncamento Global Seja T = tn+1 − t0 = h(n + 1), temos dois casos: se L = 0 ent˜ao en+1 ≤ en + ch2 (5.1.11) ≤ en−1 + ch2 + ch2 (5.1.12) ≤ en−2 + ch2 + ch2 + ch2 (5.1.13) ≤ . . . (5.1.14) ≤ e0 + (n + 1)ch2 (5.1.15) ≤ e0 + T ch (5.1.16) e se L = 0 ent˜ao en+1 ≤ (1 + hL) en + ch2 (5.1.17) en+1 + ch/L ≤ (1 + hL) en + ch/L + ch2 (5.1.18) en+1 + ch/L ≤ (1 + hL) en + (1 + hL)ch/L (5.1.19) en+1 + ch/L ≤ (1 + hL)( en + ch/L) (5.1.20) en+1 + ch/L ≤ (1 + hL)n+1 ( e0 + ch/L) (5.1.21) en+1 + ch/L ≤ e(n+1)hL ( e0 + ch/L) (5.1.22) en+1 ≤ eT L ( e0 + ch/L) − ch/L (5.1.23) en+1 ≤ eT L e0 + eT L ch/L − ch/L (5.1.24) en+1 ≤ eT L e0 + (eT L − 1)ch/L (5.1.25) O Erro de Truncamento Global ´e o erro cometido durante v´arias itera¸c˜oes do m´etodo num´erico. Supondo que a solu¸c˜ao exata ´e conhecida em t0, temos e0 = 0 e ET G ´e ET Gn+1 Euler = O(h) 5.1.3. Convergˆencia Um m´etodo ´e dito convergente se para toda EDO com f Lipschitz e todo T > 0 temos que lim h−>0 max ∀n un − u(tn) = 0 Convergˆencia significa que a solu¸c˜ao num´erica tende a solu¸c˜ao verdadeira Teorema 5.1.1. O m´etodo de Euler ´e convergente. Supondo que o erro em t0 ´e zero temos ∀T > t0 e f Lipschitz lim h−>0 en+1 = lim h−>0 (eT L − 1)ch/L = 0 (5.1.26) O m´etodo de Euler possui ET L = O(h2 ) e ´e um m´etodo de ordem 1.
  • 29. Se¸c˜ao 5.2: A regra do trap´ezio 25 5.1.4. Paradoxo da ordem Cont´ınuo: u(t) resolve exatamente u′ (t) = f(t, u(t)). Discreto: un+1 resolve exatamente un+1 = F(f, t, un, . . . , u0). Por´em un+1 resolve aproximadamente u′ (t) = f(t, u(t)), ou seja, un+1 − u(tn) = O(hp+1 ). u(t) resolve aproximadamente u(tn+1) − F(f, t, u(tn), . . . , u(t0)) = O(hp+1 ). Alternativamente, um m´etodo ´e chamado de ordem p se recupera exatamente toda solu¸c˜ao polinomial de ordem p. Sob certas condi¸c˜oes, como ET L = O(hp+1 ), quando o n´umero de passos aumenta como O(n) = O(h−1 ) temos que ET G = O(hp ). 5.2. A regra do trap´ezio O m´etodo de Euler aproxima f como uma constante f(t0, u0) no intervalo [t0, t1]. Podemos melhorar isso usando a regra do trap´ezio, u(t1) = u(t0) + t1 t0 f(t, u(t)) dt (5.2.1) u(t1) ≈ u(t0) + (t1 − t0 1 2 f(t0, u(t0)) + 1 2 f(t1, u(t1)) (5.2.2) motivando o m´etodo trapezoidal un+1 = un + h 2 (f(tn, un) + f(tn+1, un+1)) (5.2.3) O erro de truncamento local ´e ET Ln+1 T rap = O(h3 ) portanto o m´etodo ´e de ordem 2. Pode ser mostrado que o erro de truncamento global ´e ET Gn+1 T rap = O(h2 )
  • 30. Se¸c˜ao 5.3: O m´etodo theta 26 (entretanto n˜ao deve se concluir que ET G = ET L/h) O m´etodo trapezoidal ´e dito impl´ıcito, pois para obter un+1 ´e necess´ario calcular f(tn+1, un+1). Para resolver esse problema devemos resolver a equa¸c˜ao para un+1 (ou ainda um sistema alg´ebrico de equa¸c˜oes). Inspirado no m´etodo anterior, ao inv´es de aproximar u′ (t) ≈ 1 2 [f(tn, un) + f(tn+1, un+1)] (5.2.4) podemos aproximar u′ (t) ≈ f(tn + h 2 , 1 2 (un + un+1)). (5.2.5) levando ao m´etodo do ponto m´edio un+1 = un + hf(tn + h 2 , 1 2 (un + un+1)). (5.2.6) Exerc´ıcio 5.3. Mostre que o m´etodo do ponto m´edio ´e convergente e de ordem 2. 5.3. O m´etodo theta Tanto o m´etodo de Euler quanto o m´etodo trapezoidal se encaixam no m´etodo un+1 = un + h(θf(tn, un) + (1 − θ)f(tn+1, un+1)) (5.3.1) com θ = 1 e θ = 1 2 respectivamente. O m´etodo ´e expl´ıcito somente para θ = 1. Para θ = 0, temos um m´etodo impl´ıcito de primeira ordem chamado m´etodo de Euler impl´ıcito un+1 = un + hf(tn+1, un+1). (5.3.2) Exerc´ıcio 5.4. O sistema linear u′ = Au, u(0) = u0, onde A ´e uma matriz sim´etrica ´e resolvido pelo m´etodo de Euler. a. Seja en = un − u(nh), n = 0, 1, . . ., prove que en 2 ≤ u0 2 max λ∈σ(A) |(1 + hλ)n − enhλ |, (5.3.3) onde σ(A) ´e o conjunto dos autovalores de A e · 2 ´e a norma euclidiana. b. Demonstre que para −1 ≪ x ≤ 0 e n = 0, 1, . . . ´e v´alida a express˜ao enx − 1 2 nx2 e(n−1)x ≤ (1 + x)n ≤ enx . (5.3.4) (Dica: Prove que 1 + x ≤ ex , 1 + x + 1 2 x2 ≥ ex , para todo x ≤ 0 e argumente que, se |a − 1| e |b| s˜ao pequenos, ´e verdade que (a − b)n ≥ an − nan−1 b.
  • 31. Se¸c˜ao 5.4: O m´etodo de Taylor 27 c. Suponha que o maior autovalor de A ´e λmax < 0. Prove que, quando h− > 0 e nh− > t ∈ [0, t∗ ], en 2 ≤ 1 2 tλ2 maxeλmaxt u0 2h ≤ 1 2 t∗ λ2 max u0 2h (5.3.5) 5.4. O m´etodo de Taylor Uma maneira simples de aumentar a ordem do m´etodo ´e utilizar diretamente a s´erie de Taylor. Considere a expans˜ao u(t + h) = u(t) + hu′ (t) + h2 2! u′′ (t) + h3 3! u′′′ (t) + . . . (5.4.1) Utilizando dois termos temos o m´etodo de Euler. Utilizando os trˆes primeiros termos da s´erie e substituindo u′ (t) = f(t, x) e u′′ (t) = ft(t, x) temos o m´etodo de Taylor de ordem 2 un+1 = un + hf(tn, un) + h2 2! ft(tn, un) (5.4.2) m´etodo de Taylor de ordem 3 un+1 = un + hf(tn, un) + h2 2! ft(tn, un) + h3 3! ftt(tn, un) Exerc´ıcio 5.5. Aproxime a solu¸c˜ao do PVI du dt = sin t (5.4.3) u(0) = 1 (5.4.4) para t ∈ [0, 10]. a. Plote a solu¸c˜ao para h = 0.16, 0.08, 0.04, 0.02, 0.01 para o m´etodo de Taylor de ordem 1, 2 e 3. (Plote todos de ordem 1 no mesmo gr´afico, ordem 2 em outro gr´afico e ordem 3 outro gr´afico separado.) b. Utilizando a solu¸c˜ao exata, plote um gr´afico do erro em escala logar´ıtmica. Co- mente os resultados (novamente, em cada gr´afico separado para cada m´etodo repita os valores acima) c. Fixe agora o valor h = 0.02 e plote no mesmo gr´afico uma curva para cada m´etodo. d. Plote em um gr´afico o erro em t = 10 para cada um dos m´etodos (uma curva para cada ordem) a medida que h diminui. (Use escala loglog) Exerc´ıcio 5.6. Aproxime a solu¸c˜ao do modelo presa-predador (Lotka-Volterra) x′ = x(2 − y), x(0) = 1 (5.4.5) y′ = y(x − 1), y(0) = 1 (5.4.6)
  • 32. 28 utilizando o m´etodo de Euler. Escolha apropriadamente h e ilustre graficamente a convergˆencia. Plote solu¸c˜oes no plano de fase (plano xy). Exerc´ıcio 5.7. Aproxime a solu¸c˜ao do PVI du dt = cos(t + u) 1 + u2 (5.4.7) u(0) = 0 (5.4.8) utilizando o m´etodo do trap´ezio. Escolha apropriadamente h e ilustre graficamente a convergˆencia. Para resolver o m´etodo impl´ıcito, utilize por exemplo itera¸c˜ao de ponto fixo ou o m´etodo de Newton. a. Plote a solu¸c˜ao para diferentes valores de h. b. Para h = 0.01 e T = 10 conte o n´umero total de itera¸c˜oes necess´arias de cada passo do m´etodo impl´ıcito para obter a solu¸c˜ao usando uma tolerˆancia de 10−15 na solu¸c˜ao do problema impl´ıcito. c. Repita o exerc´ıcio anterior com h = 0.01, T = 10 e tolerˆancia de 10−8 . d. Repita o exerc´ıcio anterior com h = 0.01, T = 10 e tolerˆancia de 10−4 . e. Repita o exerc´ıcio anterior utilizando o m´etodo de Euler com diferentes valores de h, at´e T = 10 de tal forma que a solu¸c˜ao seja t˜ao pr´oxima da solu¸c˜ao do m´etodo do trap´ezio quanto poss´ıvel. Conte as itera¸c˜oes necess´arias para obter a solu¸c˜ao com o m´etodo de Euler com o mesmo erro que o m´etodo do trap´ezio. f. Compare, para esse exerc´ıcio, o m´etodo de Euler e o do trap´ezio. Aula 6 e 7 . M´etodos de passo m´ultiplo . Butcher, Iserles Cap´ıtulo 6: M´etodos de Passo M´ultiplo Bibliografia: Cap.2 [5], e Sec.24 [1]. Seja a EDO u′ (t) = f(t, u(t)) (6.0.1) u(t0) = a (6.0.2)
  • 33. Se¸c˜ao 6.1: O m´etodo de Adams-Bashforth 29 Integrando a EDO em [tn+1, tn] obtemos un+1 = un + tn+1 tn f(t, u(t)) dt (6.0.3) Denote por fn ≡ f(tn, un). Um m´etodo de passo simples utiliza fn+1 e fn. Um m´etodo de passo m´ultiplo utiliza tamb´em s valores anteriores j´a calculados como fn−1, fn−2, . . . , fn−s, onde s ≥ 1 inteiro. un+1 = un + h[bsfn+1 + bs−1fn + . . . + b1fn−s+2 + b0fn−s+1] (6.0.4) Para conformidade com [5], translade s − 1 ´ındices, un+s = un+s−1 + h[bsfn+s + bs−1fn+s−1 + . . . + b1fn+1 + b0fn] (6.0.5) e teremos un+s = un+s−1 + h s m=0 bmfn+m (6.0.6) De forma geral um m´etodo de passo m´ultiplo ser´a s m=0 amun+m = h s m=0 bmfn+m (6.0.7) 6.1. O m´etodo de Adams-Bashforth Quando as = 1, as−1 = −1, am = 0 para m = s − 2, . . . , 0, bs = 0 temos um m´etodo de Adams-Bashforth do tipo un+s = un+s−1 + h s−1 m=0 bmfn+m (6.1.1) Note que os m´etodos de Adams-Bashforth s˜ao expl´ıcitos pois bs = 0. Exemplo 16. Vamos obter o m´etodo de Adams-Bashforth para s = 4 como un+4 = un+3 + tn+4 tn+3 f(t, u(t)) dt (6.1.2) un+4 = un+3 + h 3 m=0 bmfn+m (6.1.3) un+4 = un+3 + h[b3fn+3 + b2fn+2 + b1fn+1 + b0fn] (6.1.4) Para isso devemos obter [b3, b2, b1, b0] tal que o m´etodo seja exato para polinˆomios at´e ordem 3. Podemos obter esses coeficientes de maneira an´aloga a obter os coeficientes de um m´etodo para integra¸c˜ao como em 3.1.
  • 34. Se¸c˜ao 6.1: O m´etodo de Adams-Bashforth 30 Supondo que os n´os tk estejam igualmente espa¸cados, e para facilidade dos c´alculos, como o intervalo de integra¸c˜ao ´e [tn+3, tn+4], translade tn+3 para a origem tal que [tn, tn+1, . . . , tn+4] = [−3h, −2h, −h, 0, h]. Considere a base [φ0(t), . . . , φ3(t)] = [1, t, t2 , t3 ] e substitua f(t) por φk(t) ob- tendo h 0 1 dt = h = h(b0(1) + b1(1) + b2(1) + b3(1)) h 0 t dt = h2 2 = h(b0(0) + b1(−h) + b2(−2h) + b3(−3h)) h 0 t2 dt = h3 3 = h(b0(0)2 + b1(−h)2 + b2(−2h)2 + b3(−3h)2 ) h 0 t3 dt = h4 4 = h(b0(0)3 + b1(−h)3 + b2(−2h)3 + b3(−3h)3 ) que pode ser escrito na forma matricial     1 1 1 1 0 −1 −2 −3 0 1 4 9 0 −1 −8 −27         b0 b1 b2 b3     =     1 1/2 1/3 1/4     (6.1.5) Resolvendo o sistema obtemos [b0, b1, b2, b3] = [− 9 24 , 37 24 , − 59 24 , 55 24 ] fornecendo o m´etodo de Adams-Bashforth de 4 est´agios un+4 = un+3 + h 24 [55fn+3 − 59fn+2 + 37fn+1 − 9fn] (6.1.6) Dica: Para encontrar coeficientes no formato fracion´ario utilize format rat no Matlab. Exerc´ıcio 6.1. Mostre que o m´etodo de Adams-Bashforth para s = 2 ´e dado por un+2 = un+1 + h 2 [3fn+1 − fn] (6.1.7) Exerc´ıcio 6.2. Mostre que o m´etodo de Adams-Bashforth para s = 3 ´e dado por un+3 = un+2 + h 12 [23fn+2 − 16fn+1 + 5fn] (6.1.8)
  • 35. Se¸c˜ao 6.2: Ordem e convergˆencia de m´etodos de passo m´ultiplo 31 6.1.1. C´odigo %--------------------------- function [u]=adamsbashforth3(h,itmax) t(1)=0; u(1)=2; f(1)= func( t(1), u(1) ); t(2)=t(1)+h; u(2)=u2; f(2)= func( t(2), u(2) ); t(3)=t(2)+h; u(3)=u3; f(3)= func( t(3), u(3) ); for n=3:itmax t(n+1)= t(n) + h; u(n+1)= u(n) + h/12*(23*f(n)-16* f(n-1) +5*f(n-2)); f(n+1)= func( t(n+1), u(n+1) ); end end %--------------------------- function [fu]=func(t,u) fu = u+t end %--------------------------- Note a defini¸c˜ao da fun¸c˜ao f em na fun¸c˜ao func. 6.2. Ordem e convergˆencia de m´etodos de passo m´ultiplo Mais geralmente, um m´etodo de passo m´ultiplo ser´a da forma s m=0 amun+m = h s m=0 bmfn+m (6.2.1) Por conven¸c˜ao normalizamos a equa¸c˜ao acima tomando as = 1. Quando bs = 0 temos um m´etodo expl´ıcito e quando bs = 0 temos um m´etodo impl´ıcito. O m´etodo ser´a de ordem p se o ET L(u(t)) = ψ(u(t)) = O(hp+1 ) para u(t) suficientemente suave, ou ainda, a solu¸c˜ao exata resolve aproximadamente (6.2.1), tal que, ψ(u(t)) := s m=0 amu(t + mh) − h s m=0 bmu′ (t + mh) (6.2.2) =O(hp+1 ), h → 0 (6.2.3) Dois polinˆomios s˜ao usados para estudar o m´etodo (6.2.1): ρ(w) = s m=0 amwm , σ(w) = s m=0 bmwm , (6.2.4) Teorema 6.2.1. O m´etodo de passo m´ultiplo ´e de ordem p ≥ 1 se e somente se ρ(w) − σ(w) ln w = O(|w − 1|p+1 ) w → 1
  • 36. Se¸c˜ao 6.2: Ordem e convergˆencia de m´etodos de passo m´ultiplo 32 Demonstra¸c˜ao. Expandindo u(t + mh) e u′ (t + mh) como s´erie de Taylor, u(t + mh) = ∞ k=0 u(k) (t) k! mk hk (6.2.5) u′ (t + mh) = ∞ k=0 u(k+1) (t) k! mk hk (6.2.6) u′ (t + mh) = ∞ k=1 u(k) (t) (k − 1)! mk−1 hk−1 (6.2.7) Assumindo que u(t) ´e anal´ıtica temos ψ(u(t)) = s m=0 amu(t + mh) − h s m=0 bmu′ (t + mh) = s m=0 am ∞ k=0 u(k) (t) k! mk hk − h s m=0 bm ∞ k=1 u(k) (t) (k − 1)! mk−1 hk−1 =( s m=0 am)u(t) + ∞ k=1 s m=0 am u(k) (t) k! mk hk − hbm u(k) (t) (k − 1)! mk−1 hk−1 =( s m=0 am)u(t) + ∞ k=1 u(k) (t) k! hk s m=0 (ammk − bmkmk−1 ) Para o m´etodo ser de ordem p ´e necess´ario e suficiente que todos termos at´e ordem hp sejam zero, ou seja, s m=0 am = 0 (6.2.8) s m=0 (ammk − bmkmk−1 ) = 0, k = 1, . . . , p (6.2.9) Por outro lado, fazendo w = ez (quando z− > 0 temos w− > 1), e expan-
  • 37. Se¸c˜ao 6.2: Ordem e convergˆencia de m´etodos de passo m´ultiplo 33 dindo em s´erie de Taylor ρ(ez ) − zσ(ez ) = s m=0 amemz − z s m=0 bmemz (6.2.10) = s m=0 (am − zbm)emz (6.2.11) = s m=0 (am − zbm)( ∞ k=0 mk zk k! ) (6.2.12) = ∞ k=0 zk k! s m=0 ammk − zbmmk (6.2.13) = ∞ k=0 zk k! s m=0 ammk − bmkmk−1 (6.2.14) Temos ent˜ao que ρ(ez ) − zσ(ez ) = O(zp+1 ), z− > 0 (6.2.15) ρ(w) − ln wσ(w) = O(|w − 1|p+1 ), w− > 1 (6.2.16) se e somente se o m´etodo ´e de ordem p, ou seja, as condi¸c˜oes (6.2.8) s˜ao v´alidas. 6.2.1. Convergˆencia de m´etodos de passo m´ultiplo Alternativamente, ψ(u(t)) = O(hp+1 ) para u(t) arbitr´aria se e somente se ψ(q(t)) = 0 ∀q(t) ∈ Pp . Isto ´e equivalente a ψ(φk(t)) = 0 para a base polinomial φk(t) = tk , k = 0, . . . , p. Por exemplo, para φ0(t) = 1 obtemos ψ(φ0) = s m=0 amψ0(t + mh) − h s m=0 bmψ′ 0(t + mh) (6.2.17) = s m=0 am = 0 (6.2.18) e para ψk(t) = tk , obtemos ψ(φk) = s m=0 amψk(t + mh) − h s m=0 bmψ′ k(t + mh) (6.2.19) = s m=0 am(mh)k − h s m=0 bmk(mh)k−1 (6.2.20) = hk s m=0 ammk − bmkmk−1 (6.2.21) (6.2.22)
  • 38. Se¸c˜ao 6.2: Ordem e convergˆencia de m´etodos de passo m´ultiplo 34 que ´e igual a zero para k = 1, . . . , p sob a condi¸c˜ao (6.2.8). Exemplo 17. Considere o m´etodo (6.1.7) de Adams-Bashforth de ordem 2. un+2 = un+1 + h 2 [3fn+1 − fn] (6.2.23) Podemos calcular (fa¸ca ξ = w − 1), ρ(w) − σ(w) ln w = (w2 − w) − ( 3 2 w − 1 2 ) ln w (6.2.24) = (ξ2 + ξ) − (1 + 3 2 ξ)(ξ − 1 2 ξ2 + 1 3 ξ3 + . . .) (6.2.25) = 5 12 ξ3 + O(ξ4 ) (6.2.26) o qual valida a ordem 2 para o m´etodo. Exerc´ıcio 6.3. Verifique que o m´etodo (6.1.8) de Adams-Bashforth para s = 3 ´e realmente de ordem 3. Exerc´ıcio 6.4. Verifique que o m´etodo (6.1.6) de Adams-Bashforth para s = 4 ´e realmente de ordem 4. Exerc´ıcio 6.5. Verifique que o m´etodo un+2 − 3un+1 + 2un = h 12 [13fn+2 − 20fn+1 − 5fn] (6.2.27) possui ordem 2, por´em n˜ao ´e convergente (sem usar o pr´oximo teorema). (Dica: use a EDO u′ (t) = 0, u(0) = 1). 6.2.2. Teorema de equivalˆencia de Dahlquist Dizemos que um polinˆomio obedece a condi¸c˜ao da raiz se todas suas ra´ızes possuem |z| ≤ 1 e as ra´ızes com |z| = 1 s˜ao simples. Teorema 6.2.2 (Teorema de equivalˆencia de Dahlquist). Suponha que o erro em u1, . . . , us−1 tende a zero quando h− > 0. O m´etodo de passo m´ultiplo ´e convergente se e somente se o erro ´e de ordem p ≥ 1 e ρ(z) obedece a condi¸c˜ao da raiz. Por exemplo o m´etodo (6.2.27) possui ρ(w) = (w − 1)(w − 2) (6.2.28) violando a condi¸c˜ao da raiz. Exemplo 18. Prove que o m´etodo de passo 3 un+3 + 27 11 un+2 − 27 11 un+1 − un = (6.2.29) = h 11 [3fn+3 + 27fn+2 + 27fn+1 + 3fn] (6.2.30)
  • 39. Se¸c˜ao 6.3: O m´etodo de Adams-Moulton 35 possui ordem 6 por´em n˜ao ´e convergente. Solu¸c˜ao: Verifique que o m´etodo ´e ordem 6. Entretanto o polinˆomio ρ(w) = w3 + 27 11 w2 − 27 11 w − 1 (6.2.31) = (w − 1) w + 19 + 4 √ 15 11 w + 19 − 4 √ 15 11 (6.2.32) que falha na condi¸c˜ao da raiz. Exerc´ıcio 6.6. Prove que todos os m´etodos de Adams-Bashforth satisfazem a condi¸c˜ao da raiz. 6.2.3. A primeira barreira de Dahlquist Um m´etodo de passo m´ultiplo possui 2s + 1 coeficientes am,bm. Poder´ıamos definir tais coeficientes de tal forma a obter ordem m´axima. Conclus˜ao? Poder´ıamos obter m´etodos com s est´agios e ordem 2s. Entretanto tal m´etodo (impl´ıcito de passo s e ordem 2s) n˜ao ´e convergente para s ≥ 3 (como o m´etodo (6.2.29) visto acima). ´E poss´ıvel provar que a ordem m´axima de convergˆencia para um m´etodo de passo m´ultiplo s ´e no m´aximo 2⌊(s + 2)/2⌋ para m´etodos impl´ıcitos e s para m´etodos expl´ıcitos. Esta ´e a primeira barreira de Dahlquist. 6.3. O m´etodo de Adams-Moulton Quando as = 1, as−1 = −1, am = 0 para m = s − 2, . . . , 0, bs = 0 temos um m´etodo de Adams-Moulton do tipo un+s = un+s−1 + h s m=0 bmfn+m (6.3.1) Note que os m´etodos de Adams-Moulton s˜ao impl´ıcitos pois bs = 0. Exemplo 19. Vamos obter o m´etodo de Adams-Moulton para s = 3 como un+3 = un+2 + tn+4 tn+3 f(t, u(t)) dt (6.3.2) un+3 = un+2 + h 3 m=0 bmfn+m (6.3.3) un+3 = un+2 + h[b3fn+3 + b2fn+2 + b1fn+1 + b0fn] (6.3.4) Para isso devemos obter [b3, b2, b1, b0] tal que o m´etodo seja exato para polinˆomios at´e ordem 3. Podemos obter esses coeficientes de maneira an´aloga a obter os coeficientes de um m´etodo para integra¸c˜ao como em 3.1.
  • 40. Se¸c˜ao 6.4: M´etodo BDF 36 Supondo que os n´os tk estejam igualmente espa¸cados, e para facilidade dos c´alculos, como o intervalo de integra¸c˜ao ´e [tn+2, tn+3], translade tn+2 para a origem tal que [tn, tn+1, . . . , tn+3] = [−2h, −h, 0, h]. Considere a base [φ0(t), . . . , φ3(t)] = [1, t, t2 , t3 ] e substitua f(t) por φk(t) ob- tendo h 0 1 dt = h = h(b0(1) + b1(1) + b2(1) + b3(1)) h 0 t dt = h2 2 = h(b0(h) + b1(0) + b2(−h) + b3(−2h)) h 0 t2 dt = h3 3 = h(b0(h)2 + b1(0)2 + b2(−h)2 + b3(−2h)2 ) h 0 t3 dt = h4 4 = h(b0(h)3 + b1(0)3 + b2(−h)3 + b3(−2h)3 ) que pode ser escrito na forma matricial     1 0 1 1 1 0 −1 −2 1 0 1 4 1 0 −1 −8         b0 b1 b2 b3     =     1 1/2 1/3 1/4     (6.3.5) Resolvendo o sistema obtemos [b0, b1, b2, b3] = [ 1 24 , − 5 24 , 19 24 , 9 24 , ] fornecendo a regra un+3 = un+2 + h 24 [9fn+3 + 19fn+2 − 5fn+1 + fn] (6.3.6) Exerc´ıcio 6.7. Encontre o m´etodo de Adams-Moulton para s = 2. Exerc´ıcio 6.8. Encontre o m´etodo de Adams-Moulton para s = 3. Exemplo 20. Um m´etodo de ordem s expl´ıcito ´e chamado de m´etodo de Nystron se ρ(w) = ws−2 (w2 − 1). Exemplo 21. Um m´etodo de ordem s + 1 impl´ıcito ´e chamado de m´etodo de Milne se ρ(w) = ws−2 (w2 − 1). 6.4. M´etodo BDF Um m´etodo de ordem s com s est´agios ´e chamado de m´etodo BDF-Backward Dif- ferentiation Formula se σ(w) = bsws , onde bs ∈ R.
  • 41. Se¸c˜ao 6.4: M´etodo BDF 37 Lema 6.4.1. Para um m´etodo BDF temos bs = s m=1 1 m −1 , ρ(w) = bs s m=1 1 m ws−m (w − 1)m (6.4.1) Demonstra¸c˜ao. Sendo p = s a ordem, o teorema 6.2.1 implica que ρ(w) − bsws ln w = O(|w − 1|s+1 ), w− > 1 Substituindo v = 1/w, ρ( 1 v ) − bs vs ln( 1 v ) = O(| 1 v − 1|s+1 ), v− > 1 vs ρ( 1 v ) + bs ln v = O(|1 − v|s+1 ), v− > 1 Como ln v = ln [1 + (v − 1)] = s m=1 (−1)m−1 m (v − 1)m + O(|v − 1|s+1 ) deduzimos que vs ρ(1/v) = bs s m=1 (−1)m−1 m (v − 1)m Portanto ρ(w) = bsv−s s m=1 (−1)m m (v − 1)m (6.4.2) = bs s m=1 (−1)m m ws (w−1 − 1)m (6.4.3) = bs s m=1 1 m ws−m (w − 1)m (6.4.4) Para completar a prova, falta derivar a forma expl´ıcita para bs, que segue impondo as = 1 em ρ(w). Exemplo 22. Mostre que o m´etodo BDF com s = 3 ´e un+3 − 18 11 un+2 + 9 11 un+1 − 2 11 un = 6 11 hfn+3 (6.4.5) Solu¸c˜ao: Para s = 3 temos que bs = 1 1 + 1 2 + 1 3 = 6 11 e ρ(w) = 6 11 [w2 (w − 1) + 1 2 w(w − 1)2 + 1 3 (w − 1)3 ] (6.4.6) = w3 − 18 11 w2 + 9 11 w − 2 11 (6.4.7)
  • 42. 38 Teorema 6.4.2. O polinˆomio ρ(w) em (6.4.1) satisfaz a condi¸c˜ao da raiz e o m´etodo BDF ´e convergente se e somente se 1 ≤ s ≤ 6. Exerc´ıcio 6.9. Mostre que o m´etodo BDF com s = 1 ´e o m´etodo de Euler impl´ıcito. Exerc´ıcio 6.10. Mostre que o m´etodo BDF com s = 2 ´e un+2 − 4 3 un+1 + 1 3 un = 2 3 hfn+2 (6.4.8) Exerc´ıcio 6.11. Mostre que os m´etodos BDF com s = 2 e s = 3 s˜ao convergentes. Exerc´ıcio 6.12. Determine a ordem do m´etodo de passo 3, un+3 − un = h 8 [3fn+3 + 9fn+2 + 9fn+1 + 3fn] (6.4.9) Este m´etodo ´e convergente? Exerc´ıcio 6.13. Aproxime a solu¸c˜ao do PVI du dt = sin t (6.4.10) u(0) = 1 (6.4.11) para t ∈ [0, 10]. Utilize o m´etodo de Adams-Bashforth com s = 3 e plote os resultados como nos exerc´ıcios anteriores. Compare os resultados utilizando nos passos iniciais o m´etodo de: a. Euler; b. Taylor; c. Runge-Kutta. Aula 8 . M´etodos de Runge-Kutta . Butcher, Iserles Cap´ıtulo 7: M´etodos de Runge-Kutta Bibliografia: Cap.3 [5], Sec.23 [1].
  • 43. Se¸c˜ao 7.1: M´etodo de Runge-Kutta Expl´ıcito 39 7.1. M´etodo de Runge-Kutta Expl´ıcito Seja a EDO u′ (t) = f(t, u(t)) (7.1.1) u(t0) = a (7.1.2) Integrando a EDO em [tn, tn+1] obtemos un+1 = un + tn+1 tn f(t, u(t)) dt (7.1.3) Um m´etodo de passo simples utiliza fn e fn+1. Queremos aumentar a ordem do m´etodo, por´em utilizando somente valores de f entre [tn, tn+1]. un un+1 | | tn tn+1 τ1 τ2 · · · τν un+1 = un + tn+1 tn f(t, u(t)) dt (7.1.4) = un + h 1 0 f(tn + hτ, u(tn + hτ)) dτ (7.1.5) = un + h ν j=1 bjf(tn + cjh, u(tn + cjh)) (7.1.6) Denote por τj = tn + cjh, Uj ≡ u(τj) e Fj ≡ f(τj, Uj), j = 1, . . . , ν. Inicie com U1 = un (c1 = 0) como a solu¸c˜ao no passo anterior e aproxime Uj, j = 2, . . . , ν, com uma combina¸c˜ao linear de F1, . . . , Fj−1, ou seja, U1 = un (7.1.7) U2 = un + ha21F1 (7.1.8) U3 = un + ha31F1 + ha32F2 (7.1.9) = . . . (7.1.10) Uν = un + h ν−1 i=1 aνiFi (7.1.11) un+1 = un + h ν i=1 biFi (7.1.12) onde A = (aij) ´e a matriz de RK (triangular inferior com diagonal zero), bj s˜ao os pesos RK e cj s˜ao os n´os RK. Os coeficientes podem ser resumidos em uma tabela na forma c A bT = c1 a11 a12 c2 a21 a22 b1 b2
  • 44. Se¸c˜ao 7.2: M´etodo de RK ν = 2 40 7.2. M´etodo de RK ν = 2 Assumindo suavidade suficiente em f, expanda em s´erie de Taylor F2 = f(tn + c2h, U2) (7.2.1) = f(tn + c2h, un + a21hfn) (7.2.2) = fn + h[c2 ∂fn ∂t + a21 ∂fn ∂u fn] + O(h2 ) (7.2.3) fazendo com que (7.1.12) se torne un+1 = un + h[b1F1 + b2F2] (7.2.4) = un + h(b1 + b2)fn + h2 b2[c2 ∂fn ∂t + a21 ∂fn ∂u fn] + O(h3 ) (7.2.5) Usando a EDO e derivando-a obtemos ut = f(t, u) (7.2.6) utt = ft + fuut = ft + fuf (7.2.7) e expandindo em s´erie de Taylor a solu¸c˜ao exata em tn+1, u(tn+1) = un + hut + h2 2 utt + O(h3 ) (7.2.8) = un + hfn + h2 2 [ft + fuf] + O(h3 ) (7.2.9) e comparando com (7.2.5) obtemos as condi¸c˜oes para ordem p ≥ 2, b1 + b2 = 1, b2c2 = 1 2 a21 = c2 (7.2.10) O sistema possui mais de uma solu¸c˜ao. Algumas escolhas comuns s˜ao 0 1 2 1 2 0 1 , 0 2 3 2 3 1 4 3 4 e 0 1 1 1 2 1 2 onde a ´ultima tabela fornece o m´etodo de Heun (ou Euler modificado): U1 = un (7.2.11) U2 = un + hF1 (7.2.12) un+1 = un + h[ 1 2 F1 + 1 2 F2] (7.2.13) Note que o m´etodo ´e de ordem p = 2 pois os termos que sobraram s˜ao de O(h3 ). Seguindo um procedimento similar (veja [5],p39-40), podemos obter as condi¸c˜oes para um m´etodo com ν = 3 e ordem p = 3, que s˜ao b1 + b2 + b3 = 1,b2c2 + b3c3 = 1 2 (7.2.14) b2c2 2 + b3c2 3 = 1 3 ,b3a32c2 = 1 6 (7.2.15) Alguns exemplos de m´etodos de RK de 3 est´agios s˜ao o m´etodo cl´assico de Runge-Kutta
  • 45. Se¸c˜ao 7.3: M´etodo de Runge-Kutta impl´ıcito (IRK) 41 0 1 2 1 2 1 −1 2 1 6 4 6 1 6 e o m´etodo de Nystrom 0 2 3 2 3 2 3 0 2 3 2 8 3 8 3 8 Com paciˆencia e a ajuda de um software alg´ebrico (como Maple) ´e poss´ıvel encontrar um m´etodo de quarta ordem e ν = 4 est´agios como 0 1 2 1 2 1 2 0 1 2 1 0 0 1 1 6 2 6 2 6 1 6 7.3. M´etodo de Runge-Kutta impl´ıcito (IRK) No conjunto de equa¸c˜oes (7.1.7)-(7.1.12), Uk depende em valores conhecidos F1, . . . , Fk−1 tornando o m´etodo expl´ıcito. Entretanto se Uk depender de F1, . . . , Fν temos um m´etodo impl´ıcito como Uj = un + h ν i=1 ajiFi, j = 1, . . . , ν (7.3.1) un+1 = un + h ν i=1 biFi (7.3.2) onde A = (aij) ´e a matriz de RK. ´E necess´ario que ν i=1 aji = cj, j = 1, . . . , ν (7.3.3) para que o m´etodo possua ordem p ≥ 1. Exemplo 23. Um m´etodo de Runge-Kutta Impl´ıcito (IRK) de dois est´agios ´e dado por U1 = un + h/4[f(tn, U1) − f(tn + 2 3 h, U2)] (7.3.4) U2 = un + h/12[3f(tn, U1) + 5f(tn + 2 3 h, U2)] (7.3.5) un+1 = un + h/4[f(tn, U1) + 3f(tn + 2 3 h, U2)] (7.3.6) que possui uma tabela como 0 1 4 −1 4 2 3 1 4 5 12 1 4 3 4
  • 46. Se¸c˜ao 7.4: Estimativa da ordem de convergˆencia 42 Exerc´ıcio 7.1. Mostre que o m´etodo IRK com 2 est´agios do exemplo anterior ´e de ordem 3. Exerc´ıcio 7.2. Aproxime a solu¸c˜ao do PVI du dt = cos(t + u) 1 + u2 (7.3.7) u(0) = 0 (7.3.8) utilizando o m´etodo de Runge Kutta de 4 est´agios. Escolha apropriadamente h e ilustre graficamente a convergˆencia. a. Plote a solu¸c˜ao para diferentes valores de h. b. Repita o exerc´ıcio anterior utilizando o m´etodo de Euler com diferentes valores de h, at´e T = 10 de tal forma que a solu¸c˜ao seja t˜ao pr´oxima da solu¸c˜ao obtiva via RK quanto poss´ıvel. c. Compare o n´umero de itera¸c˜oes, para esse exerc´ıcio, entre o m´etodo de Euler e o de Runge-Kutta. Exerc´ıcio 7.3. Aproxime a solu¸c˜ao do PVI u′′ + 0.125u′ + u = 0 (7.3.9) u(0) = 2 u′ (0) = 0 (7.3.10) para t ∈ [0, 20]. Utilize o m´etodo de Runge Kutta de 4 est´agios. Escolha apropriada- mente h e ilustre graficamente a convergˆencia. a. Transforme o PVI num sistema de EDO’s de primeira ordem nas vari´aveis [y1(t), y2(t)] = [u(t), u′ (t)]. b. Plote a solu¸c˜ao u(t). c. Plote a solu¸c˜ao no espa¸co de fases [y1, y2]. 7.4. Estimativa da ordem de convergˆencia Ferziger and Peric, Computational Methods for Fluid Dynamics, p.335. Raramente temos a solu¸c˜ao exata u(t) para calcular o erro obtido na solu¸c˜ao num´erica. Entretanto, se a solu¸c˜ao ´e suave o suficiente e o espa¸camento h ´e pe- queno suficientemente, podemos usar o seguinte procedimento para estimar a ordem do m´etodo (ou ainda, o erro na solu¸c˜ao). Como visto nos exemplo num´ericos anteriores, em gr´aficos na escala loglog, se h ´e grande n˜ao obtemos a ordem de convergˆencia utilizada (por exemplo, encontramos que o m´etodo de Euler possui ordem p ≈ 0.7 onde deveria ser 1). A medida que h decresce se aproximando de 0, a ordem de convergˆencia tende a se aproximar de p ≈ 1. (Entretanto h n˜ao pode ficar muito pequeno a ponto que as opera¸c˜oes de ponto flutuante atrapalhem na convergˆencia). Portanto existe uma faixa hmin < h < hmax onde o m´etodo apresenta a ordem desejada. Essa regi˜ao depende do m´etodo e do PVI estudado.
  • 47. 43 Mas se estivermos nessa regi˜ao podemos aproximar a ordem do m´etodo da se- guinte forma: Considere a solu¸c˜ao para um determinado t = T ∗ fixo, u(T ∗ ). Considere tamb´em as aproxima¸c˜oes das solu¸c˜oes obtidas com espa¸camento h, denotada por uh ; a aproxima¸c˜ao obtida com espa¸camento dividido por 2, h/2, denotada por uh/2 ; a apro- xima¸c˜ao obtida com espa¸camento h/4, denotada por uh/4 ,. . . e assim por diante, todas calculadas em t = T ∗ . 7.4.1. M´etodo 1 Podemos utilizar uma solu¸c˜ao bem refinada, por exemplo, uh/16 como sendo uma boa aproxima¸c˜ao da solu¸c˜ao exata e supormos que u∗ = uh/16 . Desta forma podemos aproximar o erro por eh = u(h) − u∗ e a ordem do m´etodo ´e estimada como p ≈ log(eh ) − log(eh/2 ) log(h) − log(h/2) (7.4.1) ≈ log eh eh/2 log(h/(h/2)) (7.4.2) ≈ log eh eh/2 log(2) (7.4.3) ≈ log uh −u∗ uh/2−u∗ log(2) (7.4.4) (7.4.5) 7.4.2. M´etodo 2 Segundo Ferziger/Peric/Roache, podemos tamb´em estimar p diretamente de p ≈ log uh/2 −uh uh/4−uh/2 log(2) (7.4.6) (7.4.7) Aula 9, 10 e 11 . Regi˜oes de Estabilidade . Butcher, Iserles Cap´ıtulo 8:
  • 48. Se¸c˜ao 8.1: Equa¸c˜oes “Stiff” 44 Dom´ınio de Estabilidade 8.1. Equa¸c˜oes “Stiff” A defini¸c˜ao n˜ao ´e exatamente clara: Uma equa¸c˜ao diferencial ´e “stiff” se alguns m´etodos num´ericos s˜ao numerica- mente inst´aveis, a menos que o passo seja extremamente pequeno. Considere a EDO linear u′ = Au, u(0) = u0, A = −100 1 0 −1/10 (8.1.1) com a decomposi¸c˜ao A = V ΛV −1 onde V = 1 1 0 999/10 , Λ = −100 0 0 −1/10 (8.1.2) A solu¸c˜ao exata ´e u(t) = eAt u0 = V eΛt V −1 u0, eΛt = e−100t 0 0 e−0.1t (8.1.3) Ou seja, existem vetores x1 e x2 dependentes de u0 (exerc´ıcio 8.1) tal que u(t) = e−100t x1 + e−0.1t x2, t ≥ 0 (8.1.4) Note que a medida que t avan¸ca o termo e−100t cai rapidamente enquanto que e−0.1t ´e um pouco mais lento levando a u(t) ≈ e−0.1t x2. Aplicando o m´etodo de Euler obtemos solu¸c˜ao aproximada u1 = u0 + hAu0 = (I + hA)u0, (8.1.5) u2 = (I + hA)u1 = (I + hA)2 u0, (8.1.6) ... = ... (8.1.7) un = (I + hA)n u0 (8.1.8) un = V (I + hΛ)n V −1 u0 (8.1.9) un = V (1 − 100h)n 0 0 (1 − 0.1h)n V −1 u0 (8.1.10) de onde segue que a solu¸c˜ao aproximada ´e dada por un = (1 − 100h)n x1 + (1 − 0.1h)n x2 (8.1.11) onde x1 e x2 s˜ao os mesmos vetores que aparecem na solu¸c˜ao exata. Suponha que h > 1/50. Ent˜ao |1 − 100h| > 1 e a solu¸c˜ao aproximada cresce geometricamente (diferente da solu¸c˜ao exata). Suponha que escolhemos a condi¸c˜ao inicial igual ao autovetor u0 = 1 999/10 correspondente a λ2 = −0.1. Ent˜ao x1 = 0, x2 = u0 e un = (1 − 0.1h)n u0, n = 1, 2, . . . (8.1.12)
  • 49. Se¸c˜ao 8.1: Equa¸c˜oes “Stiff” 45 que converge para 0 quando n → ∞ e h < 20. Suponha que utilizamos h = 1. O m´etodo deveria convergir (pois h < 20) entretanto pequenos erros de arredondamento cometidos pela m´aquina a cada itera¸c˜ao s˜ao amplificados pelo termo (1 − 100h)n que rapidamente destr´oi a solu¸c˜ao. Exemplo 24. Resolva o sistema (8.1.1) utilizando o m´etodo de Euler no Matlab e verifique as ob- serva¸c˜oes. Nem todo m´etodo num´erico possui tal comportamento. Considere a regra tra- pezoidal aplicada1 em u′ = Au, I − 1 2 hA u1 = I + 1 2 hA u0 (8.1.13) u1 = I + 1 2 hA I − 1 2 hA u0 (8.1.14) u2 = I + 1 2 hA I − 1 2 hA u1 = I + 1 2 hA I − 1 2 hA 2 u0 (8.1.15) ... = ... (8.1.16) un = I + 1 2 hA I − 1 2 hA n u0 (8.1.17) e substituindo a fatora¸c˜ao deduzimos un = 1 − 50h 1 + 50h n x1 + 1 − h/20 1 + h/20 n x2 (8.1.18) Como 1 − 50h 1 + 50h < 1 e 1 − h/20 1 + h/20 < 1 (8.1.19) para todo h > 0, conclu´ımos que un → 0 quando n → ∞. Isto recupera o correto comportamento assint´otico da EDO sem depender da escolha de h. A regra trapezoidal n˜ao requer restri¸c˜ao no passo h para evitar instabilidade (ainda assim ´e necess´ario escolher h > 0 pequeno tal que o erro local seja razo´avel). Assim a equa¸c˜ao (8.1.1) ´e um exemplo de uma equa¸c˜ao “stiff”. Note que esta defini¸c˜ao n˜ao ´e precisa e varia na literatura. Defini¸c˜ao 8.1.1. A raz˜ao |λ1| |λn| entre o maior e menor autovalor (em m´odulo) do sistema de EDOs (ou dos autovalores da matriz Jacobiana de um sistema geral) ´e chamada stiffness ratio. No exemplo discutido a stiffness ratio ´e |−100| |1/10| = 103 . Note que para o caso n˜ao linear a an´alise pode se tornar complicada. 1(exerc´ıcio 8.2)
  • 50. Se¸c˜ao 8.2: Dom´ınio de Estabilidade Linear 46 Exerc´ıcio 8.1. Encontre os vetores x1 e x2 dependentes de u0 e independentes de t discutidos no texto. Exerc´ıcio 8.2. No exemplo do m´etodo do trap´ezio obtemos a express˜ao I + B I − B n (8.1.20) a. Verifique que tal express˜ao faz sentido somente se (I +B) e (I −B)−1 comutam. b. Prove que (I + B) e (I − B)−1 comutam. 8.2. Dom´ınio de Estabilidade Linear Suponha que um m´etodo num´erico seja aplicado em u′ = λu, t ≥ 0, u(0) = 1, (8.2.1) onde λ ∈ C que possui solu¸c˜ao exata u(t) = eλt . Note que limt→0 u(t) = 0 se e somente se ℜλ < 0. N˜ao estamos interessados no momento em solu¸c˜oes que crescem rapidamente (ℜλ > 0). Defini¸c˜ao 8.2.1. O dom´ınio de estabilidade linear D do m´etodo num´erico ´e o conjunto de todos hλ ∈ C tal que limn→∞ un = 0. Ou seja, D ´e o conjunto de todos hλ para o qual o correto comportamento assint´otico de (8.2.1) ´e recuperado, tal que essa equa¸c˜ao seja est´avel. Exemplo 25. Utilizando o M´etodo de Euler para solucionar (8.2.1) obtemos un = (1 + hλ)n , n = 0, 1, . . . (8.2.2) Portanto limn→∞ un = 0 se e somente se |1 + hλ| < 1. Conclu´ımos ent˜ao que DEuler = {z ∈ C : |1 + z| < 1} (8.2.3) ´e o interior de um disco no plano complexo de raio 1 e centro em z = −1 como na Fig.8.1. Caso tenhamos um sistema de EDO’s, u′ = Au, u(0) = u0, (8.2.4) podemos obter que un = d k=1 (1 + hλk)n xk, n = 0, 1, . . . (8.2.5) onde A = V ΛV −1 , V ´e a matriz dos autovetores e Λ = diag(λ1, . . . , λd). Defini¸c˜ao 8.2.2. O sistema de EDO’s (8.2.4) ´e assintoticamente est´avel se e somente se ℜλk < 0, k = 1, . . . , d.
  • 51. Se¸c˜ao 8.2: Dom´ınio de Estabilidade Linear 47 −3 −2 −1 0 1 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 Figura 8.1: Regi˜ao de estabilidade para o m´etodo de Euler, |1 + z| < 1 Para que o m´etodo de Euler seja est´avel, ´e necess´ario que h seja escolhido tal que |1 + hλk| < 1, ∀k. Ou seja, todos os produtos hλk devem estar em DEuler. Ou seja, h deve ser escolhido de acordo com os autovalores do sistema2 . Tal an´alise pode ser facilmente estendida para o sistema n˜ao homogˆeneo u′ = Au + b (veja exerc´ıcios). Para o caso EDO n˜ao-linear, seja u′ = f(t, u), t ≥ t0, u(t0) = u0 (8.2.6) ´e comum requerer que no passo n hλn,1, hλn,2, . . . , hλn,d ∈ D (8.2.7) onde λn,k s˜ao os autovalores da matriz Jacobiana Jn := ∂f(tn, un) ∂u , baseado na hip´otese que o comportamento local da EDO ´e modelado por u′ = un + Jn(u − un) (8.2.8) Esta pr´atica n˜ao ´e exata e fornece apenas uma id´eia local do comportamento da EDO (podendo levar a conclus˜oes errˆoneas). Exemplo 26. 2Note que estamos assumindo que existe a decomposi¸c˜ao em autovalores. Poder´ıamos usar a forma de Jordan o que dificultaria a demonstra¸c˜ao.
  • 52. Se¸c˜ao 8.3: Estabilidade dos m´etodos de Taylor 48 Utilizando o m´etodo trapezoidal para solucionar (8.2.1) obtemos un = 1 + hλ/2 1 − hλ/2 n , n = 0, 1, . . . (8.2.9) Conclu´ımos ent˜ao que DT r = {z ∈ C : 1 + z/2 1 − z/2 < 1} (8.2.10) Note que DT r = C− , o semiplano negativo. Portanto o m´etodo do trap´ezio imita a estabilidade assint´otica da EDO linear sem restri¸c˜ao no passo h. Defini¸c˜ao 8.2.3. Um m´etodo num´erico ´e chamado A-est´avel se {z ∈ C : ℜz < 0} ⊆ D Exemplo 27. A regra do trap´ezio ´e A-est´avel (incondicionalmente est´avel) e o m´etodo de Euler ´e est´avel somente para |1 + hλ| < 1. Exerc´ıcio 8.3. Mostre que o m´etodo theta ´e A-est´avel se e somente se 0 ≤ θ ≤ 1 2 . 8.3. Estabilidade dos m´etodos de Taylor Exerc´ıcio 8.4. Prove que para um m´etodo de Taylor de ordem p para a EDO (8.2.1) temos p(z) = 1 + z + z2 2! + z3 3! + . . . + zp p! (8.3.1) onde un = (p(z))n u0 e a regi˜ao de estabilidade ´e dada por DT = {z ∈ C : |p(z)| < 1} (8.3.2) Plote as regi˜oes de estabilidade para o m´etodo de Taylor para p = 1, . . . , 6 no mesmo gr´afico. 8.4. Estabilidade dos m´etodos de Runge-Kutta Denote U :=    U1 ... Uν    , 1 :=    1 ... 1    (8.4.1)
  • 53. Se¸c˜ao 8.4: Estabilidade dos m´etodos de Runge-Kutta 49 −4 −3 −2 −1 0 1 2 3 4 −4 −3 −2 −1 0 1 2 3 4 Figura 8.2: Regi˜ao de estabilidade paras os m´etodos de Taylor de ordem 1, . . . , 4 (interior as curvas). A curva mais interna ´e para p = 1 Aplicando o m´etodo de Runge-Kutta (7.3.1) na EDO linear (8.2.1) obtemos Uj = un + h ν i=1 ajiFi, j = 1, . . . , ν (8.4.2) Uj = un + hλ ν i=1 ajiUi, (8.4.3) U = 1un + hλAU, (8.4.4) (I − hλA)U = 1un, (8.4.5) U = (I − hλA)−1 1un, (8.4.6) e assumindo que I − hλA n˜ao ´e singular, un+1 = un + hλ ν j=1 bjUj (8.4.7) un+1 = (1 + hλbT (I − hλA)−1 1)un, n = 0, 1, . . . (8.4.8) Denote por Pα o conjunto de todos polinˆomios at´e grau α e por Pα/β o conjunto de todas fun¸c˜oes racionais p/q onde p ∈ Pα e q ∈ Pβ. Lema 8.4.1. Para todo m´etodo de Runge-Kutta (7.3.1) existe r ∈ Pν/ν tal que un = [r(hλ)]n , n = 0, 1, . . . . Al´em disso, se o m´etodo de Runge-Kutta ´e expl´ıcito ent˜ao r ∈ Pν
  • 54. Se¸c˜ao 8.4: Estabilidade dos m´etodos de Runge-Kutta 50 Demonstra¸c˜ao. Veja prova em [5], p. 60. Lema 8.4.2. Suponha que um m´etodo num´erico aplicado a (8.2.1) produz uma seq¨uˆencia un = [r(hλ)]n , n = 0, 1, . . . onde r ´e uma fun¸c˜ao arbitr´aria. Ent˜ao D = {z ∈ C : |r(z)| < 1}. Demonstra¸c˜ao. A prova segue direto da defini¸c˜ao de D. Corol´ario 1. Nenhum m´etodo de Runge-Kutta expl´ıcito (ERK) pode ser A-est´avel. Demonstra¸c˜ao. Dado um m´etodo ERK, o lema 8.4.2 fornece que r ∈ Pν e r(z) := 1 + zbT (I − zA)−1 1 (8.4.9) o que implica que r(0) = 1. Nenhum polinˆomio, com exce¸c˜ao r(z) ≡ c ∈ (−1, 1) pode ser limitado por 1 no semiplano negativo ℜz < 0, o que exclui A-estabilidade. Exemplo 28. Considere o m´etodo IRK com tabela 0 1 4 −1 4 2 3 1 4 5 12 1 4 3 4 Substituindo em (8.4.9) obtemos a fun¸c˜ao r(z) = 1 + 1 3 z 1 − 2 3 z + 1 6 z2 (8.4.10) Para checar A-estabilidade, representamos z = ρeiθ , ρ > 0, 1 2 π < θ < 3 2 π e checamos se |r(ρeiθ ) < 1|: 1 + 1 3 z 1 − 2 3 z + 1 6 z2 < 1 (8.4.11) 1 + 1 3 z < 1 − 2 3 z + 1 6 z2 (8.4.12) 1 + 1 3 ρeiθ 2 < 1 − 2 3 ρeiθ + 1 6 ρ2 e2iθ 2 (8.4.13)
  • 55. Se¸c˜ao 8.4: Estabilidade dos m´etodos de Runge-Kutta 51 como |w|2 = w ¯w, 1 + 2 3 ρ cos θ + ρ2 9 <1 − 4 3 ρ cos θ + ρ2 ( cos 2θ 3 + 4 9 ) − 2 9 ρ3 cos θ + ρ4 36 (8.4.14) 6 3 ρ cos θ + 2 9 ρ3 cos θ < ρ2 ( 1 3 cos 2θ + 3 9 ) + 1 36 ρ4 (8.4.15) 2ρ cosθ + 2 9 ρ3 cos θ < ρ2 3 (cos 2θ + 1) + ρ4 36 (8.4.16) 2ρ cosθ(1 + 1 9 ρ2 ) < 2ρ2 3 cos2 θ + ρ4 36 (8.4.17) 2ρ cos θ(9 + ρ2 ) < 6ρ2 cos2 θ + ρ4 4 (8.4.18) A inequa¸c˜ao ´e verdadeira para z ∈ C− , pois temos 1 2 π < θ < 3 2 π ⇒ cos θ < 0 e os outros termos s˜ao positivos. O que demonstra que o m´etodo ´e A-est´avel. Exemplo 29. O m´etodo IRK com tabela 1 3 5 12 − 1 12 1 3 4 1 4 3 4 1 4 possui a mesma fun¸c˜ao r(z) = 1 + 1 3 z 1 − 2 3 z + 1 6 z2 (8.4.19) que o m´etodo anterior, portanto tamb´em ´e A-est´avel. Sua regi˜ao de estabilidade ´e exterior a curva da figura 8.3. Lema 8.4.3. Seja r uma fun¸c˜ao racional que n˜ao ´e constante. Ent˜ao ∀z ∈ C− temos |r(z)| < 1 se e somente se todos os p´olos de r tem parte real positiva e ∀t ∈ R temos |r(it)| ≤ 1. Exemplo 30. Os p´olos de r(z) = 1 + 1 3 z 1 − 2 3 z + 1 6 z2 (8.4.20) s˜ao 2±i √ 2; que est˜ao no semiplano complexo com parte real positiva. Al´em disso, |r(it)| ≤ 1, ∀t ∈ R pois 1 + 1 3 it 2 ≤ 1 − 2 3 it − 1 6 t2 2 , t ∈ R, (8.4.21) 1 + 1 9 t2 ≤ 1 + 1 9 t2 + 1 36 t4 , t ∈ R. (8.4.22)
  • 56. Se¸c˜ao 8.4: Estabilidade dos m´etodos de Runge-Kutta 52 −6 −4 −2 0 2 4 6 −6 −4 −2 0 2 4 6 Figura 8.3: Regi˜ao de estabilidade (exterior a curva) para o m´etodo IRK com polinˆomio r(z) = 1+ 1 3 z 1− 2 3 z+ 1 6 z2 implicando que o m´etodo ´e A-est´avel. Exerc´ıcio 8.5. Prove o lema anterior. Exerc´ıcio 8.6. Prove que para um m´etodo Runge-Kutta expl´ıcito de ν est´agios possui r(z) = 1 + z + z2 2! + z3 3! + . . . + zp p! (8.4.23) onde a regi˜ao de estabilidade ´e dada por DT = {z ∈ C : |r(z)| < 1} (8.4.24) Plote as regi˜oes de estabilidade para os m´etodos de Runge-Kutta para ν = 1, . . . , 6 no mesmo gr´afico. Exerc´ıcio 8.7. Calcule explicitamente a fun¸c˜ao r(z) para os m´etodos de Runge-Kutta dados pelas tabelas abaixo, a. 0 0 0 2 3 1 3 1 3 1 4 3 4 b. 1 6 1 6 0 5 6 2 3 1 6 1 2 1 2
  • 57. Se¸c˜ao 8.5: Estabilidade dos m´etodos de passo m´ultiplo 53 c. 0 0 0 0 1 2 1 4 1 4 0 1 0 1 0 1 6 4 6 1 6 Estes m´etodos s˜ao A-est´aveis? Plote a regi˜ao de estabilidade de cada m´etodo. 8.5. Estabilidade dos m´etodos de passo m´ultiplo Suponha que um m´etodo de passo m´ultiplo (6.2.1) seja aplicado a EDO linear (8.2.1) obtendo s m=0 amun+m = h s m=0 bmfn+m (8.5.1) s m=0 amun+m = hλ s m=0 bmun+m (8.5.2) que pode ser escrita como s m=0 (am − hλbm)un+m = 0, (8.5.3) s m=0 αmun+m = 0, n = 0, 1, . . . (8.5.4) Similarmente a equa¸c˜oes diferenciais, a equa¸c˜ao `a diferen¸cas possui solu¸c˜ao como o polinˆomio caracter´ıstico η(w) := s m=0 αmwn . (8.5.5) Sejam w1, . . . , wq as ra´ızes de η(w) com multiplicidade k1, . . . , kq, onde ki = s. A solu¸c˜ao da equa¸c˜ao a diferen¸cas ´e un = q i=1 ( ki−1 j=0 cijnj )wn i , n = 0, 1, . . . (8.5.6) onde as constantes cij s˜ao unicamente determinadas pelos valores iniciais u0, . . . , us−1. Lema 8.5.1. Suponha que as ra´ızes (em fun¸c˜ao de w) de η(z, w) := s m=0 (am − bmz)wm , z ∈ C (8.5.7) s˜ao w1(z), . . . , wq(z)(z) com multiplicidade k1(z), . . . , kq(z)(z) respectivamente. O m´etodo de passo m´ultiplo ´e A-est´avel se e somente se |wi(z)| < 1, i = 1, . . . , q(z), ∀z ∈ C− . (8.5.8)
  • 58. Se¸c˜ao 8.5: Estabilidade dos m´etodos de passo m´ultiplo 54 Lema 8.5.2. O m´etodo de passo m´ultiplo ´e A-est´avel se e somente se bs > 0 e |w1(it)|, . . . , |wq(it)(it)| ≤ 1, t ∈ R (8.5.9) onde wk s˜ao as ra´ızes de η(z, ·) do lema 8.5.1. Teorema 8.5.3. O m´etodo BDF de 2 est´agios ´e A-est´avel. Teorema 8.5.4 (A segunda barreira de Dahlquist). A ordem m´axima de um m´etodo de passo m´ultiplo A-est´avel ´e dois. Exemplo 31. O m´etodo BDF de 2 est´agios un+2 − 4 3 un+1 + 1 3 un = 2 3 hfn+2 (8.5.10) para o PVI u′ = λu, que possui polinˆomio caracter´ıstico w2 − 4 3 w + 1 3 = 2 3 hλ(w2 ) (8.5.11) ou η(w) := (1 − z 2 3 )w2 − 4 3 w + 1 3 . (8.5.12) O polinˆomio η(w) possui duas ra´ızes (encontradas com o Maple) w1 = −4 + 2(1 + 2z)1/2 −6 + 4z , (8.5.13) w2 = −4 − 2(1 + 2z)1/2 −6 + 4z (8.5.14) Para que o m´etodo seja est´avel, ´e necess´ario que |w1| < 1 e |w2| < 1. Tal condi¸c˜ao ´e satisfeita para a regi˜ao dentro da curva na figura 8.4. Exemplo 32. Plote a regi˜ao de estabilidade do m´etodo de BDF de ordem 2 e 3. Exemplo 33. Plote a regi˜ao de estabilidade do m´etodo de Adams-Bashforth de ordem 2 e 3. Exemplo 34. Plote a regi˜ao de estabilidade do m´etodo de Adams-Moulton de ordem 2 e 3. Aula 12-15 . Equa¸c˜oes Diferenciais Parciais Hiperb´olicas . Strikwerda: Cap. 1
  • 59. 55 y~ 1 2 0 -2 -1 x~ 4320 1 Figura 8.4: Regi˜ao de estabilidade (exterior a curva) para o m´etodo BDF s = 2 Cap´ıtulo 9: Equa¸c˜oes Diferenciais Parciais hiperb´olicas 9.1. Equa¸c˜ao da onda unidirecional Considere a equa¸c˜ao da onda unidirecional (ou equa¸c˜ao de advec¸c˜ao) ut + aux = 0 (9.1.1) u(t = 0, x) = u0(x) (9.1.2) como exemplo mais simples de EDP hiperb´olica. Este ´e um Problema de Valor Inicial- PVI. A solu¸c˜ao desta equa¸c˜ao ´e u(t, x) = u0(x − at) (9.1.3) A solu¸c˜ao tem a mesma forma ∀t. ´E um deslocamento a direita se a > 0 ou a esquerda se a < 0. As linhas no plano (x, t) no qual ξ = x − at ´e constante s˜ao chamadas carac- ter´ısticas. O parˆametro a ´e a velocidade de propaga¸c˜ao da onda ao longo da caracter´ıstica. Apesar da equa¸c˜ao fazer sentido somente se u ´e diferenci´avel, u0 n˜ao precisa ser diferenci´avel. Em geral, solu¸c˜oes descont´ınuas s˜ao permitidas.
  • 60. Se¸c˜ao 9.2: Sistemas de EDP’s hiperb´olicas 56 Considere o problema mais geral ut + aux = −bu + f(t, x) (9.1.4) u(0, x) = u0(x) (9.1.5) Fazendo a substitui¸c˜ao t = τ e x = ξ + aτ, e ˜u(τ, ξ) = u(t, x). Assim ˜uτ = ut ∂t ∂τ + ux ∂x ∂τ (9.1.6) = ut + uxa (9.1.7) = −b˜u + f(τ, ξ + aτ) (9.1.8) ou seja, ˜uτ = −b˜u + f(τ, ξ + aτ) (9.1.9) Esta EDO possui solu¸c˜ao ˜u(τ, ξ) = u0(ξ)e−bτ + τ 0 f(σ, ξ + aτ)e−b(τ−σ) dσ (9.1.10) que retornando para (x, t) temos u(t, x) = u0(x − at)e−bt + t 0 f(s, x − a(t − s))e−b(t−s) ds (9.1.11) A solu¸c˜ao depende somente em (t′ , x′ ) tal que x′ −at′ = x−at, i.e., somente os valores de u e f na caracter´ıstica (t, x) para 0 ≤ t′ ≤ t. 9.2. Sistemas de EDP’s hiperb´olicas Um sistema da forma ut + Aux + Bu = F(t, x) (9.2.1) ´e hiperb´olico se a matriz A ´e diagonaliz´avel com autovalores reais. Diagonaliz´avel implica que Λ = PAP−1 =    λ1 ... λd    (9.2.2) Fazendo a substitui¸c˜ao w = Pu (no caso que B = 0), wt + Λwx = PF(t, x) = ˜F(t, x) (9.2.3) ou wi t + λiwi x = fi (t, x) (9.2.4) reduzindo o sistema a um conjunto de equa¸c˜oes independentes. Se B = 0 ent˜ao o sistema ´e acoplado, mas somente para os termos sem derivadas. O termo Bu causa crescimento, decaimento ou oscila¸c˜oes, mas n˜ao causa mu- dan¸cas na forma com que a solu¸c˜ao se move ao longo das caracter´ısticas.
  • 61. Se¸c˜ao 9.2: Sistemas de EDP’s hiperb´olicas 57 Exemplo 35. O sistema u v t + 2 1 1 2 u v x = 0 (9.2.5) com dado inicial u(x, 0) = u0(x) = 1, |x| ≤ 1 0, |x| > 1 (9.2.6) v(x, 0) = 0 (9.2.7) Somando e subtraindo as equa¸c˜oes obtemos (u + v)t + 3(u + v)x = 0 (9.2.8) (u − v)t + (u − v)x = 0 (9.2.9) ou w1 t + 3w1 x = 0, w1 (0, x) = u0(x) (9.2.10) w2 t + w2 x = 0, w2 (0, x) = u0(x) (9.2.11) onde a matriz para essa transforma¸c˜ao ´e P = 1 1 1 −1 , P−1 = 1 2 1 2 1 2 −1 2 . (9.2.12) A solu¸c˜ao ´e w1 (t, x) = w1 0(x − 3t) = u0(x − 3t) (9.2.13) w2 (t, x) = w2 0(x − t) = u0(x − t) (9.2.14) ou nas vari´aveis u e v, u(t, x) = 1 2 (w1 + w2 ) = 1 2 [u0(x − 3t) + u0(x − t)] (9.2.15) v(t, x) = 1 2 (w1 − w2 ) = 1 2 [u0(x − 3t) − u0(x − t)] (9.2.16) Note que a solu¸c˜ao depende de duas partes independentes, uma onda propagando- se com velocidade 3 e outra com velocidade 1. Observa¸c˜ao: Caso a equa¸c˜ao ut + a(t, x)ux = 0 (9.2.17) tenha velocidade de propaga¸c˜ao a(t, x) vari´avel ou seja um sistema do tipo ut + A(t, x)ux + B(t, x)u = F(t, x) (9.2.18) as caracter´ısticas n˜ao s˜ao necessariamente linhas retas. Para um exemplo online do m´etodo das caracter´ısticas veja http://www.scottsarra.org/shock/shockApplet.html
  • 62. Se¸c˜ao 9.3: Condi¸c˜oes de contorno 58 Exerc´ıcio 9.1. Mostre que o PVI ut + (1 + x2 )ux = 0 (9.2.19) n˜ao ´e bem definido. (Considere a regi˜ao originando no eixo x.) Exerc´ıcio 9.2. Obtenha a solu¸c˜ao do sistema ut + ux + vx = 0, u(x, 0) = u0(x) (9.2.20) vt + ux − vx = 0, v(x, 0) = v0(x) (9.2.21) 9.3. Condi¸c˜oes de contorno Considere a equa¸c˜ao (veja a figura 9.1) ut + aux = 0, 0 ≤ x ≤ 1, t > 0 (9.3.1) 0 x t Figura 9.1: Curvas caracter´ısticas para a > 0. Se a > 0 as caracter´ısticas se propagam para a direita. Vemos que a solu¸c˜ao deve ser especificada no contorno x = 0. Al´em disso, nenhuma condi¸c˜ao de contorno deve ser dada em x = 1. Para a condi¸c˜ao inicial u(0, x) = u0(x) e condi¸c˜ao de contorno u(t, 0) = g(t) a solu¸c˜ao ´e dada por u(t, x) = u0(x − at), x − at > 0 g(t − x/a), x − at < 0 (9.3.2) Em x − at = 0 haver´a uma descontinuidade se u0(0) = g(0). Se a < 0 o papel dos contornos ´e trocado. Exemplo 36. Considere o sistema u v t + a b b a u v x = 0 (9.3.3) em 0 ≤ x ≤ 1. Os autovalores s˜ao a + b e a − b. Consideremos o caso onde a, b > 0.
  • 63. Se¸c˜ao 9.3: Condi¸c˜oes de contorno 59 0 x t 0 x t Figura 9.2: Curvas caracter´ısticas para 0 < b < a e 0 < a < b. Se 0 < b < a ent˜ao ambas as caracter´ısticas se propagam para a direita (veja a figura 9.2). Isto significa que u e v devem ser especificadas em x = 0. Note que a declividade da curva caracter´ıstica ´e a inversa da velocidade. Se 0 < a < b, ent˜ao as caracter´ısticas se movem em dire¸c˜ao opostas (j´a que a λ2 = a − b < 0). Transformando o sistema encontramos (u + v)t + (a + b)(u + v)x = 0 (9.3.4) (u − v)t + (a − b)(u − v)x = 0 (9.3.5) Assim devemos especificar a condi¸c˜ao de contorno u + v em x = 0 (pois move-se para a direita) e u − v em x = 1. De forma geral, as condi¸c˜oes de contorno devem ser da forma u + v = α0(u − v) + β0(t), x = 0 (9.3.6) u − v = α1(u + v) + β1(t), x = 1 (9.3.7) para o problema ter uma ´unica solu¸c˜ao (dito um problema bem-posto). Note que tal condi¸c˜ao de contorno especifica a caracter´ıstica incoming em termos da caracter´ıstica outgoing. Note que: • especificar u ou v em x = 0 e especificar u ou v em x = 1 torna o sistema bem-posto; • especificar u − v em x = 0 torna o sistema mal-posto; • especificar u + v em x = 1 torna o sistema mal-posto; • o n´umero de condi¸c˜oes de contorno ´e igual ao n´umero de caracter´ısticas incoming. • Problemas peri´odicos Podemos tamb´em fornecer condi¸c˜oes de contorno peri´odicas como u(t, 0) = u(t, 1) (9.3.8) que na verdade n˜ao ´e uma condi¸c˜ao de contorno, j´a que num problema peri´odico n˜ao h´a contornos.
  • 64. Se¸c˜ao 9.4: Diferen¸cas finitas 60 Exerc´ıcio 9.3. Considere o problema (9.3.3) com a = 0 e b = 1, e condi¸c˜oes de contorno u(t, 0) = 0 v(t, 1) = 1 (9.3.9) Mostre que se a condi¸c˜ao inicial ´e u(0, x) = x v(0, x) = 1 (9.3.10) ent˜ao a solu¸c˜ao ´e u(t, x) = x e v(t, x) = 1 − t, para t ≥ 0, 0 ≤ x ≤ 1. Exerc´ıcio 9.4. Considere o problema (9.3.3) com a = 0 e b = 1, e condi¸c˜oes de contorno u(t, 0) = 0 v(t, 1) = 1 + t (9.3.11) Mostre que se a condi¸c˜ao inicial ´e u(0, x) = x v(0, x) = 1 (9.3.12) ent˜ao para 0 ≤ x + t ≤ 3 a solu¸c˜ao ´e u v =    x 1 − t , 0 ≤ t < 1 − x, 2x + t − 1 2 − x − 2t , 1 − x ≤ t < 1 + x, 3x 3 − 3t , 1 + x ≤ t < 3 − x. (9.3.13) 9.4. Diferen¸cas finitas Defini¸c˜ao 9.4.1. Sejam 0 < h, k ≪ 1, uma malha ou grid ser´a os pontos (tn, xi) = (nk, ih) para arbitr´arios n, i inteiros. Denotamos vn i ≡ v(tn, xi) (9.4.1) o valor de v no ponto (tn, xi). A id´eia b´asica do m´etodo de diferen¸cas finitas ´e substituir as derivadas por dife- ren¸cas finitas. Por exemplo, a derivada forward ´e ∂u ∂t (nk, ih) ≈ u((n + 1)k, ih) − u(nk, ih) k (9.4.2) e a derivada central ´e ∂u ∂t (nk, ih) ≈ u((n + 1)k, ih) − u((n − 1)k, ih) 2k (9.4.3) Considerando a equa¸c˜ao de advec¸c˜ao ut + aux = 0 (9.4.4) podemos obter os seguintes esquemas/m´etodos
  • 65. Se¸c˜ao 9.4: Diferen¸cas finitas 61 Forward-Time Forward-Space (FTFS) vn+1 i − vn i k + a vn i+1 − vn i h = 0 (9.4.5) Forward-Time Backward-Space (FTBS) vn+1 i − vn i k + a vn i − vn i−1 h = 0 (9.4.6) Forward-Time Central-Space (FTCS) vn+1 i − vn i k + a vn i+1 − vn i−1 2h = 0 (9.4.7) Leapfrog vn+1 i − vn−1 i 2k + a vn i+1 − vn i−1 2h = 0 (9.4.8) Lax-Friedrichs vn+1 i − 1 2 (vn i+1 + vn i−1) k + a vn i+1 − vn i−1 2h = 0 (9.4.9) Qual desses esquemas funciona? Qual ´e mais preciso? Qual ´e mais eficiente? Cada um deles pode ser reescrito isolando vn+1 i . O primeiro se torna vn+1 i = vn i − a k h (vn i+1 − vn i ) (9.4.10) onde λ = k/h. Note que ´e um esquema de passo simples. Conhecidos v0 i ´e poss´ıvel determinar vn i para todo n. Entretanto para usar o esquema Leapfrog (9.4.8) (que ´e de passo m´ultiplo), ´e necess´ario fornecer os valores de v0 i e v1 i , e usar o esquema para n ≥ 2. 9.4.1. C´odigos Para utilizar o esquema com diferen¸cas pra frente no tempo e no espa¸co (9.4.5) n˜ao precisamos armazenar a solu¸c˜ao para todos os valores de tempo n, apenas os mais recentes. A id´eia ´e usar um vetor v(i) para armazenar a solu¸c˜ao no tempo n, vn i , e um vetor vnew(i) para o tempo n + 1, vn+1 i . Os valores de vnew s˜ao calculados a partir do tempo anterior v. Depois que vnew est´a calculado, os valores de v s˜ao atualizados com esses valores e o passo de tempo ´e incrementado.
  • 66. Se¸c˜ao 9.4: Diferen¸cas finitas 62 Note no c´odigo que temos N intervalos iguais e N+1 pontos de x1 at´e xN+1. function [v]=adveccao(N,Tfinal) L = 1; % extremo direito a = 1; % velocidade h = L/N; % passo k = 0.8*h; % passo de tempo x = linspace(0,L,N+1); % dominio v = exp(-8*(x-0.5).^2) % cond. inicial ItTotal = Tfinal/k; for n=1:ItTotal for i=2:N; vnew(i)=v(i) +a*k*(v(i+1)-v(i))/h; end vnew(1 ) = 0; % cond.contorno vnew(N+1) = 0; % cond.contorno v = vnew; end plot(x,v,’r*-’);xlabel(’x’);ylabel(’v’); title(’Solucao em t=2’) Exemplo 37. Compute a solu¸c˜ao de ut + ux = 0 para −3 ≤ x ≤ 3 e t ≥ 0 com condi¸c˜oes u0(x) = 1 − |x|, |x| ≤ 1 0, c.c. (9.4.11) u(x, −3) = 0 (9.4.12) usando h = 0.1 e λ = 0.8 usando o m´etodo (9.4.5) vn+1 i − vn i k + a vn i+1 − vn i h = 0. (9.4.13) Plote a solu¸c˜ao aproximada para o tempo t = 1.6 juntamente com a solu¸c˜ao exata. Repita o c´alculo com h = 0.05 e λ = 0.8. Repita o c´alculo com h = 0.1 e λ = 1.6. Talvez reduzindo o valor de h. Repita o c´alculo com h = 0.05 e λ = 1.6. Exemplo 38. Repita o exerc´ıcio anterior, por´em utilizando o m´etodo de Lax-Friedrichs, vn+1 i − 1 2 (vn i+1 + vn i−1) k + a vn i+1 − vn i−1 2h = 0. (9.4.14) Note que ´e necess´ario fornecer uma condi¸c˜ao extra no extremo direito x = 3, tal como, vn+1 N = vn+1 N−1.
  • 67. Se¸c˜ao 9.4: Diferen¸cas finitas 63 Exemplo 39. Repita o exerc´ıcio anterior, por´em utilizando o m´etodo de Leapfrog, vn+1 i − vn−1 i 2k + a vn i+1 − vn i−1 2h = 0. (9.4.15) Aqui tamb´em ´e necess´ario fornecer uma condi¸c˜ao extra no extremo direito x = 3, tal como, vn+1 N = vn+1 N−1. Al´em disso, esse esquema requer que outro esquema seja usado para calcular a solu¸c˜ao em n = 1 (pode ser necess´ario armazenar trˆes passos de tempo consecutivos). Exerc´ıcio 9.5. Para x ∈ [−1, 3] e t ∈ [0, 2.4], resolva ut + ux = 0 (9.4.16) u(0, x) = cos2 (πx), |x| ≤ 1 2 0, c.c. (9.4.17) u(t, −1) = 0. (9.4.18) Use quatro esquemas: a. (FTBS) com λ = 0.8 e h = 1 10 , 1 20 , 1 40 . b. (FTCS) com λ = 0.8 e h = 1 10 , 1 20 , 1 40 . c. (Lax-Friedrichs) com λ = 0.8,λ = 1.6 e h = 1 10 , 1 20 , 1 40 . d. (Leapfrog) com λ = 0.8 e h = 1 10 , 1 20 , 1 40 . Para os esquemas (b), (c) e (d) utilize a condi¸c˜ao a direita vn+1 N = vn+1 N−1 em x = 3. Para o esquema (d) use o esquema (b) para calcular a solu¸c˜ao em n = 1. Para cada esquema determine se o esquema ´e ´util/in´util (a solu¸c˜ao n˜ao pode crescer demais). Fa¸ca v´arios gr´aficos. Relate o que acontece ao diminuir h para os esquemas in´uteis. Existe um padr˜ao? Para os casos ´uteis, como o erro decresce quando o espa¸camento da malha decresce, i.e, quando h diminui pela metade, como o erro ´e reduzido? Exerc´ıcio 9.6. Resolva o sistema ut + 1 3 (t − 2)ux + 2 3 (t + 1)wx + 1 3 u = 0 (9.4.19) wt + 1 3 (t + 1)ux + 1 3 (2t − 1)wx − 1 3 w = 0 (9.4.20) pelo m´etodo de Lax-Friedrichs. Cada equa¸c˜ao ´e aproximada como no caso escalar e iterada passo a passo. As condi¸c˜oes iniciais s˜ao u(0, x) = max(0, 1 − |x|) (9.4.21) w(0, x) = max(0, 1 − 2|x|) (9.4.22) Considere x ∈ [−3, 3] e t ∈ [0, 2]. Fa¸ca h = 1/20 e λ = 1 2 . Use as condi¸c˜oes de contorno unew(1)=0; unew(N)=0; wnew(1)=wnew(2); wnew(N)=wnew(N-1);
  • 68. Se¸c˜ao 9.5: Convergˆencia e consistˆencia 64 Descreva o comportamento da solu¸c˜ao para t ∈ [1.5, 2]. Fa¸ca alguns gr´aficos. Exerc´ıcio 9.7. Resolva ut + 1 3 (t − 2)ux + 2 3 (t + 1)wx = 0 (9.4.23) wt + 1 3 (t + 1)ux + 1 3 (2t − 1)wx = 0 (9.4.24) como no exerc´ıcio anterior. Examinando a solu¸c˜ao num´erica obtenha uma solu¸c˜ao anal´ıtica para o problema. 9.5. Convergˆencia e consistˆencia Considere EDP’s lineares da forma P(∂t, ∂x)u = f(t, x) (9.5.1) de 1.a ordem no tempo. Assuma que dada uma condi¸c˜ao inicial u(0, x) a solu¸c˜ao ´e unicamente determinada. Veja os exemplos: ut − buxx + aux = 0 (9.5.2) ut − cutxx + buxxxx = 0 (9.5.3) ut + cutx + aux = 0 (9.5.4) Para um m´etodo num´erico ser ´util ´e necess´ario que sua solu¸c˜ao aproxime a solu¸c˜ao da EDP e que a aproxima¸c˜ao melhore quando h, k tendem a zero. Defini¸c˜ao 9.5.1. Um esquema de diferen¸cas finitas de passo simples que apro- xima uma EDP ´e convergente se para qualquer u(t, x) exata e un i aproximada, tal que u0 m converge para u0(x) quando h → 0, ent˜ao un i converge para u(t, x) quando h, k convergem para zero. Para m´etodos de passo m´ultiplo onde ´e necess´ario especificar os primeiros n´ıveis, a defini¸c˜ao ´e alterada requerendo que uj i convirja para u0(xj) para 0 ≤ j ≤ J. Exemplo 40. Nos exemplos anteriores, os esquemas de Lax-Friedrichs e leapfrog s˜ao convergentes para λ = 0.8. Quando h, k decrescem, as solu¸c˜oes se tornam melhores. Quando λ = 1.6 o esquema de Lax-Friedrichs n˜ao ´e convergente. Defini¸c˜ao 9.5.2. Dada uma EDP Pu = f e um esquema em diferen¸cas finitas Ph,kv = f, dizemos que o esquema ´e consistente com a EDP se para qualquer φ(t, x) suave Pφ − Ph,kφ → 0 quando k, h → 0, (9.5.5) a convergˆencia sendo pontual em cada ponto da malha. Pode ser necess´ario restringir a maneira que h e k tendem a zero.
  • 69. Se¸c˜ao 9.5: Convergˆencia e consistˆencia 65 Exemplo 41. Considere o esquema FTFS com operador de diferen¸cas dado por Pk,hφ = φn+1 i − φn i k + a φn i+1 − φn i h (9.5.6) associado ao operador cont´ınuo Pφ = φt + aφx. (9.5.7) onde φn i = φ(nk, ih) (9.5.8) Expandindo em s´erie de Taylor para t e x obtemos, φn+1 i = φn i + kφt + 1 2 k2 φtt + O(k3 ) (9.5.9) φn i+1 = φn i + hφx + 1 2 h2 φxx + O(h3 ) (9.5.10) onde as derivadas s˜ao calculadas em (tn, xi), e assim Pk,hφ = φt + aφx + 1 2 kφtt + 1 2 hφxx + O(k2 ) + O(h2 ) (9.5.11) levando a Pφ − Pk,hφ = − 1 2 kφtt − 1 2 hφxx + O(k2 ) + O(h2 ) (9.5.12) =→ 0 quando k, h → 0 (9.5.13) Portanto, o esquema ´e consistente. Exemplo 42. Para o esquema de Lax-Friedrichs Pk,hφ = φn+1 i − 1 2 (φn i+1 + φn i−1) k + a φn i+1 − φn i−1 2h (9.5.14) usando a s´erie de Taylor φn i+1 = φn i + hφx + 1 2 h2 φxx + 1 6 h3 φxxx + O(h4 ) (9.5.15) φn i−1 = φn i − hφx + 1 2 h2 φxx − 1 6 h3 φxxx + O(h4 ) (9.5.16) onde as derivadas s˜ao calculadas em (tn, xi); obtendo 1 2 (φn i+1 + φn i−1) = φn i + 1 2 h2 φxx + O(h4 ) (9.5.17) e φn i+1 − φn i−1 2h = φx + 1 6 h2 φxxx + O(h4 ) (9.5.18)
  • 70. Se¸c˜ao 9.6: Estabilidade 66 Substituindo no esquema obtemos Pk,hφ = φt + aφx + 1 2 kφtt − 1 2 k−1 h2 φxx (9.5.19) + 1 6 ah2 φxxx + O(h4 + k−1 h4 + k2 ) (9.5.20) Assim, Pφ − Pk,hφ → 0 quando h, k → 0 e ´e consistente se k−1 h2 → 0. Consistˆencia implica que a solu¸c˜ao da EDP, se for suave, ´e uma solu¸c˜ao aproxi- mada do problema discreto. Similarmente, conergˆencia significa que a solu¸c˜ao discreta aproxima a solu¸c˜ao da EDP. Consistˆencia ´e uma condi¸c˜ao necess´aria para convergˆencia, mas um esquema pode ser consistente e n˜ao convergente. Exemplo 43. Considere a equa¸c˜ao ut + ux = 0 com o esquema un+1 i − un i k + a un i+1 − un i h = 0 (9.5.21) que pode ser reescrito como un+1 i = un i − k h (un i+1 − un i ) (9.5.22) = (1 + λ)un i − λun i+1 (9.5.23) onde λ = k/h. Este esquema ´e consistente (exemplo anterior). Considere a condi¸c˜ao inicial u0(x) = 1, −1 ≤ x ≤ 0 0, c.c. (9.5.24) A solu¸c˜ao ´e uma transla¸c˜ao de u0 da esquerda para a direita, ou seja, a informa¸c˜ao est´a se movendo nessa dire¸c˜ao. Entretanto o esquema (9.5.23) calcula a solu¸c˜ao em (tn, xi) utilizando somente informa¸c˜ao de pontos a direita xi e xi+1 em tempos anteriores. Assim a solu¸c˜ao ser´a vn i = 0 para i > 0 e n > 0, n˜ao podendo convergir para u(t, x). Exerc´ıcio 9.8. Mostre que o esquema FTCS (9.4.7) ´e consistente com ut + ux = 0. Exerc´ıcio 9.9. Mostre que o esquema leapfrog (9.4.8) ´e consistente com ut +ux = 0. Exerc´ıcio 9.10. Mostre que o esquema vn+1 i − vn i k + c vn+1 i+1 − vn+1 i−1 − vn i+1 + vn i−1 2kh + a vn i+1 − vn i−1 2h = fn i (9.5.25) ´e consistente com a equa¸c˜ao ut + cutx + aux = f. 9.6. Estabilidade O ´ultimo exemplo mostra que consistˆencia n˜ao ´e suficiente para garantir convergˆencia. Considere EDP’s homogˆeneas, f = 0.
  • 71. Se¸c˜ao 9.6: Estabilidade 67 Defini¸c˜ao 9.6.1. A norma L2 na malha ´e definida como w h := (h ∞ i=−∞ |wi|2 ) 1 2 (9.6.1) Defini¸c˜ao 9.6.2. Um esquema em diferen¸cas finitas Pk,hvn i = 0 para uma equa¸c˜ao de 1.a ordem ´e est´avel numa regi˜ao Λ se ∃J inteiro tal que ∀T > 0, ∃CT tal que vn h ≤ CT J j=0 vj 2 h (9.6.2) para 0 ≤ nk ≤ T , com (k, h) ∈ Λ. Isto significa que para ser est´avel a solu¸c˜ao em t ∈ [0, T ] deve permanecer limitada por CT vezes a norma dos J + 1 dados iniciais (J = 0 para m´etodos de passo simples e J > 0 para passo m´ultiplo). Uma regi˜ao de estabilidade Λ ⊂ R2 ´e limitada, cont´em a origem e uma sequˆencia (kν, hν) → (0, 0) quando ν → ∞. Um exemplo comum ´e uma regi˜ao da forma {(k, h) : 0 < k ≤ ch ≤ C}, para algum c, C > 0. Exemplo 44. Mostre que um esquema da forma un+1 i = αun i + βun i+1 (9.6.3) ´e est´avel se |α| + |β| ≤ 1. Solu¸c˜ao: Calculando a norma de un+1 , temos ∞ i=−∞ |un+1 i |2 = ∞ i=−∞ |αun i + βun i+1|2 (9.6.4) ≤ ∞ i=−∞ |α|2 |un i |2 + 2|α||β||un i ||un i+1| + |β|2 |un i+1|2 (9.6.5) ≤ ∞ −∞ α|2 |un i |2 + |α||β|(|un i |2 + |un i+1|2 ) + |β|2 |un i+1|2 (9.6.6) = ∞ −∞ (|α|2 + 2|α||β| + |β|2 )|un i |2 (9.6.7) =(|α| + |β|)2 ∞ i=−∞ |un i |2 (9.6.8) onde usamos 2xy ≤ x2 + y2 . Assim un+1 h ≤ (|α| + |β|) un h (9.6.9)