Escolar Documentos
Profissional Documentos
Cultura Documentos
Mtodos de Runge-Kutta
Sistemas de EDOs
Problema de valor inicial
11-02-2009 1 N.Sousa, ESAC (c)
Mtodos numricos so procedimentos que transformam
clculos analticos complicados num conjunto de clculos
simples (muitos!)
Integrao numrica um tipo de mtodo numrico, cujo
objectivo encontrar uma soluo aproximada de uma ED.
Os MNs no fornecem resultados exactos, mais sim
aproximaes. H sempre um desvio em relao ao resultado
exacto, um erro. Este aparece porque...
aproximaes. H sempre um desvio em relao ao resultado
exacto, um erro. Este aparece porque...
(input) Os dados de entrada no problema so frequentemente
obtidos de medies, as quais provavelmente no sero exactas.
(output) O prprio mtodo introduz erros (arredondamento,
truncao, propagao, etc.) Isto reflecte-se no resultado final.
Para saber que confiana podemos ter nos resultados
numricos, importa responder s perguntas:
Qual o erro do nosso clculo? e
esse erro admissvel no contexto?
11-02-2009 2 N. Sousa, ESAC
Problema: prever a velocidade de queda dum
pra-quedista
Modelo matemtico: lei de Newton, F = ma
Foras a actuar: peso e arrasto
Equao diferencial para v(t)!
arrasto
arrasto
, P mg F cv
dv
F ma m
dt
dv
F P F ma m mg cv
dt
= =
= =
= + = =
11-02-2009 3 N. Sousa, ESAC
Mtodo analtico: transformadas de Laplace.
Se v
0
= 0:
( )
( / )
( ) 1
c m t
gm
v t e
c
=
v(t) v
an
(m/s)
v(0) 0
v(2) 11,187
v(4) 14,393
Soluo exacta, ou analtica
Mtodo numrico: velocidade no instante i+1
pode ser calculada aproximadamente, se
soubermos a velocidade no instante i:
v(4) 14,393
v(6) 15,311
v() 15,679
2
9, 8 m/s 80kg
50kg/s
g m c = = =
11-02-2009 4 N. Sousa, ESAC
Para resolver numericamente, notemos que
e substituamos esta aproximao na lei de Newton:
1
1
( ) ( )
i i
i i
v t v t dv v
dt t t t
+
+
=
( ) ( ) v t v t c
e assim obtemos uma expresso para a velocidade no instante
i + 1, recorrendo apenas a valores no instante i
( )
1
1
1 1
( ) ( )
( )
( ) ( ) ( )
i i
i
i i
i i i i i
v t v t c
g v t
t t m
c
v t v t g v t t t
m
+
+
+ +
(
= +
(
11-02-2009 5 N. Sousa, ESAC
Em vez de usar a
derivada
verdadeira,
usamos uma
aproximao aproximao
Da figura vemos
que, quanto mais
pequeno for t,
melhor a
aproximao
11-02-2009 N. Sousa, ESAC 6
Comeando com v
0
=0, podemos agora usar a
expresso para v(t
i+1
) para fazer um quadro
v(t) v
an
(m/s) v
num
(m/s)
v(0) 0 0
( )
(2) (0) (0) 2 0 19,6
c
v v g v
m
(
= + =
(
v(0) 0 0
v(2) 11,187 19,6
v(4) 14,393 14,7
v(6) 15,311 15,925
v() 15,679 15,679
( )
(4) (2) (2) 4 2 14,7
etc
m
c
v v g v
m
(
(
= + =
(
=
= =
1
( , )
i i i i
y y f x y h
+
= +
1 i i
h x x
+
=
Graficamente, podemos ver que o mtodo de Euler no
ideal porque nele se faz a assuno (optimista) que em todo
o intervalo h o declive sempre igual ao declive no incio do
intervalo
11-02-2009 N.Sousa, ESAC (c) 16
Resolues numricas de EDOs envolvem dois tipos de
erros:
1. Erro de truncao. Podem ser locais ou globais e so
causados pela prpria natureza dos mtodos
numricos. P.ex. o mtodo de Euler baseia-se na srie
de Taylor, truncada 1 ordem. A cada passo gerado
um erro local de truncao, que se vai propagando por
toda a soluo. O valor total deste erro no fim o erro
um erro local de truncao, que se vai propagando por
toda a soluo. O valor total deste erro no fim o erro
global de truncao.
2. Erros de arredondamento. Causados pelas limitaes
de algarismos significativos durante os clculos.
No mtodo de Euler, pode-se provar que o erro
global de truncao da ordem do passo: .
Para diminuir o erro de truncao pode-se diminuir
o passo ou escolher um mtodo numrico mais
preciso.
11-02-2009 N.Sousa, ESAC (c) 17
~ ( )
t
E O h
Resoluo da ED para passos
de h = 0,5 e h = 0,25
Erro local: discrepncia
entre o declive mdio real e
o estimado numericamente,
em cada passo
3 2
2 12 20 8,5 y x x x
= + +
em cada passo
Erro global: afastamento
entre a soluo real e a
numrica
Como o erro global de
truncao proporcional a
h, se h baixar para metade,
tambm o erro global dever
cair para metade. A figura
confirma esta previso.
11-02-2009 N.Sousa, ESAC (c) 18
Se olharmos expresso do mtodo de Euler, vemos que uma
expanso em srie de Taylor de 1 ordem da funo y(x):
Um melhoramento ao mtodo seria, p.ex., continuar a expanso
de Taylor at 2 ordem:
Srie Taylor orde
1
m 1
i i i i
y y h y y h
+
= + = +
de Taylor at 2 ordem:
No entanto, este procedimento complicado e muito trabalhoso
Uma outra possibilidade tentar melhorar a nossa estimativa do
declive
Esta ideia exige mais clculos, mas as solues obtidas so
muito mais precisas do que aquelas que se obteriam diminuindo
o passo no mtodo de Euler ou usando uma srie de Taylor de
ordem superior a 1
11-02-2009 N.Sousa, ESAC (c) 19
2 2
1
( , ) 1 1
( , )
2 2
i i
i i i i i i i
df x y
y y y h y h y f x y h h
dx
+
= + + = + +
A principal fonte de erros do mtodo de Euler ,
como vimos na pg. 16, assumir que o declive
em todo o intervalo do passo igual ao declive
no incio desse intervalo
O mtodo de Heun usa duas equaes para O mtodo de Heun usa duas equaes para
melhorar a estimativa do declive: o previsor e o
corrector
A ideia prever, pelo mtodo de Euler, o
declive no ponto (x
i+1
,y
i+1
) e usar essa previso
para corrigir o declive no ponto (x
i
,y
i
)
com declive corrigido que depois calculamos
y
i+1
11-02-2009 N.Sousa, ESAC (c) 20
O mtodo de Euler d-nos uma previso
para y
i+1
, que vamos designar por y
(P)
i+1
:
O declive no ponto (x
i+1 ,
y
(P)
i+1
) dado
pela ED: y = f(x,y)
( )
1
previsor) ( , ) (
P
i i i i
y y f x y h
+
= +
pela ED: y = f(x,y)
O declive a usar em (x
i,
y
i
) pode ento
ser corrigido, fazendo-se a mdia dos
declives y
i
(Euler) e y
(P)
i+1
(previsto):
11-02-2009 N.Sousa, ESAC (c) 21
( ) ( )
1 1 1
( , )
P P
i i i
y f x y
+ + +
=
( )
1 1
1
corrector)
( , ) (
(
, )
2
P
i i i i
i i
f x y f x y
y y h
+ +
+
+
= +
Como vemos,
o mtodo de
Heun d-nos
uma soluo
bastante
melhor que o
3 2
2 12 20 8,5 y x x x
= + +
melhor que o
de Euler
Erro global
de truncao
no mtodo
de Heun:
11-02-2009 N.Sousa, ESAC (c) 22
2
~ ( )
t
E O h
Os mtodos de Runge-Kutta (RK) (l-se runje-
kuta) alcanam a preciso de uma srie de
Taylor, mas sem ter que recorrer a derivadas de
ordem maior que 1
H muitas variedades de mtodos RK, mas H muitas variedades de mtodos RK, mas
todos eles seguem a filosofia one-step, pelo
que se podem escrever na forma:
A ideia igual do mtodo de Heun: melhorar
a estimativa do declive (aqui dito incremento)
11-02-2009 N.Sousa, ESAC (c) 23
1
1 1 2 2
Funo de increment o:
( , , )
i i i i
n n
y y x y h h
a k a k a k
+
= +
= + + +
No incremento , os as so
constantes e os ks so dados por:
1 1 2 2 n n
a k a k a k = + + +
1
2 1 11 1
( , )
( , )
( , )
i i
i i
k f x y
k f x p h y q k h
k f x p h y q k h q k h
=
= + +
= + + +
com ps e qs constantes. Dado n, os as, ps e qs so
todos determinados por uma srie de Taylor
Note-se que os ks so dados por recorrncia: sabido
k
i
, calcula-se k
i+1
11-02-2009 N.Sousa, ESAC (c) 24
3 2 21 1 22 2
1 1,1 1 2,2 2 1, 1 1
( , )
( , )
i i
n i n i n n n n n
k f x p h y q k h q k h
k f x p h y q k h q k h q k h
= + + +
= + + + + +
= + +
2
~ ( )
t
E O h
11-02-2009 N.Sousa, ESAC (c) 28
~ ( )
t
E O h
medida que a ordem sobe, sobe tambm a preciso do
mtodo numrico de RK
A srie de Taylor aplicada a RK de 3 ordem d-nos ainda
mais ambiguidade nas constantes a, p e q. Os valores mais
comuns para as constantes levam a:
( )
1
4 y y k k k h = + + +
11-02-2009 N.Sousa, ESAC (c) 29
( )
1 1 2 3
1
2 1
3 1 2
1
4
6
( , )
1 1
,
2 2
( , 2 )
i i
i i
i i
i i
y y k k k h
k f x y
k f x h y k h
k f x h y k h k h
+
= + + +
=
| |
= + +
|
\
= + +
Quando necessrio ainda mais preciso, pode-se usar RK
de 4 ordem ou 5 ordem (Butcher), ou at superior
O mtodo clssico RK de 4 ordem corresponde
recorrncia:
( )
1 1 2 3 4
1
2 2
6
i i
y y k k k k h
+
= + + + +
11-02-2009 N.Sousa, ESAC (c) 30
1
2 1
3 2
4 3
6
( , )
1 1
,
2 2
1 1
,
2 2
( , )
i i
i i
i i
i i
k f x y
k f x h y k h
k f x h y k h
k f x h y k h
=
| |
= + +
|
\
| |
= + +
|
\
= + +
1. Escrever a ED na forma
2. Escolher o mtodo numrico a usar (Euler, Heun,
Runge-Kutta ou outro)
3. Para o mtodo escolhido, escrever a frmula de
recorrncia correspondente e
( , ) y f x y
=
y y h = + recorrncia correspondente e
identificar a funo de incremento (ou declive),
4. Determinar valores iniciais x
0
, y
0
e escolher o
tamanho do passo, h
5. Aplicar a frmula de recorrncia sucessivamente
at chegar ao ponto final.
11-02-2009 N.Sousa, ESAC (c) 31
1 i i
y y h
+
= +
Mtodo Erro global de
truncao
Esforo de
clculo
Observaes
Euler O(h) Baixo
Bom para ter uma
primeira ideia do
resultado
, na verdade, um
No geral, para um mtodo de ordem n,
~ ( )
n
t
E O h
Heun O(h
2
) Mdio
, na verdade, um
mtodo RK de 2 ordem
RK 2ordem, ponto mdio O(h
2
) Mdio
RK 2ordem, Ralston O(h
2
) Mdio
Minimiza erro de
truncao em 2 ordem
RK 3 ordem O(h
3
) Alto
RK 4 ordem O(h
4
) Alto
Mtodo mais comum
quando necessrio
preciso
11-02-2009 N.Sousa, ESAC (c) 32
Decrscimo do erro
relativo como funo do
esforo computacional
para as vrias ordens dos
mtodos de Runge-Kutta
Os mtodos de maior Os mtodos de maior
ordem obtm maior
exactido para o mesmo
nmero de clculos
A partir de um certo
ponto, todos os mtodos
requerem um grande
aumento do esforo para
diminuio do erro
11-02-2009 N.Sousa, ESAC (c) 33
Se, medida que se calcula a soluo numrica no intervalo de
interesse, os erros locais de truncao alternarem de sinal, estes
vo tender a anular-se uns aos outros, reduzindo assim o erro
global de truncao.
Mas, se no intervalo em estudo o erro local for sempre do mesmo
sinal, estes vo acumulando e a disparidade entre a soluo real
e a numrica vai aumentando. Neste caso, o resultado dito
instvel.
e a numrica vai aumentando. Neste caso, o resultado dito
instvel.
No exemplo da pgina 18, o erro global vai subindo at x = 1,5.
Nesse ponto o erro global comea a diminuir at x = 3,25, onde
volta a subir.
Por vezes h instabilidades em intervalos longos onde a soluo
real montona. A nica cura reduzir o tamanho do passo e
refazer os clculos ou usar um mtodo de ordem superior.
Quando usamos o mtodo de Euler para ter uma primeira ideia do
aspecto da soluo, se o grfico contiver zonas de instabilidade,
deve-se pensar em usar RK3 ou RK4. Se a soluo for oscilante,
normalmente RK2 basta.
11-02-2009 N.Sousa, ESAC (c) 34
Uma EDO de 2 ordem, ordinria e explcita tem a forma geral
Uma EDO de 2 ordem pode ser transformada num sistema de
duas EDOs de ordem 1, mediante a mudana de varivel y = z:
2
2
( , , )
d y
f x y y
dx
=
duas EDOs de ordem 1, mediante a mudana de varivel y = z:
Resolver numericamente este sistema equivalente a resolver
a EDO inicial. Para isso precisamos, no de um mas sim dois,
valores iniciais: y(x
0
) = y
0
e y(x
0
) = y
0
EDOs de 2 ordem so bastante frequentes. Ex.:
O mesmo princpio de transformao em sistema se aplica a
EDOs explcitas de ordem 3 ou superior.
11-02-2009 35 N.Sousa, ESAC (c)
2
2
( , , )
( , , )
y z
y z
d y
f x y y
dx z f x y z
=
=
=
=
2
2
d x
dt
F ma m = =
A ideia do mtodo de Euler pode ser usada para
resolver o nosso sistema de EDOs
1 i i i
y
y
x
y z y y z h
+
= = +
= = +
1 1
, ( , , )
y i z i i i
k z k f x y z = =
Se usarmos os declives estimados pelo mtodo de Euler para corrigir os declives
iniciais, temos uma extenso dos mtodos RK2 para sistemas de EDOs
RK2 Heun
1
1 1 2 2
1
1 1 2
2 1
2 1 1 2
1
1
( ) , ,
( ) , ( , , ) , ( , , )
y i z
z i i y i
i i y y
i i z z
y i
z i i z i
y y k k h
z z k k
k z k h k z
k f x y k f x h y k h z k h h z
+
+
= = + +
= +
+
= + +
=
= + +
1
2 1 2 1 2
1 2
1
1 1 1
2 1 1 1 2 2 2
, ,
( , , ) , , , ( , )
y i z
z i i
i i y
i
y i
z i i i y z z i i
k z
k f
y y k k z k h
k f x h y k h z k h
h
z x z z y k h
+
+
= + = +
= +
=
+ = = + +
3
2 1 4 1
1 2
1 1 2 3 3
1 3 3 3
2 1 1 4 4 4 1 3 1
2
1 2 3
( ) , ,
( ) , , , ) , ( ) , ( ,
i y i i y y
i i z z
y i z
z z i i i i y i z i
y y k k h
z z k k
k k z k h
k f x h y k h z
z
k f k h h x y z
+
+
= + = + +
= + + = + = + +
=
1
1 1 2 2
1
2 1 1
2 1 1 1 1 1 2
1
2
( , , ( ) , , )
( , , )
( , , )
( , ( ) , , , )
y i i y i z
z i i y i
y i i i
z i i i
i i y y
i z i z z
y k g x y z
k f x
k g x h
y z
y k h z k h
k
y k k h
z z f x h y k h z k h k k h
+
+
= + + +
= + + +
= + +
= + +
=
=