Documente Academic
Documente Profesional
Documente Cultură
Página 1
✐ ✐ "Rjlfdm"
2007/6/1
✐ página
✐ 113
Capítulo 5
Equações
Neste capítulo, começamos um estudo de equações diferenciais dependentes do tempo, começando com
o problema do valor inicial (IVP) para uma equação diferencial ordinária (ODE) dependente do tempo.
Os textos introdutórios padrão são Ascher e Petzold [5], Lambert [59], [60] e Gear [33].
Henrici [45] dá os detalhes sobre algumas questões teóricas, embora equações rígidas não sejam
discutido. Butcher [12] e Hairer, Nørsett e Wanner [43, 44] fornecem informações mais recentes.
levantamentos do campo.
O IVP assume a forma
você
.t / D
0 fut /; t / for t> t 0 (5.1)
Esta terceira ordem requer três condições iniciais, tipicamente especificadas como
v.0 / D 1 ;
v 0,0
0 /D2; (5.3)
v 00.0 / D 3 :
113
✐ ✐
✐ ✐
https://translate.googleusercontent.com/translate_f 1/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
Página 2
✐ ✐ "Rjlfdm"
2007/6/1
✐ página
✐ 114
Podemos reescrever isso como um sistema da forma (5.1), (5.2), introduzindo as variáveis
u 1 .t / D vt /;
u 2 .t / D v0 .t /;
u 3 .t / D v00 .t /:
Então as equações assumem a forma
u 01.t / D u 2 .t /;
u 02.t / D u 3 .t /;
u 03.t / D u 1 .t / u 2 .t / 2tu32 .t /;
que define a função vetorial fu; t /. A condição inicial é simplesmente (5.2), onde o
três componentes de vêm de (5.3). Mais geralmente, qualquer equação única de ordem
pode ser reduzido para m equações de primeira ordem definindo u j .t / D v .j 1 / .t /, e uma ordem de m
O sistema de equações s pode ser reduzido a um sistema de equações de primeira ordem.
Veja a Seção D.3.1 para um exemplo de como este procedimento pode ser usado para determinar
solução geral de uma equação diferencial linear de ordem r.
Também é útil notar que qualquer dependência explícita de f on t pode ser
eliminado pela introdução de uma nova variável que é simplesmente igual a t. No exemplo acima
nós poderíamos definir
u 4 .t / D t
de modo que
vc.t04/ D 1 e u 4 .t 0 / D t 0 :
O sistema assume então a forma
você
.t / D
0 f .ut // (5.4)
com 3
você 2 1
você 3 7 7 e ut 0 / D 266 4
2 7
7:
fu / D 266
4 u 1 u 2 2u 4 u 2 5 3 5
3
1 t03
A equação (5.4) é dita autônoma, uma vez que não depende explicitamente do tempo. Ele
Muitas vezes é conveniente supor que f é desta forma, pois simplifica a notação.
f .u; t / D em / u C gt /; (5,5)
✐ ✐
✐ ✐
Página 3
✐ ✐ "Rjlfdm"
2007/6/1
✐ página
✐ 115
https://translate.googleusercontent.com/translate_f 2/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
ut / D e A.t t 0 / ; (5,7)
onde o exponencial da matriz é definido como no Apêndice D. No caso escalar, usamos freqüentemente
no lugar de A.
Isso é conhecido como o princípio de Duhamel . A matriz e A.t / é o operador de solução para o
problema homogêneo; ele mapeia dados no momento para a solução no momento t ao resolver o
equação homogênea. O princípio de Duhamel afirma que o termo não homogêneo g. / at
qualquer instante tem efeito na solução no tempo t dado por e A.t / g. /. Note que isto é
muito semelhante à idéia de uma função de Green para o problema do valor limite (BVP).
Como um caso especial, se AD 0, então a ODE é simplesmente
você
.t / D
0 gt / (5,9)
t
ut / D CZ g. / d : (5,10)
t 0
Como outro caso especial, suponha que A seja constante e, portanto, seja gt / g 2 R s . Então (5.8)
reduzir para
t
ut / D e A.t t / C Z 0 e A.t / d g: (5,11)
t 0
Esta integral pode ser calculada, por exemplo, expressando e A.t / como para a série de Taylor como em (D.31)
e, em seguida, integrar termo por termo. Isso dá
Zt
e A.t / d DA 1 Ae A.t t / I 0
(5,12)
t 0
e assim
ut / D e A.t t 0 / CA 1 Ae A.t t / I g: 0
(5,13)
Isso pode ser familiar no caso escalar e vale também para sistemas de coeficientes constantes
(desde que A seja não singular). Esta forma da solução é usada explicitamente em exponencial
métodos de diferenciação de tempo; consulte a Seção 11.6.
✐ ✐
✐ ✐
Página 4
✐ ✐ "Rjlfdm"
2007/6/1
✐ página
✐ 116
Na última seção, consideramos os ODEs lineares, para os quais sempre existe uma solução única.
Na maioria das aplicações, entretanto, estamos preocupados com problemas não-lineares para os quais
geralmente não é uma fórmula explícita para a solução. A teoria padrão para a existência de um
solução para o problema do valor inicial
(5,14)
https://translate.googleusercontent.com/translate_f 3/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
você
.t / D
0 f .u; t /; u.0 / D u
é discutido em muitos textos, por exemplo, [15]. Para garantir que existe uma solução única, é
necessário exigir uma certa quantidade de suavidade na função f .u; t / de (5.14). Nós
diga que a função f .u; t / é Lipschitz contínuo em u em algum domínio
DD fu; t / W ju j em 0 t t 1 g
se houver alguma constante L 0 para que
jf .u; t / fu j (5,15)
; t / j Lju u
para todos. t / e .u ; t / em D. Isto é ligeiramente mais forte que a mera continuidade, que somente
requer que jf .u; t / f .u ; t / j! 0 como você! .você A continuidade de Lipschitz requer que
jf.u; t / fu ; t / j D O.ju u j / como vc! u .
Se fu; t / é diferenciável em relação a u em D e esta derivada f u D @f = @ u é
delimitada então podemos tomar
LD max jf u .u; t / j;
.u; t / 2D
desde
/
fu; t / D fu ; t / C f u .v; t / .u u
para algum valor v entre u e u .
Exemplo 5.2 Para o problema linear.tu /0 D ut / C gt /, f 0.u / e nós podemos
tome LD j j. Este problema, claro, tem uma solução única para qualquer dado inicial dado por
(5.8) com AD .
Em particular, se 0 D 0 então LD 0. Neste caso f .u; t / D gt / é independente de u.
A solução é então obtida simplesmente integrando a função gt /, como em (5.10).
SD max jf .u; t / j:
.u; t / 2D
Note que este é o módulo máximo da inclinação que a solução pode alcançar neste
intervalo de tempo, de modo que até o tempo t 0 Ca = S sabemos que ut / permanece no domínio D onde
(5,15) aguenta.
✐ ✐
✐ ✐
Página 5
✐ ✐ "Rjlfdm"
2007/6/1
✐ página
✐ 117
você
.t / D
0 .ut // 2 ; u.0 / D > 0:
A função fu / D u 2 é independente de t e é Lipschitz contínua em u sobre qualquer
intervalo finito ju j a com LD 2. C a /, e o declive máximo ao longo deste intervalo
é SD . C a / 2 . O teorema garante que existe uma solução única pelo menos até o momento
a = . Ca / 2 . Como a é arbitrária, podemos escolher maximizar essa expressão, que gera
um D e assim há uma solução pelo menos até o tempo 1 = 4 .
Na verdade, este problema pode ser resolvido analiticamente e a solução única é
1
ut / d :
1 t
Note que ut /! 1 como t! 1 = . Não há solução além do tempo 1 = .
Se a função não é Lipschitz contínua em qualquer bairro de algum ponto, então
o problema de valor inicial pode deixar de ter uma solução única em qualquer intervalo de tempo se este
valor inicial é imposto.
https://translate.googleusercontent.com/translate_f 4/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
Exemplo 5.4 Considere o problema do valor inicial
você
.t / D
0 pu.t /
✐ ✐
✐ ✐
Página 6
✐ ✐ "Rjlfdm"
2007/6/1
✐ página
✐ 118
já que a derivada de sin. / é limitada por 1. Então, temos a continuidade de Lipschitz com LD 1:
kf.u / fu / k 1 ku k 1 :
✐ ✐
✐ ✐
Página 7
✐ ✐ "Rjlfdm"
2007/6/1
✐ página
✐ 119
10
9
8
7
6
5
4
3
2
1
00 0,10,20,30,40,50,60,70,80,9 1
Figura 5.1 Curvas de solução para o exemplo 5: 6 , em que LD 0 .
3 5
4
2 3
1 2
1
0 0
-1
-1 -2
-2 -3
-4
(a)-3 0,10,20,30,40,50,60,70,80,9 1
0 (b) -5 0,10,20,30,40,50,60,70,80,9 1
0
5.2.4 Limitações
Na verdade, a constante de Lipschitz não é a ferramenta perfeita para este propósito, uma vez que não
distinguir entre divergência rápida e convergência rápida de curvas de solução. Em ambos
Figura 5.2 (a) e Figura 5.2 (b) a constante de Lipschitz tem o mesmo valor LD j j D 3.
Mas esperamos que as curvas de solução convergentes rápidas como na Figura 5.2 (a) sejam
mais fácil de manusear numericamente do que rapidamente divergentes. Se cometermos um erro em algum momento,
Então o efeito desse erro deve decair em tempos posteriores, em vez de crescer. Até certo ponto
isso é verdade e, como resultado, erro baseado na constante de Lipschitz pode ser ordens de
magnitude muito grande nesta situação.
No entanto, as curvas de solução convergentes também podem causar sérias dificuldades numéricas.
culties, que não se pode esperar à primeira vista. Isso é discutido em detalhes no Capítulo 8,
que abrange equações rígidas.
https://translate.googleusercontent.com/translate_f 6/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
Deve-se também ter em mente que um pequeno valor da constante de Lipschitz não
basicamente significa que duas curvas de solução começando juntas ficarão juntas
pra sempre
Exemplo 5.8 Considere duas soluções para o problema do pêndulo no Exemplo 5.5,
um com dados iniciais
1 .0 / D ; v 1 .0 / D 0;
e o outro com
✐ ✐
✐ ✐
Página 8
✐ ✐ "Rjlfdm"
2007/6/1
✐ página
✐ 120
2 .0 / D C ; v 2 .0 / D 0:
A constante de Lipschitz é 1 e os dados diferem em 2 , que podem ser arbitrariamente pequenos e
ainda assim as soluções acabam divergindo dramaticamente, enquanto a Solução 1 cai em direção a D 0, enquanto
na solução 2, o pêndulo cai para o outro lado, em direção a D 2 .
Neste caso, o IVP está muito mal condicionado: pequenas alterações nos dados podem levar a ordem
1 mudanças na solução. Como sempre na análise numérica, a solução do mal-condicionado
problemas podem ser muito difíceis de calcular com precisão.
Começamos listando algumas abordagens padrão para discretizar (5.1). Note que o IVP
difere do BVP considerado antes em que nos são dados os dados no tempo inicial
t 0 D 0 e a partir disso devemos ser capazes de avançar no tempo, aproximando-nos
em tempos sucessivos t 1 ; t 2 ;::. Usaremos k para designar o intervalo de tempo, de modo que n t D para NK
n 0. É conveniente usar o símbolo k, que é diferente do tamanho da grade espacial
h, já que em breve estudaremos os PDEs que envolvem discretizações espaciais e temporais.
Geralmente os símbolos andt e x são usados.
Nós recebemos dados iniciais
U0D (5,17)
e deseja calcular aproximações U 1 ; U 2 ; ::: satisfazendo
U n ut n /:
Usaremos sobrescritos para indicar o índice da etapa de tempo, antecipando novamente a notação de
PDEs onde usaremos índices para índices espaciais.
O método simplet é o método de Euler (também chamado de forward Euler ), baseado em
ing u 0 .t n / com D C U n D .U nC1 U n / = k de (1.1). Isso dá o método
U nC1 U n D fU n /; (5,18)
n D 0; 1; ::::
k
Em vez de ver isso como um sistema de equações simultâneas como fizemos para o BVP, é
possível resolver isso explicitamente para U nC1 em termos de U n :
https://translate.googleusercontent.com/translate_f 7/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
✐ ✐
✐ ✐
Página 9
✐ ✐ "Rjlfdm"
2007/6/1
✐ página
✐ 121
deve ser resolvido para U nC1 e, em geral, é uma função não linear. Podemos ver isso como
procurando por um zero da função
gu / D u kf. u / U n ;
que pode ser aproximado usando algum método iterativo como o método de Newton .
Porque o método de Euler para trás dá uma equação que deve ser resolvida para U nC1 ,
ele é chamado de método implícito , enquanto o método forward de Euler (5.19) é um método explícito.
método
Outro método implícito é o método trapezoidal , obtido pela média dos dois
Métodos de Euler:
U nC1 U n D 1 .f .U n / C fU nC1 //: (5,22)
k 2
Como é de se esperar, essa aproximação simétrica é de segunda ordem, enquanto a
Os métodos de Euler são apenas de primeira ordem.
Os métodos acima são todos métodos de uma etapa , o que significa que U nC1 é determinado a partir de
U valores n sozinho e anteriores do U não são necessários. Uma maneira de obter maior precisão de pedidos
é usar um método de várias etapas que envolve outros valores anteriores. Por exemplo, usando o
aproximação
ut C / k ut / k / D u 0.t / C 1 k 2 u 000
.t / C Ok 3 /
2k 6
produz o método do ponto médio (também chamado de método leapfrog ),
U nC1 U n 1 D fU n / (5,23)
2k
ou
U nC1 DU n 1 C 2kf.U n /; (5,24)
que é um método preciso de 2 passos preciso de segunda ordem. A aproximação D 2 u de
(1.11), reescrito na forma
3u.t Ck / 4u.t / C ut k / D u 0.t C k / C 1 k 2 u 000
.t C k / C ;
2k 12
produz um método implícito de 2 passos de segunda ordem
O erro de truncamento para esses métodos é definido da mesma maneira que no Capítulo 2. Escrevemos
a equação da diferença na forma que modela diretamente as derivadas (por exemplo, na forma
✐ ✐
✐ ✐
https://translate.googleusercontent.com/translate_f 8/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
Página 10
✐ ✐ "Rjlfdm"
2007/6/1
✐ página
✐ 122
(5.23) em vez de (5.24)) e, em seguida, insira a solução verdadeira para a ODE na diferença
equação Em seguida, usamos a expansão da série de Taylor e cancelamos termos comuns.
Exemplo 5.9 O erro de truncamento local (LTE) do método do ponto médio (5.23) é
definido por
ut nC1 / ut n 1 / f .ut n //
n D
2k
1
D u 0 .t n / C k 2 u 000 .t n / C Ok 4 / u 0 .t n /
6
1
D k 2 u 000 .t n / C Ok 4 /:
6
Note que uma vez que é / é a verdadeira solução do ODE, u 0 .t n / D f .ut n //. O Ok 3 / termo
desaparece por simetria. O erro de truncamento é Ok 2 / e assim dizemos que o método é o segundo
ordem precisa , embora não seja claro que o erro global terá esse comportamento. Como
sempre, precisamos de alguma forma de estabilidade para garantir que o erro global exibirá
mesma taxa de convergência que o erro de truncamento local. Isso será discutido abaixo.
Em grande parte da literatura referente a métodos numéricos para ODEs, uma definição
A inição do erro de truncamento local é usada com base no formulário (5.24), por exemplo,
em vez de (5.23). Denotando este valor por L n , temos
L n D ut nC1 / ut n 1 / 2kf.ut n // (5,26)
D 1 k 3 u 000 .t n / C Ok 5 /:
3
Como L n D 2k n , este erro local é Ok 3 / em vez de Ok 2 /, mas é claro que o global
erro permanece o mesmo e será Ok 2 /. Usando esta definição alternativa, muitos padrões
resultados na teoria ODE dizem que um método preciso de ordem pth deve ter um LTE que é
Ok pC1 /. Com a notação que estamos usando, um método preciso de ordem pth tem um LTE que é
Ok p . A notação usada aqui é consistente com a prática padrão para PDEs e leads
para uma teoria mais coerente, mas devemos estar cientes dessa possível fonte de confusão.
Neste livro, L n será chamado de erro de uma etapa , pois isso pode ser visto como o erro
que seria introduzido em uma etapa de tempo se os valores passados forem U n ; U n1 ; ::: foram todos tirados
para ser os valores exatos de ut /. Por exemplo, no método do ponto médio (5.24), supomos
que
U n D ut n / e U n 1 D ut n 1 /
e agora usamos esses valores para calcular U nC1 , uma aproximação para/: ut nC1
U nC1 D ut n 1 / C 2kf.ut n //
D ut n 1 / C 2ku 0 .t n /:
Então o erro é
ut nC1 / U nC1 D ut nC1 / ut n 1 / 2ku 0 .t n / DL n :
✐ ✐
✐ ✐
Página 11
✐ ✐ "Rjlfdm"
2007/6/1
✐ página
✐ 123
https://translate.googleusercontent.com/translate_f 9/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
O método forward de Euler (5.19) pode ser derivado usando uma expansão da série / de Taylor do ut nC1
sobre ut n /:
1
ut nC1 / D ut n / C ku 0 .t n / C k 2 u 00 .t n / C : (5,27)
2
Se descartarmos todos os termos de ordem k 2 e superiores e usarmos a equação diferencial para substituir
u 0 .t n / com fut n /; t n /, obter
ut nC1 / ut n / C kf.ut n /; t n /:
Isso sugere o método (5.19). O erro de 1 passo é Ok 2 / desde que descemos termos deste
encomendar
Um método da série de Taylor de maior precisão pode ser derivado, mantendo mais termos em
a série de Taylor. Se mantivermos os primeiros p C 1 termos da expansão da série de Taylor
ut nC1 / ut n / c ku 0 .t n / C1k 2 u 00 .t n / C C 1 k p u .p / .t n /
2 p!
obtemos um método preciso de ordem pth. O problema é que nos é dado apenas
você
.t / D
0 f .ut /; t /
✐ ✐
✐ ✐
Página 12
✐ ✐ "Rjlfdm"
2007/6/1
✐ página
✐ 124
Isso pode resultar em expressões muito confusas que devem ser trabalhadas para cada equação,
e como resultado, essa abordagem não é usada com frequência na prática. No entanto, é tão óbvio
abordagem que vale a pena mencionar e, em alguns casos, pode ser útil. Um exemplo
deve ser suficiente para ilustrar a técnica e suas limitações.
Exemplo 5.10. Suponha que nós queremos resolver a equação
você
.t / D
0 t 2 sin.ut //: (5,29)
https://translate.googleusercontent.com/translate_f 10/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
Então podemos calcular
u 00.t / D 2t sin.ut // C t 2 cos.ut // u 0 .t /
D 2t sin.ut // C t 4 cos.ut // sin.ut //:
Um segundo método de ordem é dado por
1
U nC1 DU n C kt 2 n sin.U n / C
k 2 Œ2t n sin.U n / nCcos.U
t 4 n / sin.U n / :
2
Obviamente, derivadas de maior ordem podem ser computadas e usadas, mas isso é complicado mesmo para
este exemplo simples Para sistemas de equações, o método se torna ainda mais complicado.
Essa abordagem da série de Taylor é usada em algumas situações, por exemplo,
na derivação do método de Lax-Wendroff para PDE hiperbólicas; veja a Seção 10.3. Ver
também Seção 11.3.
A maioria dos métodos usados na prática não exige que o usuário calcule explicitamente a ordem superior
derivados. Em vez disso, uma aproximação de diferenças finitas de ordem superior é projetada
modela esses termos automaticamente.
Um método de várias etapas do tipo que estudaremos na Seção 5.9 pode alcançar alta precisão
usando interpolação polinomial de alta ordem através de vários valores anteriores do
solução e / ou seu derivado. Para obter o mesmo efeito com um método de 1 passo, é típico
Basicamente necessário usar um método multiestágio , onde os valores intermediários da solução e
suas derivadas são geradas e usadas dentro de um único passo de tempo.
Exemplo 5.11 Um método Runge-Kutta explícito de dois estágios é dado por
1
U DU n C kf.U n /; (5,30)
2
U nC1 DU n C kf. U /:
No primeiro estágio é gerado um valor intermediário que aproxima ut nC1
/ via
= 2 Euler
método No segundo passo a função é avaliada neste ponto médio para estimar a inclinação
ao longo do tempo total. Como isso agora parece uma aproximação centralizada à derivada
podemos esperar pela precisão de segunda ordem, como veremos agora, computando o LTE.
Combinando os dois passos acima, podemos reescrever o método como
1
U nC1 DU n C kf U n C kf.U n / :
2
✐ ✐
✐ ✐
Página 13
✐ ✐ "Rjlfdm"
2007/6/1
✐ página
✐ 125
Visto desta maneira, isso é claramente para o método explícito de um passo. O erro de truncagem é
1 1 (5,31)
n D .ut nC1 / ut n // f ut n / C kf.ut n // :
k 2
Note que
1 1
f ut n / C kf.ut n // Df ut n / C ku 0 .t n /
2 2
Df .ut n // C 1 ku 0 .t n / f 0 .ut n // 1Ck 2 .u 0 .t n // 2 f 00 .ut n // C :
2 8
Desde fut n // D u 0 .t n / e diferenciação dá f 0 .u / u 0 D u 00 , obter
1 0 .t n / C1 ku 00 .t n / C Ok 2 /:
f ut n / C kf.ut n // D u
2 2
Usando isto em (5.31)
1 1
n D ku 0 .t n / C k 2 u 00 .t n / C Ok 3 /
https://translate.googleusercontent.com/translate_f 11/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
k 2
0 u 0 .t n / C 1 ku 00 .t n / C Ok 2 /
2
D Ok 2 /
e o método é de segunda ordem precisa. (Verifique o Ok 2 / termo para ver que isso não
desaparecer.)
Observação : Outra maneira de determinar a ordem de precisão deste método simples é
aplicá-lo à equação de teste especial u 0 D u, que tem solução para nC1 / D e utk ut n /, e
determine o erro neste problema. Aqui
1
U nC1 DU n C k U n C kUn
2
DU n C .k / U n C 1 .k / 2 U n
2
D e k U n C Ok 3 /:
O erro de um passo é Ok 3 / e, portanto, o LTE é Ok 2 /. É claro que só verificamos
que o LTE é Ok 2 / em uma função particular ut / D e t , não em todas as soluções suaves,
e para métodos gerais Runge-Kutta para problemas não autônomos esta abordagem dá
apenas um limite superior na ordem de precisão do método. Aplicando um método para este especial
A equação é também uma ferramenta fundamental na análise de estabilidade - veja o Capítulo 7.
Exemplo 5.12. O método de Runge-Kutta (5.30) pode ser estendido a métodos não-autônomos.
equações da forma u 0.t / D f .ut /; t /:
1
U DU n C kf.U n ; t n /;
2 (5,32)
k
U nC1 DU n C kf U ; t n C :
2
✐ ✐
✐ ✐
Página 14
✐ ✐ "Rjlfdm"
2007/6/1
✐ página
✐ 126
Isso é novamente de segunda ordem precisa, como pode ser verificado expandindo como acima, mas é
um pouco mais complicado, pois as séries de Taylor em duas variáveis devem ser usadas.
Exemplo 5.13 Um método de Runge-Kutta de ordem superior simples é a quarta ordem
método de quatro etapas dada por
E 1 DU n ;
1
E 2 DU n C kf.Y 1 ; t n /;
2
1 k
E 3 DU n C ;
2kf Y 2 ; t n C 2
k (5,33)
E 4 DU n C kf Y 3 ; t n C ;
2
k k
U nC1 DU n C f .Y 1 ; t n / C 2f Y 2 ; t n C
6 2
k
C2f Y 3 ; t n C C4;tnCk/:
2
Note que se fu; t / D ft / não depende de você, então isso reduz a regra de Simpson para
a integral. Este método foi particularmente popular na era do pré-computador, quando
foram feitas à mão, porque os coeficientes são tão simples. Hoje não há necessidade de
manter os coeficientes simples e outros métodos Runge-Kutta têm vantagens.
Um método Runge-Kutta de estágio geral r tem a forma
Xr
E 1 DU n C k um 1j fY j ; t n c C j k /;
jD1
Xr
E 2 DU n C k a 2j f .Y j ; t n c C j k /;
https://translate.googleusercontent.com/translate_f 12/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
jD1
:::
(5,34)
Xr
E r DU n C k um rj f .Y j ; t n c C j k /;
jD1
Xr
U nC1 DU n C k b j fY j ; t n c C j k /:
jD1
Consistência requer
Xr
um ij D c i ; i D 1; 2; :::; r;
jD1 (5,35)
Xr
b j D 1:
jD1
✐ ✐
✐ ✐
Página 15
✐ ✐ "Rjlfdm"
2007/6/1
✐ página
✐ 127
Se estas condições forem satisfeitas, o método será, pelo menos, de primeira ordem.
Os coeficientes para um método de Runge-Kutta são freqüentemente exibidos em um chamado Açougueiro.
tableau:
c 1 a 11 ::: um primeiro
::: ::: :::
c r para r1::: um rr (5,36)
b1 ::: br
Por exemplo, o método Runge-Kutta de quarta ordem dado em (5.33) tem as seguintes
tableau (as entradas não mostradas são todas 0):
0
1/2 1/2
1/2 0 1/2
1 0 0 1
Uma classe importante de métodos Runge-Kutta consiste nos métodos explícitos para
qual ij D 0 para j i. Para um método explícito, os elementos no e acima do
onal na porção a ij do tableau Butcher são todos iguais a zero, como, por exemplo, com
o método de quarta ordem exibido acima. Com um método explícito, cada um dos valores de Y i é
Previamente calculado utilizando apenas o computadorizada Y j.
Método de Runge-Kutta totalmente implícitas, em que cada Y i depende de todo o Y J, pode ser
caro para implementar em sistemas de ODEs. Para um sistema de equações (onde cada Y i é
em R s ), um sistema de equações sr deve ser resolvido para computar os r vetores e simultaneamente.
Uma subclasse de métodos implícitos mais simples de implementar é a diagonal
métodos implícitos de Runge-Kutta (métodos DIRK) nos quais And i depende de Y j para j i, ie,
a ij D 0 para j> i. Para um sistema de equações, os métodos DIRK requerem a resolução de uma sequência
de sistemas implícitos, cada um de tamanho, ao invés de um conjunto de equações como seria
ser exigido em um método Runge-Kutta totalmente implícito. Os métodos DIRK são assim chamados porque
seu quadro tem valores zero acima da diagonal, mas possivelmente elementos diagonais diferentes de zero.
Exemplo 5.14 Um método DIRK preciso de segunda ordem é dado por
E 1 DU n ;
k k
E 2 DU n C fY 1 ; t n / C f Y 2 ; t n C ;
4 2
https://translate.googleusercontent.com/translate_f 13/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
E 3 DU n C k fY 1 ; t n / C f Y 2 ; t n C k C f .e 3; tn Ck / ; (5,37)
3 2
k k
U nC1 DY 3 DU n C f .Y 1 ; t n / C f Y 2 ; t n C C f .e 3; t n C k / :
3 2
Este método é conhecido como o método TR-BDF2 e é derivado de uma forma diferente no
8.5. Seu quadro é
✐ ✐
✐ ✐
Página 16
✐ ✐ "Rjlfdm"
2007/6/1
✐ página
✐ 128
0
1/2 1/4 1/4
1 1/3 1/3 1/3
https://translate.googleusercontent.com/translate_f 14/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
✐ ✐
✐ ✐
Página 17
✐ ✐ “rjlfdm”
2007/6/1
✐ page✐129
the difference between the two results will be an estimate of the one-step error in the lower
order method. This can be used as the basis for choosing an appropriate time step for the
lower order approximation. Often the time step is chosen in this manner, but then the higher
order solution is used as the actual approximation at this time and as the starting point for
the next time step. This is sometimes called local extrapolation . Once this is done there is
no estimate of the error, but presumably it is even smaller than the error in the lower order
method and so the approximation generated will be even better than the required tolerance.
For more about strategies for time step selection, see, for example, [5], [43], [78].
Note, however, that the procedure of using two different methods in every time step
could easily double the cost of the computation unless we choose the methods carefully.
Since the main cost in a Runge–Kutta method is often in evaluating the function f .u; t/,
it makes sense to reuse function values as much as possible and look for methods that
provide two approximations to U nC1 of different order based on the same set of function
evaluations, by simply taking different linear combinations of the f .Y j ; t n Cc j k/ values in
the final stage of the Runge–Kutta method (5.34). So in addition to the value U nC1 given
there we would like to also compute a value
Xr
OU nC1 DU n C k Ob j f .Y j ; t n C c j k/ (5.40)
jD1
that gives an approximation of a different order that can be used for error estimation. These
are called embedded Runge–Kutta methods and are often displayed in a tableau of the form
c 1 a 11 ::: a 1r
::: ::: :::
cr a r1 ::: a rr
(5.41)
b1 ::: br
Ob 1 ::: Ob r
As a very simple example, the second order Runge–Kutta method (5.32) could be
combined with the first order Euler method:
Y 1 DU n ;
1
Y 2 DU n C kf.Y 1 ; t n /;
2 (5.42)
k
U nC1 DU n C kf Y 2 ; t n C ;
2
OU nC1 DU n C kf.Y 1 ; t n /:
Note that the computation of OU nC1 reuses the value fY 1 ; t n / obtained in computing Y 2
and is essentially free. Also note that
✐ ✐
✐ ✐
https://translate.googleusercontent.com/translate_f 15/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
Page 18
✐ ✐ “rjlfdm”
2007/6/1
✐ page✐130
130 Chapter 5. The Initial Value Problem for Ordinary Differential Equations
OU nC1 U nC1 D k f .Y 1 ; t n / f Y 2 ; t n C k
2
k u 0 .t n / u 0 .t nC1=2 / (5.43)
1
k 2 u 00 .t n /;
2
which is approximately the one-step error for Euler's method.
Most software based on Runge–Kutta methods uses embedded methods of higher
order. For example, the ode45 routine in MATLAB uses a pair of embedded Runge-Kutta
methods of order 4 and 5 due to Dormand and Prince [25]. See Shampine and Reichelt [78]
for implementation details (or typeode45 in MATLAB).
Taylor series and Runge–Kutta methods are one-step methods ; the approximation U nC1
depends on U n but not on previous values U n 1 ; U n 2 ; :::. In the next section we will
consider a class of multistep methods where previous values are also used (one example is
the midpoint method (5.24)).
One-step methods have several advantages over multistep methods:
The methods are self-starting : from the initial data U 0 the desired method can be
applied immediately. Multistep methods require that some other method be used
initially, as discussed in Section 5.9.3.
The time step k can be changed at any point, based on an error estimate, for example.
The time step can also be changed with a multistep method but more care is required
since the previous values are assumed to be equally spaced in the standard form of
these methods given below.
If the solution ut/ is not smooth at some isolated point t (for example, because
fu; t/ is discontinuous at t ), then with a one-step method it is often possible to get
full accuracy simply by ensuring that t is a grid point. With a multistep method that
uses data from both sides of t in approximating derivatives, a loss of accuracy may
occur.
On the other hand, one-step methods have some disadvantages. The disadvantage of
Taylor series methods is that they require differentiating the given equation and are cum-
bersome and often expensive to implement. Runge–Kutta methods only use evaluations of
the function f , but a higher order multistage method requires evaluating f several times
each time step. For simple equations this may not be a problem, but if function values
are expensive to compute, then high order Runge–Kutta methods may be quite expensive
as well. This is particularly true for implicit methods, where an implicit nonlinear system
must be solved in each stage.
An alternative is to use a multistep method in which values of f already computed
in previous time steps are reused to obtain higher order accuracy. Typically only one new
f evaluation is required in each time step. The popular class of linear multistep methods
is discussed in the next section.
✐ ✐
✐ ✐
Page 19
✐ ✐ “rjlfdm”
2007/6/1
✐ page✐131
https://translate.googleusercontent.com/translate_f 16/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
5.9. Linear multistep methods 131
All the methods introduced in Section 5.3 are members of a class of methods called linear
multistep methods (LMMs). In general, an r-step LMM has the form
Xr Xr
˛ j U nCj D kˇ j f .U nCj ; t nCj /: (5.44)
jD0 jD0
The value U nCr is computed from this equation in terms of the previous values U nCr 1 ,
U nCr 2 , :::; U n and f values at these points (which can be stored and reused if f is
expensive to evaluate).
If ˇ r D 0, then the method (5.44) is explicit; otherwise it is implicit. Note that we
can multiply both sides by any constant and have essentially the same method, although
the coefficients ˛ j and ˇ j would change. The normalization ˛ r D 1 is often assumed to
fix this scale factor.
There are special classes of methods of this form that are particularly useful and have
distinctive names. These will be written out for the autonomous case where fu; t/ D fu/
to simplify the formulas, but each can be used more generally by replacing f .U nCj / with
f .U nCj ; t nCj / in any of the formulas.
Example 5.15. The Adams methods have the form
Xr
U nCr DU nCr 1 C k ˇ j f .U nCj /: (5.45)
jD0
These methods all have
˛ r D 1; ˛ r 1 D 1; and ˛ j D 0 for j < r 1:
The ˇ j coefficients are chosen to maximize the order of accuracy. If we require ˇ r D 0
so the method is explicit, then the r coefficients ˇ 0 ; ˇ 1 ;:::; ˇ r 1 can be chosen so that
the method has order r. This can be done by using Taylor series expansion of the local
truncation error and then choosing the ˇ j to eliminate as many terms as possible. Isso
gives the explicit Adams–Bashforth methods .
Another way to derive the Adams–Bashforth methods is by writing
t nCr
D ut nCr 1 / CZ fut// dt
t nCr 1
✐ ✐
✐ ✐
Page 20
✐ ✐ “rjlfdm”
2007/6/1
✐ page✐132
132 Chapter 5. The Initial Value Problem for Ordinary Differential Equations
1 Xr Xr
.t nCr / D ˛ j ut nCj / k ˇ j u 0 .t nCj /1A :
k 0@
jD0 jD0
✐ ✐
✐ ✐
Page 21
✐ ✐ “rjlfdm”
2007/6/1
✐ page✐133
1 Xr Xr
.t nCr / D ˛ j 1Au.t n / C 0@ .j˛ j ˇ j /1A u 0 .t n /
k 0@
jD0 jD0 1
X r
C k 0@ A u 00 .t n /
jD0 12j 2 ˛ j jˇ j 1
Xr 1
C C k q1 0 @ j q1 ˇ j A u .q/ .t n / C :
.q 1/!
https://translate.googleusercontent.com/translate_f 18/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
jD0 1q!j q ˛ j
The method is consistent if ! 0 as k ! 0, which requires that at least the first two terms
in this expansion vanish:
Xr Xr Xr
˛jD0 and j˛ j D ˇj: (5.48)
jD0 jD0 jD0
If the first p C 1 terms vanish, then the method will be pth order accurate. Note that
these conditions depend only on the coefficients ˛ j and ˇ j of the method and not on the
particular differential equation being solved.
✐ ✐
✐ ✐
Página 22
✐ ✐ “rjlfdm”
2007/6/1
✐ page✐134
134 Chapter 5. The Initial Value Problem for Ordinary Differential Equations
One difficulty with using LMMs if r > 1 is that we need the values U 0 ; U 1 ; :::; U r 1
before we can begin to apply the multistep method. The value U 0 D is known from the
initial data for the problem, but the other values are not and typically must be generated by
some other numerical method or methods.
Example 5.18. If we want to use the midpoint method (5.23), then we need to gener-
ate U 1 by some other method before we begin to apply (5.23) with n D 1. We can obtain
U 1 from U 0 using any one-step method, such as Euler's method or the trapezoidal method,
or a higher order Taylor series or Runge–Kutta method. Since the midpoint method is sec-
ond order accurate we need to make sure that the value U 1 we generate is sufficiently
accurate so that this second order accuracy will not be lost. Our first impulse might be
to conclude that we need to use a second order accurate method such as the trapezoidal
method rather than the first order accurate Euler method, but this is wrong. The overall
method is second order in either case. The reason that we achieve second order accuracy
even if Euler is used in the first step is exactly analogous to what was observed earlier for
boundary value problems, where we found that we can often get away with one order of
accuracy lower in the local error at a single point than what we have elsewhere.
In the present context this is easiest to explain in terms of the one-step error. O
midpoint method has a one-step error that is Ok 3 / and because this method is applied
https://translate.googleusercontent.com/translate_f 19/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
in OT=k/ time steps, the global error is expected to be Ok 2 /. Euler's method has a
one-step error that is Ok 2 /, but we are applying this method only once.
If U 0 D D u.0/, then the error in U 1 obtained with Euler will be Ok 2 /. If the
midpoint method is stable, then this error will not be magnified unduly in later steps and
its contribution to the global error will be only Ok 2 /. The overall second order accuracy
will not be affected.
More generally, with an r-step method of order p, we need r starting values
U 0 ; U 1 ; :::; U r 1
and we need to generate these values using a method that has a one-step error that is
Ok p / (corresponding to an LTE that is Ok p 1 /). Since the number of times we apply
this method (r 1) is independent of k as k ! 0, this is sufficient to give an Ok p / global
engano Of course somewhat better accuracy (a smaller error constant) may be achieved by
using a pth order accurate method for the starting values, which takes little additional work.
In software for the IVP, multistep methods generally are implemented in a form that
allows changing the time step during the integration process, as is often required to ef-
ficiently solve the problem. Typically the order of the method is also allowed to vary,
✐ ✐
✐ ✐
Page 23
✐ ✐ “rjlfdm”
2007/6/1
✐ page✐135
depending on how the solution is behaving. In such software it is then natural to solve the
starting-value problem by initially taking a small time step with a one-step method and then
ramping up to higher order methods and longer time steps as the integration proceeds and
more past data are available.
https://translate.googleusercontent.com/translate_f 20/21
03/05/2018 O problema do valor inicial para equações diferenciais ordinárias
✐ ✐
✐ ✐
https://translate.googleusercontent.com/translate_f 21/21