Professional Documents
Culture Documents
CAPTULO 1
y (t) = f (t),
cuja soluo quando
y (t0 ) = y0 ,
f:
y (t) = y0 +
t0
f (s)ds.
Os mtodos para resolver equaes diferenciais mais gerais podem usar ideias de integrao numrica, e podem tambm ser usados para integrao numrica. Consideramos mais geralmente o Problema de Cauchy
(1.1.1)
y (t) = f (t, y (t)), y (t0 ) = y0 f (t, y ) depende de duas variveis (a primeira t o tempo, a segunda y refere y (t) no segundo membro. Associado a este problema est a sua
1
em que
as ocorrncias de
y (t) = y0 +
t0
t0 ,
Teorema 1.1. (Picard-Lindelf). Consideremos V = B (t0 , 1 ) B (y0 , 2 ), uma vizinhana centrada nos dados iniciais (t0 , y0 ), tal que f contnua (na primeira , ou seja, existe L > 0 : varivel) e Lipschitziana (na segunda varivel) em V
. (t, y1 ), (t, y2 ) V
(t0 , ) onde a Ento existe um = min{1 , 2 /||f || }, que dene o intervalo B (t0 , )) do problema de Cauchy existe e nica. O mtodo do soluo y C 1 (B ponto xo denido pela sucesso de funes (xn ) com x0 (t) = y0 ,
t
xn+1 (t) = y0 +
t0
f (s, xn (s))ds,
A iterao do ponto xo, neste contexto designada por mente menos ecaz do que outros mtodos que iremos ver. A condio de
iterao de Picard, e
f C 1:
| V
f (t, y )| L, y
, (t, y ) V f
seja con-
Notamos que para garantir existncia podemos apenas exigir que tnua em no unicidade com um contraexemplo.
Exemplo 1.2. (contra-exemplo de unicidade para
Consideremos
t0 = 1, y0 = 0, f (t, y ) = 2 y,
apenas contnua)
temos
2(t p) = 2
y (t) = (t p)2 soluo da equao diferencial, pois y (t) = y (t), para t p, qualquer que seja o p 1. S p = 1 verica y (1) = 0, yp (t) = (t p)2 , yp (1) = 0,
se se
tp t<p p 1,
e no
yp C 1 (R)
f 1 (t, y ) = (2 y ) = , y y y (y0)
e
no pode ser Lipschitziana perto de zero. Este caso ainda ilustrativo, porque
para
j seria
[t0 , t0 + ]
porque podemos sempre denir novo problema de Cauchy avanando (ou retrocedendo) no tempo, considerando um novo
t 0 = t0 + .
avanar no tempo at que as condies deixem de poder ser vericadas. Ou seja, o Teorema de Picard-Lindelf garante existncia e unicidade local, mas a sua aplicao sucessiva permite uma continuao at que ocorra uma descontinuidade de
y.
Exemplo 1.3. (limitao da continuao da soluo)
Consideramos a equao
y (t) = y (t)2 ,
onde a expresso
f (t, y ) = y 2
no faz
y (0) = y0 ,
y (t) =
e assim quando
y0 1 y0 t
1 y0 haver uma singularidade, e um limite a partir do qual a soluo no poder ser estendida. Isto ilustrativo da limitao da continuao da
t=
soluo quando
no limitada.
1 y0 = 1, temos y (t) = 1 t , e quando t = 1 , temos 1 y (1 ) = que tende para innito quando pequeno. Aplicando a o Teorema de Picard-Lindelf podemos ver que o novo intervalo obtido no permite passar o
Por exemplo, para
1 2 t = 1. Com efeito, ||f || = ( + 2 )2 e assim = min{1 , (1/ +2 )2 }, e sendo 2 2 0 < < 1 obtemos = (1/ +2 )2 = (1+2 )2 < . Ou seja, ainda que a funo f seja limitada e Lipschitziana em todos os intervalos fechados, o teorema devolve
limite um intervalo de dimenso inferior, que evita chegar singularidade. Faz-se ainda notar que f (t, y ) = y leva soluo exponencial, por isso, f (t, y ) > y vo levar a crescimentos superiores ao da exponencial. E da mesma forma, se y0 f (t, y ) > y 2 ento y (t) > 1 y0 t . Por exemplo, com isto podemos antecipar que se y0 = 1, a soluo de y (t) = ey(t) ir explodir nalgum t 1, o que ocorre de facto 1 em t = e , porque a soluo y (t) = log(e1 t).
1.1.2. Casos particulares. H vrias situaes em que possvel encontrar
Quando
depende apenas de
t,
y (t) = G1 (t t0 + G(y0 ))
Demonstrao. Com efeito, da equao diferencial
y = f (y ),
obtemos por
diviso
e agora
1ds = t t0
t0
t t0 =
t0
y (s) ds = f (y (s)) G,
t t0
e como
tem primi-
tiva
G(x) =
com inversa
x1p 1p
G1 (z ) = (z pz )1/(1p) ,
conclumos que
t=
1 p1 , quando
p>1
(e no ocorre singularidade se
G(x) =
1 ax+b dx
1 a
y (t) = G1 (t t0 + G(y0 )) =
Num caso linear mais geral,
temos
e a funo
A(t) =
t t0
a(s)ds,
possvel encontrar:
y (t) =
y0 +
t0
b(s)eA(s) ds eA(t) ,
1.2. Sistemas e Equaes de Ordem Superior 1.2.1. Sistemas de EDO's. O formato do problema de Cauchy pode ser
depende apenas de
t,
mas tem
passa a ser denido tambm por uma funo O problema de Cauchy ca assim
y0
tambm um vector.
seja Lipschitziana em
y,
componente sejam limitadas. Eventuais diculdades de adaptao ao caso escalar resultam da impossibilidade de diviso vectorial... Um exemplo importante aquele em que
uma matriz
N N.
A diagonalizvel, v1 , , vN , ou seja
consideramos
y(t)
y (t) Ay(t)
= yv1 (t)v1 + + yvN (t)vN = yv1 (t)1 v1 + + yvN (t)N vN yvk (t) = k yvk (t),
ou seja,
A = P1 DP,
em
que e
D.
Com efeito
m = 0, 1,
e sendo vlido
A1 = P1 D1 P, A2 = P1 D2 P,
verica-se uma
A1 + A2 = P1 D1 P + P1 D2 P = P1 (D1 + D2 )P.
Conclumos assim que para qualquer polinmio
q (A) = P1 q (D)P,
e de um modo geral para qualquer funo temos
f (A) = P1 f (D)P,
com
f (k )
exp(A)
a diagonal ter
ek ,
dem ser reduzidas a sistemas de equaes atravs de introduo de novas variveis. Ou seja, vamos considerar que
y0 (t) = y (t)
. y (t) = y (N ) (t) N . .
= . . y
N 1 (t)
= yN (t) = y (N ) (t) N
genrica
equaes diferenciais
y0 = y1 . .
.
y0
y1
. . .
= f (t, y)
yN 2 = yN 1 yN 1 = g (t, y0 , , yN 1 )
. . y = . yN 2 yN 1
yN 1 g (t, y0 , ,yN 1 )
que est reduzido forma vectorial anterior. aplicvel, fazendo notar que a condio inicial
N 1,
no ponto
t0 .
g (t, y) = a0 y0 + + aN 1 yN 1 , = y1
. . .
y0
y0 . . . y N 2 y N 1 = Ay
. . y = . yN 2 y N 1
yN 1 a0 y0 + + aN 1 yN 1 0 1
.. .. . .
0
.. .. . .
.. .. . .
0
. . .
0 . . . 0 a0
0 1 aN 1
em que
p() = N aN 1 N 1 a0 ,
e as suas razes diagonalizvel)
so os valores prprios de
y0 (t) = y (t),
e podemos deixar os
y (t) = C1 e1 t + + CN eN t
podendo ser deduzidos
Ck
t0 .
Note-se que estes coecientes podem ser complexos, quando as razes so complexas. Se houver razes mltiplas, a matriz companheira no diagonalizvel, as repeties de independentes associado
k levariam mesma funo ek t , e necessrio considerar funes tp ek t com p = 0, . . . , mk 1, onde mk a multiplicidade de k . Por exemplo, no caso y (t) = 5y (t) 8y (t) + 4y (t), o polinmio caracterstico
p() = 3 52 + 8 4 2t cujas razes so 1 = 2 = 2, 3 = 1. A repetio de = 2, leva a considerar e , 2t mas tambm te , y (t) = C1 e2t + C2 te2t + C3 et , e se impusermos y (0) = 0, y (0) = 0, y (0) = 1, os coecientes resultam do sistema C1 + C3 = 0 C1 = 1 2C1 + C2 + C3 = 0 C2 = 1 4C1 + 4C2 + C3 = 1 C3 = 1
obtendo-se a soluo
Existem vrios processos para obter mtodos numricos para a resoluo de equaes diferenciais ordinrias. Alguns vo usar a expanso de Taylor, que consideraremos aqui, outros vo usar a forma integral, outros podem ainda usar as frmulas de diferenciao numrica. Comeamos por ver Mtodo de Euler, que o mais simples, e pode ser deduzido pelos trs processos mencionados. De um modo geral, comum a todos estes mtodos considerar uma sucesso de tempos, com um espaamento denimos
h > 0,
t0 .
Ou seja,
tk = t0 + kh,
e vamos associar
T = tn ,
ao m de
O valor
y0
y1
yk
para denir
yk+1 ,
y (tk ),
yk+1
em que anterior
yk+1 yk ,
Ek+1
yk+1
ou
cando subentendido que se exige a regularidade necessria para que essas derivadas estejam denidas, evitando a redundncia de estar sempre a exigir a regularidade implicitamente necessria.
1.3.1. Mtodo de Euler. Vejamos 3 maneiras diferentes de deduzir o Mtodo
Assumindo termo
y (tk ) = yk temos y (tk ) = f (tk , y (tk )) = f (tk , yk ), e desprezando o 1 2 ek = 2 h y (k ) que ser o erro local, o Mtodo de Euler resume-se iterao: y0 yk+1 = yk + hf (tk , yk ) y (tk+1 ) y (tk ) , h assim y (tk ) = f (tk , yk ), o valor yk+1 yk+1 yk f (tk , yk ) = , h y (tk )
tk+1
(1.3.1)
substituindo
y (tk ) = yk
resulta de
y (tk+1 ) y (tk ) =
tk
aplicando ao integral a regra do rectngulo
f (s, y (s))ds,
b a
obtemos
y (t) = y (t),
com
y (0) = y0 ,
y (t) = y0 et .
f (t, y ) = y, a iterao resume-se a yk+1 = yk + hyk = (1 + h)yk . 1 yn = (1 + h)n y0 , e notando que h = n tn , yn = (1 + tn n ) y0 etn y0 , n
lembrando que
x n ex (1 + n )
para
n grande.
exponencial assim denida pela convergncia do mtodo de Euler. De forma semelhante, o Mtodo de Euler pode ser aplicado a sistemas, em cada componente
yj
de
temos
1 2 h yj (j,k ) , 2
erro localO (h2 )
e como
sistemas:
(1.3.2)
obtemos vectorialmente o
y0 (0) = 0, y1 (0) = 1,
ou o que equivalente a
y (t) = y (t),
com
y (0) = 0, y (0) = 1. y =
Temos
y0 y1
0 1
1 0
y0 y1
= Ay = f (t, y)
o polinmio caracterstico
y0 (t),
sendo
2 + 1 = 0, e a soluo geral ser y (t) = C1 eit + C2 eit . 1 C1 = C2 = 2 i , e assim y (t) = sin(t) = y1 (t) = y (t) = cos(t). yk+1 = yk + hAyk = (I + hA)yk
e portanto
yn = (I + hA)n y0 =
1 h h 1
y0 =
1 n tn
tn n
0 1
Este mtodo d um vector com uma aproximao do seno e coseno de tn , mas to inecaz quanto a frmula obtida para a exponencial. De qualquer forma podemos escrever
= lim
1 x n
x n
0 1
que verica
= y,
10
f C 1,
y (t) =
(1.3.3)
yk+1 = yk + hfk +
h2 2
f f (tk , yk ) + fk (tk , yk ) t y
fk = f (tk , yk ).
A expanso de Taylor pode ser usada para mtodos de ordem superior, mas exige um clculo explcito de derivadas parciais de ou conveniente realizar. Surgiu por isso a ideia de substituir esse clculo por expresses aproximadas sem comprometer que o erro local Tratam-se dos
f,
Mtodos de Runge-Kutta.
f C 2,
1 y (k )h3 , ek = 6
se mantivesse na ordem
O(h3 ).
em duas variveis:
f (tk + 1 , yk + 2 ) = f (tk , yk ) + 1
e reparamos que escolhendo
f f 2f t y (tk , yk ) + 2 (tk , yk ) + 1 2 ( , ), t y ty k k
obtemos
h 1 = h 2 , 2 = 2 fk ,
f (tk +
h h h f h f h2 2 f t y , yk + fk ) = fk + (tk , yk ) + fk (tk , yk ) + fk ( , ), 2 2 2 t 2 y 4 ty k k h
reparamos que podemos substituir o segundo membro na
e multiplicando por
T yk +1 = yk +hfk +
h2 2
f f (tk , yk ) + fk (tk , yk ) t y
O(h3 ), mas que no afecta a ordem de aproximao, T pois o yk+1 do mtodo de Taylor j tinha essa mesma ordem de erro de discretizao. Assim, no Mtodo de Runge-Kutta do Ponto-Mdio (de segunda ordem), conAparece um termo adicional em sideramos
(1.3.5)
yk+1 = yk + h f (tk +
h h , yk + fk ) 2 2
RK T yk +1 = yk
h3 2 f t y 1 h3 2 f t y fk (k , k ) = y (tk+1 ) y (k )h3 fk ( , ) 4 ty 6 4 ty k k
erro O (h3 ) erro O (h3 )
11
y (k ) fk 2 f t y + ( , ) 6 4 ty k k
= O(h3 ),
f C 2 (V ).
Este no o nico Mtodo de Runge-Kutta de segunda ordem que se pode Com efeito, de modo geral queremos que
fk + f (tk + 1 , yk + 2 )
= =
( + )fk + 1 hfk + h2 2
o que leva a um sistema subdeterminado, com 3 equaes e 4 incgnitas, que deixamos em funo de
=0: + = h 2 1 = 1 2h 2 2 = 1 2 h fk
h = h 2 , 1 = h 2 = hfk = 0,
uma
h 2 ,
2:
(1.3.6)
yk+1 = yk + (1
A regra RK do ponto-mdio, que j vimos, obtida escolhendo A regra RK de Heun (ou Euler modicado) obtida com (1.3.7)
Observao 1.14. Estes mtodos podem ainda ser obtidos atravs da formu-
tk+1
yk+1 yk =
tk
podemos considerar a regra de quadratura
f (s, y (s))ds
tk+1
w1 = (1
1 2 )h,
w2 =
aproximao
tk+1
yk+1 yk =
tk
y (tk + h) pelo mtodo de y (tk + h) yk + hfk . 1 No caso em que = 2 estamos a usar a regra de integrao do ponto-mdio (o que justica o nome), e quando = 1 estamos a usar a regra dos trapzios.
12
de ordem superior recorrem mesma ideia, substituir as derivadas no Mtodo de Taylor por avaliaes em pontos adequados. Assim, a expresso do Mtodo de Taylor de ordem 3 poder ser substituda por uma avaliao em 3 pontos adequados, e da mesma forma os Mtodos de Runge-Kutta de ordem 4 vo aproximar o Mtodo de Taylor de Ordem 4, usando 4 pontos adequados, sem afectar a ordem do erro de discretizao, que ser
O(h5 ).
Mtodo de
Observao 1.15. Este o mtodo mais usado, porque permite ordem 4 com
quatro avaliaes de
seria possvel faz-lo com cinco avaliaes em cinco passos, pelo que se perderia ecincia face ao de ordem 4. Como podemos observar pela estrutura deste algoritmo, ou de outros mtodos de Runge-Kutta, perfeitamente imediata a sua aplicao a sistemas de equaes, passando a sua forma notao vectorial.
Observao 1.16. (Tabelas de Butcher) Para efeitos de economia de espao
habitual escrever abreviadamente os Mtodos de Runge-Kutta sob a forma de tabelas (chamadas de Butcher). Se o mtodo se dividir em
yk+1 = yk + h(1 F1 + . . . + m Fm ),
com
.. .. . .
0 .. .. . .
2,1
. . .
0
. . . 0 .
m,1 1
m,1 m1
Ter zeros na parte triangular superior no caso dos mtodos explcitos (tambm h mtodos RK implcitos).
0
Para o Mtodo RK-4 a tabela de Butcher
0 0
0 0 0
0 0 0 , 0
1 2 1 2
1 2
1 0
para um RK-3 0 0 0 0 0 0
0 0
1 6
1 2
0
1 3
1
1 3
1 6
1 2
1
1 6
1 2
2
2 3
0 0 .
1 6
1 21
1 2
13
0,
yk+1 obtido com h, 1 que resulta de aplicar duas iteraes com h/2. O erro yk+2 2 1 yk +1 e vericamos se |e aproximadamente e k = yk+2 2 k | . Podemos
usando um espaamento Comparamos valor onde
h/2.
= min{h , hmax } h |e k |
hmax
no seja demasiado grande. Outra possibilidade consiste em usar um mtodo de ordem superior para avaliar
De resto,
Kutta-Fehlberg, que combina o mtodo de ordem 4 com uma previso de ordem 5, conseguindo usar os mesmos pontos para avaliao da funo
f.
mtodo unipasso
yk+1 = yk + h(tk , yk ),
depende do mtodo, e assumiremos
= f, e Lipschitz = f (t +
h 2,y
quando
for.
No Mtodo de Runge-Kutta do ponto-mdio temos (t, y ) h f ( t, y )), e tambm podemos ver que Lipschitz quando f for: 2
Lf a 2 L = Lf + h 2 Lf .
em que
h h h h , y + f (t, y )) f (t + , x + f (t, x))| 2 2 2 2 h h Lf |y + f (t, y ) (x + f (t, x))| 2 2 h h Lf |y x| + Lf |f (t, y ) f (t, x)| (Lf + L2 )|y x| 2 2 f constante de Lispchitz de f , tendo-se para este a constante |f (t +
1 De forma idntica, o Mtodo de Heun pode escrever-se com (t, y ) = f (t, y )+ 2 h 2 1 2 f (t + h, y + hf (t, y )), e igualmente se verica que L = Lf + 2 Lf , sendo Lipschitz quando f for.
Definio 1.18. Dizemos que o mtodo unipasso
consistente de ordem r se
(1.4.2)
y (tk+1 ) y (tk ) (tk , y (tk )) = O(hr ). h Diz-se consistente desde que a diferena seja um o(1), em particular, basta qualquer r > 0.
Esta denio equivale a dizer que o mtodo tem consistncia de ordem erro de discretizao local for
se o
O(hr+1 ),
yk = y (tk )
ento
yk+1 = y (tk ) + h(tk , y (tk )) ek+1 = y (tk+1 ) yk+1 = y (tk+1 ) (y (tk ) + h(tk , y (tk ))) = O(hr+1 ),
e a diviso por
r.
O(hr+1 )
tm ordem de consistncia
r.
assim ordem de consistncia 1, e a expanso de Taylor de ordem de ordem de consistncia pois o erro local
14
ordem de convergncia
se
(1.4.3)
En = y (tn ) yn = O(hr ), h=
1 n (tn t0 ). Ser
convergente desde que En = o(1). Teorema 1.21. Um mtodo unipasso em que Lipschitziana (na 2 varivel), com ordem de consistncia r tem ordem de convergncia r.
Demonstrao. Distinguimos o valor
valor anterior
yk
inexacto, de
yk+1 = yk + h(tk , yk ) que assume um Yk+1 = y (tk ) + h(tk , y (tk )), obtido assumindo que ou seja, yk = y (tk ).
Assim, separamos o erro global em duas partes, pela desigualdade triangular (1.4.4)
r +1
|Yk+1 yk+1 | =
onde usmos a hiptese de (1.4.4), obtemos
|y (tk ) + h(tk , y (tk )) (yk + h(tk , yk ))| |y (tk ) yk | + h |(tk , y (tk )) (tk , yk )| |Ek | + hL |y (tk ) yk | = (1 + hL )|Ek |
ser Lipschitziana na 2 varivel. Substituindo em
no difcil mostrar
ento
ck+1 A + Bck cn A(1 + B + . . . + B n1 ) + B n c0 . Com efeito, induo, sendo vlido para n 1, obtemos
vlido para
n = 1,
e por
Bn 1 + B n c0 B1 r +1 Aplicando ao nosso caso, com ck = |Ek |, A = Ch , B = 1 + hL , tem-se n B 1 + B n |E0 |. |En | Chr+1 B1 No havendo erro inicial, E0 = 0, temos tambm B 1 = hL , e podemos ainda x hL usar 1 + x e para simplicar, pois B = 1 + hL e , e assim B n enhL = (tn t0 )L e . Ou seja, cn A |En | Chr+1
onde
uma
de con-
vergncia ser
r. C= 1 2 ||y || ,
e como
2 |ek | = 1 2 h y (k ) f L = Lf = || y || , a majorao
|En |
15
yk+1 = yk + hf (tk + , yk + fk ).
Como se trata de um mtodo unipasso, pelo teorema, basta analisar a ordem de consistncia. Notamos que quando Aqui
=0
= h/2,
= y (tk ) +
y (tk ) +
e que
h h f h f y (tk ) = f (tk , y (tk )) + (tk , y (tk )) + f (tk , y (tk )) (tk , y (tk )) 2 2 t 2 y f f (tk , y (tk ))+f (tk , y (tk )) (tk , y (tk ))+O(2 ), t y
f t (tk ,y (tk )) 2 + f (tk ,y(tk )) f y (tk ,y (tk )) +O ( ).
= ( h 2) O(h2 )
f t (tk ,y (tk ))
se
h 2 , e a ter ordem de consistncia e conp vergncia 2 (caso do RK-ponto-mdio). Caso contrrio, se = O (h ), com p > 0,
e esta expresso ser um
=0
(Euler), ou
Por
Kutta, para alm da ordem de convergncia, h outros aspectos importantes na eccia dos mtodos numricos, sendo um deles o nmero de operaes envolvido em cada iterao. A funo
f. Basta ver que duas iteraes do Mtodo de h h yk+1 = yk + h 2 fk + 2 f (tk , yk + 2 fk ) que aparentava ser
2 vezes mais rpido do que o Mtodo de Euler, mas mantinha-se de ordem 1 com duas avaliaes, ao contrrio do Mtodo de Heun que muito semelhante, mas com as mesmas duas avaliaes permite ordem 2.
1.5. Mtodos implcitos
yk+1 yk+1 = yk + h(tk , yk ). H ainda uma outra classe de mtodos, designados implcitos, em que o valor yk+1 se encontra denido na forma de uma equao em que yk+1 uma incgnita.
Os mtodos que vimos at aqui so considerados explcitos, j que o valor
Definio 1.25. Os mtodos unipasso implcitos so da forma
(1.5.1) em que
em funo de yk+1 . Uma simples adaptao permite ainda obter o Teorema que garante a mesma
anloga dos mtodos explcitos, acrescentando a componente de ordem de consistncia e convergncia.
16
(1.5.2) onde
(t, y, x) = f (t + h, x).
por diferenas regressivas (em vez de progressivas, como acontecia no Mtodo de Euler explcito), ou ainda pela expanso de Taylor em
tk+1
(ao invs de
tk ),
ou
(ao invs de
a),
b f (s)ds (b a)f (b). Notamos que mudamos a aproximao, mas o erro a local continua a ter a mesma ordem, e portanto o Mtodo de Euler Implcito tem
ordem 1, de consistncia e convergncia. Outro mtodo, j com ordem de convergncia 2, o Mtodo dos Trapzios Implcito (1.5.3) em que
h (f (tk , yk ) + f (tk+1 , yk+1 ) ) 2 (t, y, x) = 1 2 (f (t, y ) + f (t + h, x)). Este mtodo resulta yk+1 = yk +
tk+1
de aplicar a Regra
y (tk ) +
tk
pois o erro local
y (t) = y (t),
resulta em
de onde obtemos
(escolhendo
h=
1 )
O valor dado pelo Mtodo de Euler implcito d um resultado substancialmente diferente do obtido pelo Mtodo de Euler explcito, onde vimos Para quando
yn = (1 + h)n y0 .
< 0
y0 = 1,
a soluo exacta
y (t) = et
> 0
h>0
h>
Pelo mtodo explcito, como
oscilando, e
tendendo para innito, sem se aproximar de zero. Ao contrrio, usando o mtodo implcito, como obtemos
1 h > 1,
yn =
1 (1h)n
0,
400t Ou seja, se a soluo fosse y (t) = e , ento um passo pequeno como h = 0.005 levaria aproximao (1)n , muito afastada da soluo e400t 0, (com t > 1), se o mtodo fosse explcito, mas permitiria uma aproximao (1 3)n 0, se
o mtodo fosse implcito.
1.5.1. Noo de A - estabilidade. A observao anterior faz notar que,
quando
||
causa a convergncia do mtodo, que foi provada. Mas essa convergncia assume nmero exagerado de iteraes. Quando queremos usar um
h pode ser to pequeno quanto necessrio, e na prtica isso pode implicar um h no exageradamente
pequeno pode ser conveniente usar mtodos implcitos, quando a equao diferencial
17
considerada rgida. De um modo geral as equaes dizem-se rgidas (sti ), se tiverem um valor da constante de Lispchitz para
Lf = || f y ||
y (t) = e
quando
Lf = ||
grande.
Para avaliar a robustez dos mtodos numricos a este tipo de problemas, introduziu-se a noo de A-estabilidade.
Definio 1.29. A regio de A-estabilidade (estabilidade absoluta) de um
AM = { C :
onde com
sup(yn ) < }, n
(yn ) a sucesso h = 1, y0 = 1.
M,
quando aplicada a
y (t) = y (t),
C = { : Re() 0}.
terem uma regio de A-estabilidade ilimitada, enquanto os mtodos explcitos tm essa regio connada a um pequeno domnio limitado, no podendo ser A-estveis (teorema de Dahlquist). Vejamos alguns exemplos.
Exemplo 1.30. Considerando a expresso do Mtodo de Euler explcito
yn =
que quando
h = 1, y0 = 1,
ou seja No
(1, 1), AEulerExplicito = { C : |1 + | 1} = B (1, 1). a sua regio de A-estabilidade a bola fechada B n caso do Mtodo de Euler Implcito, como yn = (1 h) y0 , AEulerImplicito = { C : |1 | 1} = C\B (1, 1), B (1, 1).
obtemos
f (t, y ) = y, tk +
temos:
yk+1 = yk + hf
e com
h h , yk + fk 2 2
= yk + h yk +
h (yk ) 2
= (1+ h +
h2 2 )yk , 2
h = 1, y0 = 1,
obtemos recursivamente
yn = (1 + +
2 n 2 ) , e assim
yk+1 ), yk+1 =
de onde resulta
1+ 1
h 2 h 2
na maioria das vezes. Por exemplo, no Mtodo de Euler Implcito bastar que a a generalidade de funes
x = yk + hf (tk+1 , x) no tenha soluo algbrica para x, o que ocorre para f. g (x) = yk + h(tk , yk , x) = yk+1 = g (yk+1 ),
e assim
yk+1
A equao
x = g (x) mais prximo de yk . x = g (x) no tendo soluo algbrica, deve ser resolvida por mtodos
18
( xm )
com
x0 = yk ,
tividade, ou seja
xm+1 = g (xm ). x yk .
|g (x)| K < 1
para
x0 = yk ; hLf = K < 1.
No caso do Mtodo dos Trapzios Implcito, a implementao da iterao do Ponto Fixo, leva a
x0 = yk ;
xm+1 = g (xm ) = yk +
h (fk + f (tk + h, xm )) 2
2 Lf
h <
porque:
|g (x)| =
h f 2 | y (t
h, x)| x0 = yk ,
h 2 Lf
= K < 1.
xm+1 = xm
derivada, no sendo muito utilizado.
g (xm ) . g ( xm ) f,
mas tambm da
xm
f. vendo x2 ou x3
avaliao de
Por isso no se devem calcular mais do que algumas iteraes, dej ser sucientes para o efeito. Para evitar estes clculos adicionais,
preditor-corrector.
x0 ,
x0
que re-
sulta da aplicao de um mtodo explcito. Temos assim um par preditor-corrector, preditor ser o mtodo explcito que inicializa a iterao, e corrector ser o mtodo implcito usado. Sendo yk+1 = yk + hC (tk , yk , yk+1 ) o mtodo implcito (corrector), e yk+1 = yk + hP (tk , yk ) o mtodo explcito (preditor), consideramos a iterao do ponto xo:
corrector). Considerando o Mtodo dos Trapzios Implcito inicializado por Euler explcito:
x1 = yk +
19
e assim se considerarmos
yk+1 = x1
na primeira iterada. Podemos prosseguir com a iterao do ponto xo, por motivo da A-estabilidade, mas sob a perspectiva da ordem de convergncia, este mtodo no passar de ordem 2.
1.6. Mtodos Multipasso
A ideia dos mtodos multipasso consiste em usar no apenas o valor tambm os anteriores
yk ,
mas
yk1 , yk2 , . . .
yk+1 .
Tm a grande
f,
em cada iterao.
p 1
(1.6.1)
yk+1 =
m=0
em que
o passo (quando
p 1
|ym xm |.
Notamos desde j que a expresso dos mtodos multipasso ao implicar o conhecimento dos valores anteriores exige uma inicializao apropriada. Num mtodo de passo
y0 , y1 , . . . , yp1 .
Essa inicializao deve ser efectuada por um outro mtodo com a mesma ordem de consistncia. Por exemplo, podemos inicializar com um mtodo de Runge-Kutta.
1.6.1. Mtodos de Adams-Bashforth. Os primeiros mtodos multipasso
introduzidos (no nal do Sc. XIX) foram os Mtodos de Adams, que na sua forma explcita so designados como Adams-Bashforth. forma integral Podemos deduzi-los atravs da
tk+1
y (tk+1 ) = y (tk ) +
tk tk+1
f (s, y (s))ds,
I (g ) =
tk
Procuramos os pesos
p 1.
Isso pode ser obtido pelo mtodo dos coecientes indeterminados, ou ainda
tk+1
wm =
tk
em que e assim
Lm (s)ds
p 1 m=0
Lm
tk+1
tk+1
I (q ) =
tk
q (s)ds =
tk m=0
q (tkm )
tk
Lm (s)ds = Q(q ).
wm
tk+1
y (tk+1 ) = y (tk )+
tk
f (s, y (s))ds y (tk )+w0 f (tk , y (tk ))+. . .+wp+1 f (tkp+1 , y (tkp+1 ))
20
p:
w0
w1
de forma a que
I (1) =
tk+1
w0 =
tk
L0 (s)ds =
tk tk+1
s tk1 ( s t k 1 ) 2 ds = t k t k 1 2h
tk+1
tk+1
=
tk
4h2 h2 3 = h. 2h 2h 2 h = . 2
w1 =
tk
L1 (s)ds =
tk
(s tk )2 s tk ds = tk1 tk 2h
tk+1 tk
yk+1 = yk +
3h 2 fk
h 2 f k 1 , y1 ,
por exemplo pelo
e como referimos, o mtodo dever ser inicializado para obter passo duplo tem ordem 2.
Mtodo de Heun, ou outro de ordem 2, j que como iremos ver este mtodo de
tk+1
passa a ser
w1 , w0
w1
de forma a que
I (1) =
grau superior, porque dispomos de mais um n de integrao. pesos, usamos ainda os polinmios de Lagrange:
tk+1
w0 =
tk
tk+1 tk
w1 =
tk
yk+1 = yk +
5h 12 fk+1
2h 3 fk
h 12 fk1 ,
y1 ,
ordem 3, j que como iremos ver este mtodo de passo duplo implcito tem ordem
21
dem
se vericar
1 h
p1
y (tk+1 )
m=0
m y (tkm )
(tk , y (tk+1 ), y (tk ), . . . , y (tkp+1 )) = O(hr ), o(1), o que se verica para qualquer
r > 0.
Proposio 1.38. Os mtodos de Adams-Bashforth de passo p tm ordem de consistncia p, e os de Adams-Moulton tm consistncia p + 1. Demonstrao. Nos mtodos de Adams-Bashforth
0 = 1,
m = 0
para
e ainda
tk+1 tk
tk+1
p 1
I (y ) Q(y )
=
tk
y [tk , . . . , tkp+1 , s]
p 1
(s tkm )ds
m=0 tk+1
y [tk , . . . , tkp+1 , ]
( t k m )
m=0 O (hp ) tk h p1 m=0
1ds = O(hp+1 ),
notando que
1)h = p!h .
A demonstrao para os mtodos de Adams-Moulton semelhante, notando que havendo um n extra, teremos
p1 m=0
| tkm |
|tk+1 tkm | =
p1 m=0 (m+
tk+1
p 1
I (y ) Q(y )
=
tk
y [tk , . . . , tkp+1 , s]
p 1
(s tkm )ds
m=1 tk+1
= y [tk , . . . , tkp+1 , ]
( tkm )
m=1 O (hp+1 ) tk h
1ds = O(hp+2 ).
Poderamos ser levados a concluir imediatamente a convergncia de ordem dade, tambm chamada
p,
mas no caso dos mtodos multipasso, h que ter em ateno uma outra estabili-
zero-estabilidade.
se
En = y (tn ) yn = O(hr ).
22
p 1
p 1
yk+1 =
m=0
m ykm + h
m=1
m fkm . r
Usando a expanso de Taylor, mostre que o mtodo tem consistncia de ordem se vericar o
critrio de coecientes :
p 1
p 1
p 1
m = 0
m=1
com
m=1
m ms = s
m=1
m ms1
(para
s = 1, . . . , r),
1 = 1.
Moulton de passo 2.
Resoluo :
1 = 1,
p 1
p 1
m=1
m ykm = h
m=1
m fkm
devemos ter
p 1
p 1
y (tkm )
e de
y (tkm ) :
y (tkm ) =
s=0 r
+ O(hr+1 )
y (tkm ) =
s=1
Substituindo, obtemos
+ O(hr )
p 1 1 h m=1 p 1
m
s=0
+ O(h
r +1
)
m=1 p1
m
s=1
+ O(hr )
p 1
m=1
m ms +
m=1
m sms1 +O(hr )
O(h )
p 1
p 1
p 1
m = 0
m=1
m=1
m ms = s
m=1
m ms1
(para
s = 1, . . . , r).
Vericar para Adams-Bashforth de passo 2. Temos 1 + 0 + 1 = 1 + 1 + 0 = 0. Para s = 1, temos 1 +00 + 1 = 1, igual a 1 + 0 + 1 = 0+ 3 1 = 1. Para s = 2, 2 2 temos 1 + 00 + 1 = 1, igual a 2(1 + 00 + 1 ) = 2(0 + 0 1 ) = 1. Mas para 2 1 s = 3, j temos 1 + 00 + 1 = 1, diferente de 3(1 + 00 + 1 ) = 3(0 + 0 2 ) = 3 . 2 Conclui-se a ordem 2. Vericar para Adams-Moulton de passo 2. Temos 1 + 0 + 1 = 1 + 1 + 0 = 0. 5 8 1 Para s = 1, 1 + 00 + 1 = 1, igual a 1 + 0 + 1 = 12 + 12 12 = 1. Para s = 2, 5 8 1 temos 1 + 00 + 1 = 1, igual a 2(1 + 00 + 1 ) = 2( 12 + 0 12 12 ) = 1. Para 5 8 1 s = 3, 1 + 00 + 1 = 1, igual a 3(1 + 00 + 1 ) = 3( 12 + 0 12 12 ) = 1. Para s = 4 5 8 1 temos 1 + 00 + 1 = 1, diferente de 4(1 + 00 + 1 ) = 4( 12 + 0 12 12 ) = 2. Conclui-se a ordem 3.
23
s = 1, do exerccio anterior, p 1 p 1 p1 = 0 m = m m=1 m m=1 m=1 m , d-nos no apenas a condio suciente para ser de ordem 1, mas mesmo a condio necessria para
Observao 1.40. O critrio de consistncia com
ou seja,
p1
m m
m=1 m=1
+ o(1)
o(1)
se e s se a condio se vericar.
a estabilidade dos mtodos multipasso, devemos considerar a estabilidade da equao s diferenas associada:
p 1
(1.6.6)
yn+1 =
m=0
m ynm = 0.
O que se No caso ento
que reecte como o mtodo multipasso se comportaria ainda que dos mtodos unipasso teramos apenas
yn+1 = yn ,
e portanto se
y0 0
yn = y0 0 .
iniciais prximos de zero e a soluo da equao s diferenas crescer para innito, ou seja, no haver estabilidade. Para esse efeito comeamos por notar que diferenas se
yn = rn
soluo da equao s
p 1
rn+1 =
m=0
ou seja, dividindo por (1.6.7)
m rnm
e portanto temos uma equao caracterstica, polinomial, que determina as solues. Haver
p solues,
que designaremos
n r1 , , rp . Cada yn = rj
n n yn = c1 r1 + + cp rp
e podemos determinar os valores c1 , . . . , cp com base nos valores iniciais que
y0 , . . . , yp1 ,
r1 , , rp
sejam distintos.
Obtemos assim, a soluo geral no caso em que as razes Vemos que sempre que algum coeciente
rj
|rj | > 1
a sucesso
|yn | ,
cj
iniciais para que a soluo no seja limitada. Portanto neste caso h instabilidade. Quando
rj
raiz de multiplicidade
n y n = nk rj
com
k = 0, ..., m 1. Isto s tem efeito no caso em que |rj | = 1 e |y n | = nk |rj |n se e s se |rj | 1. Resumimos estes
proposio.
24
Proposio 1.41. A equao s diferenas (1.6.6) estvel se e s se as razes da equao caracterstica (1.6.7) vericarem |rj | 1 e, sendo mltipla |rj | < 1.
A equao s diferenas (1.6.6) acaba por determinar a estabilidade do mtodo, porque vemos que independente de no desaparece quando mtodo.
Definio 1.42. Um mtodo multipasso considerado estvel se a equao s
e por consequncia de
f,
depende apenas
h.
h 0,
diferenas associada for estvel. Por isso s ser estvel se estiverem denidas as condies da proposio anterior (as razes simples da equao caracterstica devem ter mdulo no superior a 1, e as mltiplas devem ter mdulo inferior a 1). Por consequncia, os mtodos unipasso, em que a equao caracterstica era
r = 1,
Proposio 1.43.
y (tk+1 ) 4y (tk ) + 3y (tk1 ) + 2f (tk , y (tk )) = O(h), h 2 porque y (tk+1 ) = y (tk ) + hf (tk , y (tk )) + O (h ), 3y (tk1 ) = 3y (tk ) 3hf (tk , y (tk )) + 2 O(h ). Este mtodo pode ser visto como resultado de aplicar a frmula de diferenas progressivas de ordem 2 em tk1 (como a frmula no aplicada em tk perde uma
ordem na aproximao). No entanto, a equao s diferenas associada yk+1 = 4yk 3yk1 , que tem r2 = 4r 3 como equao caracterstica, com razes r1 = 1, r2 = 3. Vemos que |r2 | > 1, e portanto o mtodo no ser estvel, apesar de ser consistente. Isso no permite que o mtodo seja convergente. Aplicando este mtodo equao
com r1 = h 0.
2h 14h+h2
quando
h0
Teorema 1.45. Os mtodos multipasso so convergentes se e s se forem estveis e consistentes. Se o mtodo multipasso for estvel e consistente de ordem r (e tambm inicializado com essa ordem), ento ser convergente de ordem r. Demonstrao. A demonstrao de que sendo estvel e consistente de ordem
r,
caso unipasso. A demonstrao de que se trata de condio necessria e suciente usa outro tipo de argumentos. Para mais detalhes ver p.ex. Numerical Analysis (1998, Springer) de R. Kress.
25
Corolrio 1.46. Os mtodos de Adams-Bashforth de passo p so convergentes de ordem p, e os de Adams-Moulton de passo p tm ordem de convergncia p + 1. Demonstrao. Consequncia imediata do teorema anterior, dos mtodos
Um
processo habitual na utilizao dos Mtodos de Adams-Moulton consider-los como correctores, usando os Mtodos de Adams-Bashforth como preditores.
Exerccio 1.48. Mostre que o mtodo Leapfrog (salto-ao-eixo)
Resoluo:
yk+1 = yk1
tambm (r
=1
r1 = 1, r2 = 1,
y (tk+1 )y (tk1 ) h
razes distintas).
consistncia 2.
2f (tk , y (tk )) =
multipasso consiste em usar frmulas de diferenciao numrica. J vimos o caso do Leapfrog, mas tambm vimos no Exemplo 1.44 que isso corre o risco de levar a mtodos instveis. ( Uma classe de mtodos que usam diferenciao numrica so os Mtodos BDF que so implcitos, usando frmulas de difer-
enciao regressiva. O primeiro exemplo ser o Mtodo de Euler Implcito, que tem ordem 1 e j estudmos. Vejamos um outro exemplo, de ordem 2, considerando a frmula de diferenciao regressiva (exerccio no captulo sobre diferenciao):
y (t) =
de ordem 2
(1.6.9)
Mtodo BDF
yk+1 =
4 1 2h y k y k 1 + fk+1 3 3 3
r1 = 1 , r = 1) , e tem consistncia de ordem 2 (exerccio). 3 2 Os restantes Mtodos BDF, de ordem superior, at ordem 6, podem ser obtidos
Estes mtodos tm sido utilizados pela sua eccia em
de maneira semelhante. A partir de ordem 6 falham na condio de estabilidade, no sendo convergentes. termos da A-estabilidade, nos problemas rgidos. Neste caso vemos que a regio de A-estabilidade ser dada por
A = { C : |2
porque usando
fk = yk
obtemos
h = 1,
4 2 (1 2 3 )r = 3 r
1 3
= r =
2 1 + 2 , 2 3
e as razes devem ter mdulo no superior a 1. Comparando com o Mtodo dos Trapzios Implcito este mtodo tem maior regio de A-estabilidade.
26
Ao contrrio dos problemas de valor inicial, denidos pelo Problema de Cauchy, os problemas de fronteira podem ter condies em ambas as extremidades de um intervalo. O caso mais habitual o dos problemas de fronteira de segunda ordem, genericamente denidos por:
(1.7.1)
Notamos que no podemos tratar este problema da mesma forma que os Problemas de Cauchy, porque sendo um problema de 2 ordem, temos informao sobre
y (a),
y (a),
b.
Uma
a,
e outra na extremidade
b.
Consider-
amos aqui o caso em que so impostas condies sobre a funo nas extremidades
problema de Dirichlet),
sobre as derivadas
Os processos podem ser generalizados sem diculdade. Tambm iremos focar neste caso de ordem 2, onde so impostas duas condies nas extremidades, mas os problemas podem ser de ordem
as extremidades (se todas as condies cassem denidas numa extremidade, ento tratava-se de um problema de Cauchy).
1.7.1. Mtodo do Tiro. O Mtodo do Tiro consiste em reduzir o problema
de fronteira a uma equao em que intervm problemas de Cauchy. Podemos assim usar os mtodos vistos anteriormente para resolver os problemas de Cauchy intervenientes. Vejamos a sua aplicao ao problema de fronteira denido em (1.7.1). A ideia consiste em denir uma funo
(x) = yx (b),
em que
yx
tal que
yx (a) = x.
Ou
x,
yx ,
b. x de forma a que verique tambm a condio sobre b. yx (b) = yb , o que corresponde a resolver a equao:
faltando vericar a condio sobre
a,
(x) = yb .
Trata-se de uma equao no linear, onde podem ser aplicados mtodos numricos, por exemplo, os mtodos da bisseco, secante ou Newton. Aplicando o mtodo da secante, consideramos dois valores iniciais, iteramos
x0
x1 ,
xn+1 = xn
notando que em cada nova
que corresponde a
27
C1 (x)
a
C2 (x)
ya = C1 (x)e
+ C2 (x)e ,
[a, b]
tk = a + kh,
derivada por diferenciao numrica.
h=
ba , n
e em cada um destes pontos podemos aplicar uma aproximao da derivada e 2 Por exemplo, usando a aproximao de 2 ordem por diferenas centradas
y (tk ) y (tk )
obtemos o sistema
= =
y (tk+1 ) y (tk1 ) + O(h2 ) 2h y (tk+1 ) 2y (tk ) + y (tk1 ) + O(h2 ) h2 ponto y (tk ) = g (tk , y (tk ), y (tk )),
para
com
yk y (tk )
y (tk1 ) , = g tk , yk , y(tk+1 )2 h
com
k = 1, . . . , n 1
y0 = y (t0 ) = ya , yn = y (tn ) = yb .
Este sistema geralmente no linear e pode ser resolvido, por exemplo, pelo mtodo de Newton (ou Broyden). Quando a funo
linear em
y,
e aplicando a aproximao de 2
em que
1.8. ANEXO
28
(2 + h2 d1 ) 1 0
. . .
1 (2 + h2 d2 ) 1
.. .
0 1
.. .. . .
.. .. .. . . .
y1
. . . . . . . . .
0 1 (2 + h2 dn1 )
h2 c1 ya h2 c2
. . .
yn1
h2 cn2 h cn1 yb
2
dk > 0,
Nome do Mtodo
Expresso
Ordem
Euler Euler Implcito RK2-Ponto-Mdio RK2-Heun Trapzios (implcito) Leapfrog (explcito) BDF-2 (implcito) Adams-Bashforth (passo 2) Adams-Moulton (passo 2) Adams-Bashforth (passo 3)
RK-3
RK-4
yk+1 = yk + hfk yk+1 = yk + hfk+1 h yk+1 = yk + h f (tk + h 2 , yk + 2 fk ) h yk+1 = yk + 2 ( fk + f (tk + h, yk + hfk ) ) yk+1 = yk + h 2 ( fk + fk+1 ) yk+1 = yk1 + 2hfk 1 2h yk+1 = 4 3 yk 3 yk1 + 3 fk+1 3h h yk+1 = yk + 2 fk 2 fk1 h 2h h yk+1 = yk + 5 12 fk+1 + 3 fk 12 fk1 23h 4h h yk+1 = yk + 12 fk 3 fk1 + 5 12 fk2 h yk+1 = yk + 6 ( F1 + 4F2 + F3 ) ) h F1 = fk ; F2 = hf (tk + h 2 , yk + 2 F1 ) F3 = f (tk + h, yk hF1 + 2hF2 ) h h 5h h yk+1 = yk + 38 fk+1 + 19 24 fk 24 fk1 + 24 fk2 55h 59h 37h h yk+1 = yk + 24 fk 24 fk1 + 24 fk2 38 f k 3 h y = y + ( F + 2 F + 2 F + F ) ) k+1 k 1 2 3 4 6 F = f ; F = f ( t + h , y + h F ) k 1 1 k 2 k 2 2 h h F = f ( t + , y + F ) 3 k k 2 2 2 F4 = f (tk + h, yk + hF3 )
1 1 2 2 2 2 2 2 3 3
4 4
etc...