bmp
Equacoes Diferenciais Ordinarias
Regina Celia P. Leal Toledo
Depto. Ciencia da Computacao-UFF
1 Introducao
1.1 Motivacao
Uma grande parte de fenomenos fsicos sao descritos matematicamente atraves de equacoes
diferenciais. Resolver estas equacoes, torna-se de grande importancia para a analise do
problema que se quer estudar.
Obter a solucao exata destas equacoes, na maioria da vezes, nao e possvel. Muitas
destas equacoes tem que sofrer um determinado n umero de simplicacoes para que possam
ter uma solucao analtica.
A utilizacao de metodos numericos se torna entao, uma opcao viavel e imprescindvel
para a analise destes fenomenos.
dx
dt
= x = v
v =
cv+kx
m
(6)
com condicoes de contorno:
x(a) =
x(a) = v(a) =
(7)
Descrita matricialmente como:
y = f(t, x, v)
y(a) =
(8)
onde,
y =
x
v
, f(t, x, v) =
cv+kx
m
e =
(9)
Quando estamos estudando uma equacao diferencial, e fundamental saber se esta tem
solucao e se sua solucao e unica. No caso de PVI de equacoes diferenciais ordinarias, esta
questao esta bem resolvida, se forem vericadas as seguintes condicoes:
Existencia e unicidade de solucao:
4
Seja a EDO: y
(x))| L|y(x) y
(x)| (10)
onde y e y
(x
k
)h + y
(x
k
)
h
2
2!
+ y
(x
k
)
h
3
3!
+ ... + y
n
(x
k
)
h
n
n!
+ O(h
n+1
) (11)
O ultimo termo da expressao anterior, indica o erro que cometemos ao truncarmos a serie
no enesimo termo que e dado por:
y
n
()
h
n
n!
, x x + h
Desta forma, dada a EDO:
dy
dx
= y
(x
k
, y(x
k
))
+ ... +
h
n
n!
f
(n1)
(x, y(x)) + O(h
n+1
) (14)
5
Se utilizarmos somente os 2 primeiros termos para encontrarmos aproximacoes suces-
sivas para y(x), x [a, b], teremos, neste caso, um erro da ordem de h
2
(le-se: ordem de
h
2
). Este metodo, conhecido como Metodo de Euler, e dado por:
y
k+1
= y
k
+ hf(x
k
, y
k
) (15)
onde utilizaremos a notacao y
k
para denotar uma aproximacao para y(x
k
), uma vez que
estamos abandonando todos os demais termos da serie. Este metodo, foi o primeiro
utilizado para se encontrar aproximacoes numericas para equacoes diferenciais ordinarias.
Como exemplo, seja o problema de valor inicial:
y
= y + x
y(0) = 1
x [0, 1]
cuja soluc ao exata e: y(x) = x 1 + 2e
x
. Pelo metodo de Euler, teremos:
y
k+1
= y
k
+ h(y
k
+ x
k
) (16)
Escolhendo h = 0.1, obtemos:
y
1
= y(0.1) = y
0
+ h(y
0
+ x
0
) = 1.0 + 0.1(1.0 + 0.0) = 0.9000
y
2
= y(0.2) = y
1
+ h(y
1
+ x
1
) = 0.9 + 0.1(0.9 + 0.1) = 0.8200
y
3
= y(0.3) = 0.7580
y
4
= y(0.4) = 0.7122
y
9
= y(0.9) = 0.6748
y
10
= y(1.0) = 0.6974
Veremos, mais adiante, as possveis escolhas de h.
Sugestao: Faca este mesmo exemplo com h = 0.2 e compare a solucao encontrada
com a do exemplo anterior e com a solucao exata.
Podemos obter aproximacoes melhores, utilizando mais termos da serie de Taylor. Por
exemplo, podemos considerar ate o termo em h
2
e neste caso, teremos um erro da ordem
de h
3
.
y(x
k+1
) = y(x
k
) + hf(x
k
, y(x
k
)) +
h
2
2!
f
(x
k
, y(x
k
)) + O(h
3
) (17)
onde
f
(x, y(x)) =
df(x, y(x))
dx
= f
x
+ ff
y
(18)
6
O sub-ndice denota uma derivada parcial cim relacao a esta variavel, ou seja:
f
i
=
f(x, y(x))
i
(19)
Utilizando este mesmo expediente podemos melhorar a ordem do metodo, incluindo mais
termos `a serie de Taylor. O problema nesses casos, e que temos que calcular as derivadas
totais aplicando a regra da cadeia, o que diculta a aplicacao desses metodos e sua im-
plementac ao computacional.
Sugestao: Repita o exemplo anterior utilizando o metodo baseado na Serie de Taylor
da O(h
2
) com h = 0.1 e h = 0.2 e compare com os resultados anteriores.
2.2 Metodos de Runge-Kutta
Nos metodos de Runge-Kutta podemos encontrar aproximacoes de ordem mais alta, como
nos metodos baseados na Serie de Taylor, sem termos que calcular as derivadas totais.
Estes metodos tem a seguinte forma geral:
y
k+1
= y
k
+ h(x, y(x)) (20)
onde, (x, y(x)) e tal que nao precisamos encontrar derivadas para a funcao f(x, y).
(x, y) =
r
i=1
i
k
i
(21)
sendo,
k
1
= f(x
k
, y
k
)
k
2
= f(x
k
+
2
h, y
k
+
21
k
1
h)
k
3
= f(x
k
+
3
h, y
k
+
31
k
1
h +
32
k
2
h)
.
.
.
k
r
= f(x
k
+
r
h, y
k
+
r1
k
1
h +
r2
k
2
h + +
r,r1
k
r1
h)
onde os valores de
k
, k = 1, 2, , r; k
ji
e
j
com j = 2, 3, , r e i = 1, 2, , r 1
sao encontrados, igualando-se 20 `a serie de Taylor ate a ordem desejada.
Para r = 1, 2, 3 e 4 podemos obter metodos de Runge-Kutta de ordens 1,2,3 e 4 re-
spectivamente. Para se obter um metodo de ordem 5, seriam necessarios 6 termos, como
pode ser visto em []
2.2.1 Runge-Kutta de 2
a
ordem
Podemos observar que o metodo de 2
a
ordem baseado na serie de Taylor ( 17) pode ser
reescrito como:
y(x
k+1
) = y(x
k
) + h[f(x
k
, y(x
k
)) +
h
2!
f
(x
k
, y(x
k
)) + O(h
2
)] (22)
7
Fazendo-se (x, y(x)) = f(x
k
, y(x
k
)) +
h
2!
f
(x
k
, y(x
k
)) + O(h
2
), na equacao anterior:
y
k+1
= y
k
+ h(x, y(x)) (23)
Igualando-se a expressao anterior com a do metodo de Runge-Kutta ( 20) com 2 termos
no somatorio, temos:
f(x
k
, y(x
k
)) +
h
2!
f
(x
k
, y(x
k
)) + O(h
2
) =
1
k
1
+
2
k
2
(24)
Substituiremos entao, a expressao da 1
a
derivada de f e as expressoes de k
1
e k
2
:
f(x
k
, y
k
) +
h
2!
(f
x
+ ff
y
) + O(h
2
) =
1
f(x
k
, y
k
) +
2
f(x
k
+
2
h, y
k
+
21
k
1
h) (25)
Para podermos igualar termo a termo, teremos que expandir a expressao de k
2
em serie
de Taylor:
f(x
k
+
2
h, y
k
+
21
k
1
h) = f +
2
hf
x
+
21
hff
y
+ O(h
2
) (26)
Dessa forma, obtemos o sistema nao linear:
1
+
2
= 1
2
=
1
2
21
=
1
2
Podemos observar que e um sistema de 3 equacoes e 4 incognitas. Colocando-se todas as
incognitas em funcao de
2
:
1
= 1
1
2
2
2
=
1
2
2
21
=
2
Para cada
2
= 0, obtemos um metodo de Runge-Kutta de 2
a
ordem, ou seja:
Para
2
=
1
2
, temos o chamado Metodo de Euler Modicado, onde
1
= 0,
2
= 1,
2
=
1
2
e
21
=
1
2
:
y
k+1
= y
k
+ hf(x
k
+
h
2
, y
k
+
h
2
f(x
k
, y
k
)) (27)
Para
2
= 1, temos o Metodo de Heun ou Euler Melhorado, onde
1
=
1
2
,
2
=
1
2
,
2
= 1
e
21
= 1:
y
k+1
= y
k
+
h
2
f(x
k
, y
k
) +
h
2
f(x
k
+ h, y
k
+ hf(x
k
, y
k
)) (28)
Da mesma forma (e com um pouco mais de trabalho), podemos obter Metodos de Runge-
Kutta de 3
a
e 4
a
ordem.
8
2.2.2 Runge-Kutta de 3
a
e 4
a
ordem
Da mesma forma que no tem anterior (e com mais trabalho!), podemos encontrar metodos
de Runge-Kutta de maior ordem. A seguir, apresentamos os metodos de 3
a
e 4
a
ordem
mais utilizados.
Metodo de Runge-Kutta de 3
a
ordem:
y
k+1
= y
k
+
h
6
(k
1
+ 4k
2
+ k
3
) (29)
onde k
1
, k
2
e k
3
sao dados por:
k
1
= f(x
k
, y
k
)
k
2
= f(x
k
+
1
2
h, y
k
+
1
2
hk
1
)
k
3
= f(x
k
+ h, y
k
hk
1
+ 2hk
2
)
Metodo de Runge-Kutta de 4
a
ordem:
y
k+1
= y
k
+
h
6
(k
1
+ 2k
2
+ 2k
3
+ k
4
) (30)
onde:
k
1
= f(x
k
, y
k
)
k
2
= f(x
k
+
1
2
h, y
k
+
1
2
hk
1
)
k
3
= f(x
k
+
1
2
h, y
k
+
1
2
hk
2
)
k
4
= f(x
k
+ h, y
k
+ hk
3
)
Sugestao: Repita o mesmo exemplo, so que agora com metodos de Runge-Kutta.
Compare os resultados. OBS: Voce pode conferir seus resultados utilizando a Biblioteca
de Metodos.
9