You are on page 1of 26

UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 89

Clculo Numrico Professora Mariluci Ferreira Portes


Unidade VIII Resoluo Numrica de Equaes Diferenciais
8.1- Introduo
Em diversas reas do conhecimento existem princpios ou surgem problemas
cuja modelagem matemtica recai na soluo de uma equao diferencial, pois estes so
descritos por relaes que envolvem uma taxa para tal fenmeno acontecer.

Exemplos:
a) Suponha que um bairro, dois anos aps o incio de seu loteamento, o nmero
de indivduos tenha duplicado com relao populao inicial. Aps trs anos
o nmero de habitantes deste bairro elevou a dez mil indivduos. Quantos
habitantes existem atualmente neste bairro?
Considerando
N =N(t) nmero de indivduos no instante t
N
0
= N(t
0
)- nmero de indivduos no instante inicial do bairro.
Podemos representar o crescimento dos habitantes pela equao
KN
dt
dN

onde K uma constante de proporcionalidade.


b) Suponha que uma fora F ,no necessariamente constante, age segundo uma
direo paralela ao eixo s . Suponha que uma partcula P parte de uma posio
inicial s
0
, e denotamos por W o trabalho realizado pela fora F varivel para
mover P de sua posio original para a posio s
1
(Fig.8.1).
O trabalho feito pela fora F varivel satisfaz a equao diferencial
F
ds
dW
com a condio inicial de que W = 0 quando s = s
0
.


Pode ocorrer que, em muitas casos, a soluo exata de uma equao diferencial
ordinria no seja possvel ou muito difcil de ser determinada.
Da recorremos a mtodos numricos para determinarmos tal soluo.

Recordemos alguns conceitos importantes
8.1.1- Definio1:
Uma equao do tipo
(8.1) x
dx
dy
2
S
0
Posio original de P Posio final de P
F
F
S
1
Posio original de P
s

Fig.8.1
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 90
Clculo Numrico Professora Mariluci Ferreira Portes
chamada de equao diferencial ordinria. Diferencial, devido a relao entre
derivadas, e ordinria pois a derivada uma derivada comum (em oposio derivada
parcial y/ x).
Como y =x
2
satisfaz a (8.1), ento dizemos que y= x
2
uma soluo de (8.1)
Exemplos de Equaes Diferenciais Ordinrias

1)
dx
dy
= 2x
3)

dx
y d
+
dx
dy 3
- 17y = 0
2)
dx
dy
= x + y
4) 15 2 15
2
2
2
3
3
+

,
_

y
dx
y d
dx
y d

Definio 2:
1) A varivel dependente a varivel que est sendo diferenciada.
Ex.: Nos exemplos anteriores, y a varivel dependente.
2) A varivel independente a varivel em relao a qual a diferenciao est sendo
efetuada.
Ex.: Nos exemplos anteriores, x a varivel independente.
3) A ordem de uma equao diferencial obtida atravs da derivada de mais alta
ordem.

Ex.: Nos exemplos anteriores
(1), (2) so de 1 ordem
(3) de 2 ordem
(4) de 3 ordem
4) O grau de uma equao diferencial a potncia a que est elevada a derivada de
mais alta ordem.
Ex.: Nos exemplos anteriores
(1), (2), (3) so do 1 grau
(4) do 2 grau
5) Uma equao diferencial dita homognea se cada termo da equao contm a
varivel dependente; caso contrrio, chamada no- homognea.
Ex.: (1) , (2) , (4) so exemplos de equaes no homogneas
(3) uma equao homognea

Nesta Unidade, vamos considerar a soluo de equaes de 1 ordem e do 1 grau, do
tipo
(8.1)
dx
dy
= f (x, y)
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 91
Clculo Numrico Professora Mariluci Ferreira Portes
onde f (x, y) pode ser qualquer funo de x, ou de y, ou de ambos, como por exemplo 2x,
(x
2
+ y
2
) ou (3 +x cos y).

8.1.2- Soluo Analtica
Resolver uma equao diferencial do tipo de (8.1) significa procurar uma equao da
forma y = F(x) que diferenciada fornea a equao original.
Ex.: Considere a equao diferencial ordinria
dx
dy
= cos x . Ento
y = F(x) = sen x + c
bvio que os recursos computacionais no nos fornecem uma soluo analtica do
tipo y = F(x), no entanto nos permite tabelar os valores de y sendo dados os valores de x.
8.1.3- Condies Iniciais ou de Contorno
O problema de determinar uma soluo complicado pois, na realidade existe uma
infinidade delas, uma famlia de solues.
Considere a seguinte equao diferencial , dada em (8.1)
dx
dy
= 2x
O lado direito a f (x, y) e pode ser considerado como sendo uma direo que depende
de x, visto que igual a derivado.
Podemos interpretar (8.1) como um conjunto de vetores direo no plano xy.
y

x



Fig.8.2
Qualquer soluo da equao diferencial deve acompanhar a direo do campo. H uma
infinidade de solues.
dy= 2x dx
x dy 2 dx
y = x + c
Para que a constante c fique determinada necessrio que se imponha uma condio
inicial isto quando as restries so referidas a um mesmo valor de x.
Quando as restries correspondem a vrios valores da varivel independente, tem-se
o chamado problema de valor de contorno.
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 92
Clculo Numrico Professora Mariluci Ferreira Portes
Pergunta:
A condio inicial nos leva a uma nica soluo do problema?
Poderiam existir 2 curvas soluo satisfazendo a condio inicial?
Resposta:
Por absurdo, suponha que existam 2 curvas- solues.
Para que a condio inicial seja satisfeita necessrio que:
(1) ou as 2 curvas se interceptem neste ponto
(2) ou sejam tangentes
O caso (1) impossvel porque teriam derivadas diferentes.
Analisemos o caso (2).
Sejam as solues
y = F
1
(x) tal que y
0
= F
1
(x
0
)
y = F
2
(x) tal que y
0
= F
2
(x
0
)
Desenvolvamos F
1
(x) e F
2
(x) em srie de Taylor em torno de x = x
0
F
1
(x) = F
1
(x
0
) + F
1

(x
0
) (x- x
0
) + F
1

(x
0
)
! 2
) (
0
x x
+ ...

F
2
(x) = F
2
(x
0
) + F
2

(x
0
) (x- x
0
) + F
2

(x
0
)
! 2
) (
0
x x
+ ...
Temos:

F
1
(x
0
) = F
2
(x
0
) = y
0
F
1

(x
0
) = F
2

(x
0
) = f(x
0
,y
0
)
Ento:
F
1
(x
0
) = y
0
+ f(x
0
,y
0
) (x-x) + F
1

(x
0
)
! 2
) (
0
x x
+ ...
F
2
(x
0
) = y
0
+ f(x
0
,y
0
) (x-x) + F
2

(x
0
)
! 2
) (
0
x x
+ ...
Para que F
1
(x) seja diferente de F
2
(x) necessrio que as derivadas de ordem superior
ou igual a 2 sejam diferentes. Mas, isto impossvel porque.
F
1

(x)=
dx
y x df ) , (
0 0
F
2

(x)=
dx
y x df ) , (
0 0
e assim sucessivamente.
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 93
Clculo Numrico Professora Mariluci Ferreira Portes
Concluso F
1
(x) = F
2
(x) e a condio inicial determina uma soluo nica.
Exemplo: Considere
dx
dy
= y

y
dy
= dx

y
dy

= dx

ln y = x + c

Ento

c x y
e e
+

ln
y = e
x
.

e
c
y = k e
x
Se a condio inicial for F(0) = 1 temos K=1 e y = e
x
8.2 Reduo de uma Equao Diferencial de Ordem n a um Sistema de
Equaes Diferenciais de Primeira Ordem
Considere a equao de 2 ordem

1
dt
y d
= - K
1
y
1
+ K
2
(y
1
-y
2
) + F(t)

2
dt
y d
= -K
2
(y
1
-y
2
)


Este sistema de equaes de 2 ordem pode ser transformado em sistema de 4 equaes de
1 ordem, para obteno de soluo numrica utilizando recursos computacionais.
Faamos a transformao:

2 2
1 1
y v
y v
(ponto significa derivada)

1
v

= - K
1
y
1
+ K
2
(y
1
y
2
) +F(t)

2
v
= -K
2
(y
1
y
2
)

1
y
= v
1

UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 94
Clculo Numrico Professora Mariluci Ferreira Portes

2
y
= v
2
O procedimento inverso, ou seja, converter um sistema de Equaes Diferenciais de 1
ordem em um sistema envolvendo equaes de ordem mais elevada, nem sempre pode ser
concretizado.
Existem mtodos para resolver equaes de ordem elevada, na forma em que
aparecem.

O mais freqente formar sistemas de equaes de 1 ordem e resolv-los.

8.3 - Mtodos Numricos para Soluo de Equaes Diferenciais Ordinrias
Esses mtodos esto divididos em duas categorias:
Mtodos de passos simples
So mtodos em que cada y
i+1
depende de informaes acerca da soluo
y
i
e da equao diferencial no ponto (x
i
, y
i
) .
Destacamos alguns mtodos a saber:
de Euler
Euler estendido
Runge-Kutta
Mtodos preditores-corretores
So de passo mltiplo, uma vez que a soluo y
i+1
tem seu valor
determinado com base em informaes acerca de outros vrios pontos
(x
i
, y
i
), (x
i-1
, y
i-1
) ... (x
i-k
, y
i-k
). Destacamos os seguintes mtodos:
Euler modificado
Milne

8.3.1 Mtodo de Euler
O mtodo numrico mais simples para resolver uma equao diferencial do tipo (8.1)
dx
dy
= f(x, y) devido ao matemtico suo Euler (1707 1783)
OBS.: Se f(x, y) for s funo de x podemos utilizar quadraturas numricas para
resoluo da equao diferencial.
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 95
Clculo Numrico Professora Mariluci Ferreira Portes
Suponha que queiramos determinar a soluo de (8.1) no domnio da varivel
independente a x b e tenhamos a condio inicial
(8.2) y(x
0
) = y
0
.
O mtodo de Euler est baseado na expanso em srie de Taylor da funo y(x), em
uma vizinhana do ponto x
0
, isto :
(8.3) y(x
0
+ h) = y(x
0
) + h y(x
0
) +
! 2
h
y(x
0
) +...
em que y,y,... so as derivadas de y ( calculadas no ponto x
0
).

Se a srie truncada aps o segundo termo, o resultado :
(8.4) y(x
0
+ h) y(x
0
) + h f(x
0,
y
0
)
porque y= f(x
0,
y
0
) (equao 4.2)

Graficamente temos a seguinte situao:
y f(x, y)

y
0

A
1
A
2

x
= h x

x
0
x
1
x
2
x
O termo h f(x
0
, y
0
) de (8.4) uma aproximao do valor da rea que fica sob a curva y
entre x
0
e x
1
= x
0
+ x .
A curva soluo y(x) desenhada de modo que
(8.5) y(x
1
) = y(x
0
) + A
1
onde A
1
= h f(x
0,
y
0
) e y (x
0
) a condio inicial dada
y

y

A2

A1
y
1
y
0
y
0

x
x
0
x
1
x
2

De modo anlogo, entre x
1
, x
2
temos:

(8.6) y(x
2
) = y (x
1
) + h f (x
1
, y
1
)
ou y(x
2
) = y (x
1
) + A
2

Generalizando:
y
n+1
= y
n
+ h f (x
n
, y
n
)
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 96
Clculo Numrico Professora Mariluci Ferreira Portes
(8.7)
O domnio de integrao dado pelos limites (a, b) e o passo tem amplitude dada por
n
a b
x


n n. de passos necessrios para assegurar a exatido da soluo.
Note que, fazemos uma iterao cada vez que usamos (8.7).
Veremos, mais adiante, que possvel conseguir maior preciso quando se efetua mais
de uma iterao em cada passo.

OBS.: Este um mtodo de passo simples porque cada y
i+1
depende de
informaes acerca da soluo y
i
e da equao diferencial no ponto (x
i
, y
i
) .

O mtodo de Euler, apesar de simples, apresenta resultados excelentes e pelo
grfico vimos que a soluo consiste em seq. de seguimentos retilneos que devem ser uma
boa aproximao da soluo da equao diferencial.

Exemplo:
Seja resolver a equao diferencial com a condio inicial dada.


dx
dy
= y
y(0) = 1 y
0
no intervalo (0,1)

Sol:
O mtodo de Euler dado por : y
n+1
= y
n
+ h f(x
n
, y
n
)

1) 1 intervalo (h = 1)
0 1
y
1
= y
0
+ h y
0
y
1
= (1+h) y
0
= 2
2) 2 subintervalos (h= 0. 5)
1) y
1
= y
0
+ 0.5 y
0
= 1.5
2) y
2
= y
1
+ 0.5 y
1
= 1.5 + 1.5 * 0.5 =
3) 4 subintervalos (h=0.25)
y
1
= (1+h) y
0
= 1.25
y
2
= (1+h) y
1
= 1.5625
y
3
= (1+h) y
2
= 1.953125
y
4
= (1+h) y
3
= 2.4414062
4) 8 subintervalos (h = 0.125)
y
1
= (1+h) y
0
= 1.125
y
2
= (1+h) y
1
= 1.265625
y
2
= 2.25
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 97
Clculo Numrico Professora Mariluci Ferreira Portes
y
3
= (1+h) y
2
= 1.4238281
y
4
= (1+h) y
3
= 1.601866
y
5
= (1+h) y
4
= 1.8020324
y
6
= (1+h) y
5
= 2.0272865
y
7
= (1+h) y
6
= 2.2806973
y
8
= (1+h) y
7
= 2.5657845
E assim sucessivamente.
A resposta mais correta ocorre quando dividirmos (0,1) em 2048 subintervalos.
8.3.2 Mtodo de Euler Estendido
O mtodo de Euler usa os 2 primeiros termos do desenvolvimento da srie de Taylor,
ou seja
y
i+1
= y
i
+ h f(x
i
, y
i
) onde h = x
i+1
- x
i
Se desenvolvermos a srie de Taylor y(x
0
+ h) em 3 termos, temos:
y(x
0
+h) y(x
0
) y(x
0
)h + y(x
0
)
! 2
h

Para a 1 iterao temos:
y
1
= y
0
+ f(x
0
, y
0
) h + f(x
0
, y
0
)
! 2
h
Mas, f(x
0
, y
0
) =
dx
d
(f(x
0
, y
0
))
(x0, y0)

A frmula de iterao se reduz a
(8.8)
OBS.: a) Se f (x,y) for uma funo s de x, ento a diferenciao relativamente fcil.
Se f (x,y) for uma funo tambm de y temos que usar diferenciais totais, ou seja:

[ ]
dx
dy
y
y x f
dx
dx
x
y x f
y x f
dx
d

) , ( ) , (
) , (
ou seja
(8.9)
[ ]
dx
dy
y
y x f
x
y x f
y x f
dx
d

) , ( ) , (
) , (
onde dy/dx conhecido pela equao diferencial.
b) Poderamos estender a idia em questo para utilizarmos quatro, cinco ou mais
termos da srie de Taylor. Isso envolveria o uso de diferenciaes mais complicadas
tornando-se o mtodo difcil.
Foram feitas pesquisas para que fossem desenvolvidos outros mtodos igualmente
bons, porm mais fceis.
Exemplo: Resolver a equao diferencial do exemplo anterior, utilizando o mtodo de
Euler estendido.

1 + i
y
= y
i
+ f(x
i
, y
i
) h +
1
]
1

)) , ( ( y x f
dx
d
(xi, yi)
2
h
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 98
Clculo Numrico Professora Mariluci Ferreira Portes
Soluo: dy/ dx = y

y(0) = 1

2

) , ( ) , (
'
1
h
y x f h y x f y y
i i i i i i
+ +
+
Mas
'
f (x,y) = y
dx
dy
y
dx
d
) (
1) h = 1

0 1

,
_

+ + + +
2

1
2

0 0 0 0 1
h
h y
h
y h y y y
y
1
= 2, 5
2) h = 0,5

0 0,5 1


( ) 625 . 1
2
2
1
0 1
+ + h h y y

( ) 640625 . 2
2
2
1 625 . 1
2
+ + h h y
3) h = 0,25 (4 divises)
0 1

( ) 28125 . 1
2
2
1
0 1
+ + h h y y


( ) 6416015 . 1
2
2
1
1 2
+ + h h y y

( ) 103302 . 2
2
2
1
2 3
+ + h h y y

( ) 6948556 . 2
2
2
1
3 4
+ + h h y y
4) h = 0.125 (8divises)

0 1

( ) 1328125 . 1
2
2
1
0 1
+ + h h y y


( ) 2832641 . 1
2
2
1
1 2
+ + h h y y


( ) 4536976 . 1
2
2
1
2 3
+ + h h y y


( ) 6467669 . 1
2
2
1
3 4
+ + h h y y

( ) 8654781 . 1
2
2
1
4 5
+ + h h y y
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 99
Clculo Numrico Professora Mariluci Ferreira Portes

( ) 1132369 . 2
2
2
1
5 6
+ + h h y y

( ) 3939012 . 2
2
2
1
6 7
+ + h h y y

( ) 7118412 . 2
2
2
1
7 8
+ + h h y y
OBS.: Com 128 subintervalos temos exatido de quatro casas decimais. bem melhor
que o mtodo de Euler standard que nos deu exatido de 3 casas decimais com 2048
subintervalos.
8.3.3- Mtodo de Euler Modificado
O mtodo de Euler modificado consiste em 2 passos:
1.) Partimos do ponto (x
i
,y
i
) e usamos o mtodo standard de Euler para calcular o
novo
1 + i
y .
Obteramos o mesmo y
i+1
do mtodo standard, mas estamos utilizando notao
diferente porque no o valor final. Esta parte do processo chamada de passo de predio.
2.) O segundo passo chamado de correo , pois tenta corrigir a previso anterior.
Tendo obtido um novo ponto (x
i+1
,
1 + i
y ) , calculamos, agora, a derivada f(x
i+1
,
1 + i
y )
neste ponto, usando a equao diferencial original e tomamos a mdia desta derivada com a
derivada no ponto original.
Agora desprezamos o ponto provisrio (x
i+1
,
1 + i
y ) e voltamos a (x
i
,y
i
) . Usando a
derivada mdia , calculamos um novo valor, que deve ser mais exato que o valor previsto
1 + i
y .
Este mtodo o mais simples de toda uma srie de mtodos chamados de preditores-
corretores.

A forma estendida do mtodo de Euler nos deu uma exatido melhor do que a do
mtodo de Euler standard, mas no pode ser sempre usada.
O mtodo standard de Euler fornece resultados inexatos porque usa o valor da
derivada calculado numa das extremidades do intervalo como se fosse o mesmo em todo
intervalo. Para termos maior exatido necessrio que o intervalo seja muito pequeno,
porm isso introduz um erro de arredondamento maior.
O mtodo de Euler modificado tenta evitar este problema, usando o valor mdio da
derivada (aps essa introduo, dar a formalizao do mtodo e a seguir o exemplo).
Exemplo:
Resolver a equao diferencial do exemplo anterior pelo mtodo de Euler modificado
(preditor- corretor).
Soluo
y
dx
dy

UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 100


Clculo Numrico Professora Mariluci Ferreira Portes
y(0) = 1
Pelo mtodo de Euler standard


1
y = y
0
(1 + h)
Usando um s subintervalo
0 1

1
y = 1 (1+1) = 2

dx
dy

x = x
0
= f (x
1
,
0
y ) = f (1,2) = 2


y =
1
y


dx
dy

x = x
0

= f (x
0
, y
0
) = f (0,1) = 1

y = y
0

Tomando a derivada mdia vem

f (x
1
,
1
y ) = 1,5
Ento y
1
= y
0
+ 1,5h = 2,5

OBS.: Este valor bem melhor que o mtodo standard.
Apressadamente, poderamos concluir que com dois, trs ou cinco passos de corrreo
chegaramos mais rpido ao resultado exato.
Calculemos mais um passo

dy
dx

x = x
1

= f (x
1
,
1
y ) = (1; 2.5) = 2.5

y =
1
y
Derivada mdia :
f
75 . 1
2
5 . 2 1
) , (
1 1

+
y x
Clculo de y
1
= y
0
+1.75h = 2.75
Observe que este valor ultrapassa o valor correto de = 2.7182818. Se o comprimento
do subintervalo h for demasiadamente grande, mais iteraes do passo de correo,
aumentam o erro global, podendo causar at divergncia.
Formalizao do Mtodo de Euler Modificado
1. passo de previso
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 101
Clculo Numrico Professora Mariluci Ferreira Portes


1 + i
y = y
i
+f(x
i
+ y
i
)h
2. passo de correo
a) Clculo de f (x
i+1
,
1 + i
y ) que a derivada ano novo ponto.
b) Derivada mdia

2
1
[f (x
i
,y
i
) +f (x
i+1
,
1 + i
y )]

c) frmula de iterao
(8.10) y
i+1
= y
i
+
2
h
[ f (x
i

,
y
i
) + f (x
i+1
,
1 + i
y ) ]
Exemplo:
Baseados nos mesmo exemplo vamos fazer mais subdivises no intervalo (0,1)
1) h =1 (j feito)
2) h = 0.5

0

0.5 1

1
y = y
0
(1+h) = 1.5 (predio)

dx
dy

x
1
= 0.5
= f (x
1
,
1
y ) = 1.5

2
y = 1.5

Derivada mdia : 1.25

y
0
h
y
1
= 1 + 0.5(1.25) = 1.625

2
y = y
1
(1+h) = 2.4375 (predio)

dx
dy

x
1
= 1
= f (x
2
,
2
y ) = 2.4375

2
y = 2.4375

Derivada mdia : 03125 . 2
2
4375 . 2 625 . 1

+

y
2
= y
1
+ 0.5 = 2.640625
3) h = 0.25
a)
1
y = y
0
(1+h) = 1(1+0.25) = 1.25
dy/dx ](x
1
,
1
y ) = 1.25
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 102
Clculo Numrico Professora Mariluci Ferreira Portes
Derivada Mdia = 125 . 1
2
25 . 1 1

+
y
1
= 1+ 1.125 x 0.25 = 1.28125
b)
2
y = y
1
(1+h) = 1.6015625

dx
dy
(x
2
,
2
y ) = 1.6015625
Derivada Mdia: 1.4414062
y
2
= y
1
+ h x 1.4414062 = 1.6416015
c)
3
y = y
2
(1+h) = 2.0520018

dx
dy
(x
3
,
3
y ) = 2.0520018
Derivada Mdia: 1.8468016
y
3
= y
2
+ h x 1.8468017 = 2.1033019
d)
4
y = y
3
(1+h) = 2.6291274

dx
dy
(x
4
,
4
y ) = 2.6291274
Derivada Mdia: 2.3662146
Y
4
= y
3
+ 2.3662146 x 0.25 = 2.6948555
OBS.: O valor mais prximo dado quando fazemos 128 subdivises no intervalo
(0,1).
8.3.3.1- Integrao e o Mtodo de Euler
A frmula de iterao do mtodo de Euler modificado, com predio e correo,
dada por
(8.11) y
i+1
= y
i
+
2
h
[ f(x
i
, y
i
) +f(x
i+1
,
1 + i
y )]
A 2 parcela, do 2. membro de (7.12), semelhante a integrao trapezoidal.
De fato.
Suponha que a soluo analtica da nossa equao diferencial seja

y = F(x)
Ento:
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 103
Clculo Numrico Professora Mariluci Ferreira Portes
) , ( ) ( ' y x f x F
dx
dy

Tomemos
(8.12)
) , ( ) ( ' y x f x F
e integremos ambos os lados de (8.13) em relao a x

F(x) dx =

f (x, y) dx
F(x) =

f ( x, y) dx
Integremos f (x, y) entre os limites x
i
, x
i+1
;
(8.13)

+1 Xi
Xi
f(x,y) dx = F(x
i+1
) F(x
i
) y
i+1
y
i
Colocamos em (8.14) porque os valores de y
i+1
e y
i
no so exatamente os valores
de F(x
i+1
) e F(x
i
).
Por outro lado podemos tentar a mesma integrao utilizando a regra do trapzio, ou
seja:
(8.14)

+1 Xi
Xi
f(x,y) dx
2
h
[f(x
i,
y
i
) + f(x
i+1
,
1 + i
y )] onde h a altura do trapzio.
Igualando as 2 integrais das equaes (8.13) e (8.14), temos:
y
i+1
-y
i

2
h
[f(x
i,
y
i
) + f(x
i+1
,
1 + i
y )]
y
i+1
y
i

2
h
[f(x
i,
y
i
) + f(x
i+1
,
1 + i
y )]
que a frmula de iterao do mtodo de Euler modificado.
8.4 Mtodo de Milne
Vamos deduzir agora uma correo baseada no mtodo de Simpson. Observando que
se y = F(x) a soluo da equao diferencial, ento
) , ( ) ( y x f x F
dx
d
dx
dy


1
1
+

Xi
Xi
F(x) dx =
1
1
+

Xi
Xi
f(x, y) dx = F(x
i+1
) F(x
i-1
)

[ ] ) , ( ) , ( 4 ) , (
3
1 1 1 1 + +
+ +
i i i i i i
y x f y x f y x f
h
Supondo que y
i+1
F(x
i+1
)
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 104
Clculo Numrico Professora Mariluci Ferreira Portes
y
i-1
F(x
i-1
) podemos escrever a frmula de correo.
y
i+1
y
i-1
+
[ ] ) , ( ) , ( 4 ) , (
3
1 1 1 1 + +
+ +
i i i i i i
y x f y x f y x f
h
onde
1 + i
y do lado direito, deve
ser obtido de alguma predio.
Deduo da Predio de Milne
Quando integramos a equao diferencial ) , ( y x f
dx
dy
de x
i
a x
i+1
temos:
(8.15) y
i+1
= y
i
+
1 +

Xi
Xi
f(x, y) dx
Para fazermos a integrao de (8.15) aproximemos f(x, y) atravs de um polinmio
que interpole f(x, y) nos (m+1) pontos x
i
, x
i-1
, x
i-2
, ..., x
i-m
.
Para simplicidade de notao, usemos f(x
i
, y
i
) = f
i
Podemos usar o polinmio interpolar de Newton com diferenas descendentes de grau
m, que dado por
(8.16) P
m
(x) =

m
k 0
(-1)
k

,
_

S
K
k

f
i-k
onde S =
h
x x
i

OBS.:
,
_

S
K
=
!
) 1 )...( 2 )( 1 (
K
K S S S S +
Logo
(8.17)

+
+
m
k
i i
h y y
0
1
0
1
(-1)
k

,
_

S
K
k

f
i-k
ds
Se fizermos a integrao de x
i-p
a x
i+1
, p inteiro 0 a frmula dada por (8.17) se reduz
a
(8.18)

No caso em que m = 3 e p = 3 (8.18) se reduz a:
(8.19) y
i+1
= y
i-3
+ h

+
+
3
0
1
3
3 1
k
i i
h y y
(-1)
k

,
_

S
K
k

f
i-k
ds
Faamos o clculo da integral dada em (4.20)

+
+
m
k
p
p i i
h y y
0
1
1
(-1)
k

,
_

S
K

k

f
i-k
ds
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 105
Clculo Numrico Professora Mariluci Ferreira Portes

ds f f f f
i
S
i
S
i
S
i
S
1
]
1

,
_

,
_

,
_

,
_

3
3
2
2
1
1
0
0
1
3

=
( ) ( ) [ ]


1
]
1

+

+

+ +
1
3
3 2 1 2 1 1
3 3
6
) 2 )( 1 )( (
2
2
) 1 )( (
i i i i i i i i i i
f f f f
s s s
f f f
s s
f f s f
ds
= ) (
1
1
3

i i i
f f ds f

1
3
s ds +
2
) 2 (
2 1
+
i i i
f f f

1
3
(s + s) ds -
6
) 3 3 (
3 2 1
+
i i i i
f f f f

1
3
(-s -3s - 2s) ds =
+
+
1
]
1

+ +

2
2
2

) ( ) 3 1 (
2 1
1
3
1
i i i
i i i
f f f s
f f f
1
]
1

1
3
2

3
s s
6
) 3 3 (
3 2
+
i i i i
f f f f

1
]
1

1
3
4
2
2
3
3
4
s s s

= ) 2 (
12
32
) ( 4 4
2 1 1
+ +
i i i i i i
f f f f f f

=
12
32 64 32 48 48 48
2 1 1
+ + +
i i i i i i
f f f f f f

=
+

+

3
8 4 8
12
32 16 32
2 1 2 1 i i i i i i
f f f f f f

= ) 2 2 (
3
4
2 2
+
i i i
f f f
Voltando a (8.20) temos a frmula de Predio de Milne
(8.20)


Resumindo:
Predio:
1 + i
Y = Y
i+3
+
3
4h
[ ] ) , ( 2 ) , ( ) , ( 2
2 2 1 1
+
i i i i i i
y x f y x f y x f

Correo:

1 + i
y = y
i-3
+
3
4h
[ ] ) , ( 2 ) , ( ) , ( 2
2 2 1 1
+
i i i i i i
y x f y x f y x f
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 106
Clculo Numrico Professora Mariluci Ferreira Portes
Y
i+1
= Y
i-1
+ [ ] ) , ( ) , ( 4 ) , (
3
1 1 1 1 + +
+ +
i i i i i i
y x f y x f y x f
h
Este mtodo exige o conhecimento de quatro valores anteriores de y
i
. Necessitamos de
y
i-1
, y
i-2
e y
i-3
alm de y
i
.

O mtodo de Milne no pode ser iniciado sozinho. Para podermos us-lo precisamos de
calcular y
1
, y
2
, y
3
(dado y
0
) por algum outro mtodo. Uma vez feito isto, podemos usar o
mtodo de Milne para determinar y
4
e assim continuar. Por esta razo que o mtodo
chamado de passos mltiplos.
OBS.: Um mtodo mais exato para iniciar o mtodo de Milne o de Runge- Rutta.
Exemplo:
Usando o mtodo de Milne calcular a soluo da equao diferencial
) , ( y x f y
dx
dy

y(0) = 1
Soluo:
h = 0.25 (4 divises)
0 1
Usemos o mtodo de Euler modificado para determinar y
1
, y
2
, y
3
. No exemplo anterior
y
1
= 1.28125
y
2
= 1.6416015
y
3
= 2.1033019
Clculo de
4
y
a) Pudio
i = 3 y
4
= 1 +
3
25 . 0 4x
(2 x 2.103309 1.6416015 + 2 x 1.28125) = 2.7091721

b) Correo
i = 3 y
4
=1.6416015 +
3
25 . 0
[ 1.6416015 + 4 x 2.1033019 + 2.7091721] = 2.7052666
OBS.: O valor mais prximo dado quando fazemos 64 subdivises no intervalo
(2.718270).
8.8- Mtodos de Runge- Rutta
Os mtodos de Runge- Rutta so uma combinao dos mtodos de Euler (de passo
simples) e de Milne (de passos mltiplos).
A vantagem dos mtodos de Runge-Rutta sobre o mtodo de Euler uma exatido
maior para o mesmo n. de clculos; sua vantagem sobre o mtodo de Milne sua
estabilidade e podem ser iniciados sem auxlio de outros mtodos.
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 107
Clculo Numrico Professora Mariluci Ferreira Portes
Os mtodos de Runge- Rutta so deduzidos de uma srie de Taylor sem necessidade
de utilizarmos muitas derivadas. Dependendo do n. de termos utilizados na srie de Taylor,
podemos obter vrios mtodos de Runge- Rutta, que diferiro entre si, na ordem (n. de
termos na srie de Taylor para obtermos a mesma exatido). H mtodos de Runge- Rutta de
ordem 2, 3, 4 (qurtico), 5, etc...
Deduo do Mtodo de Runge- Rutta de 2 ordem
Pesquisamos uma frmula com o seguinte aspecto:
y
i+1
= y
i
+ ak
1
+ bk
2
(8.21)
K
1
= h f(x
i
, y
i
)
onde
K
2
= h f(x
i
+ h, y
i
+K
1
)
e ,, a, b so constantes a serem determinadas.
Expandindo- se y(x
i+1
) em uma srie de Taylor at os termos de ordem h, temos:
(8.22) y
i+1
= y(x
i
) + h y(x
i
) +
2
h
y(x
i
) +
6
h
y(x
i
) + ...
= y(x
i
) + h (x
i
, y
i
) +
2
h
(
x
+
y
)
i
+
6
h
(
xx
+ 2
xy
+
yy
f +
x

y
+
2
y
f
)
i
+ o (h
4
)
y=
dx
dy
= (x,y)
y=
y x
dx
dy
y
f
x dx
d
dx
y d
+


deriv. func. implcita
y= [ ] +
y x
dx
d
dx
y d


=
( ) +
y x
dx
d
dx
d

+ + + + + ) ( ) (
y x y yy xy xy xx
ff f f ff f f ff f

=
2
2
y x y yy xy xx
ff f f f f ff f + + + +
o ndice i indica que todas as derivadas so calculadas no ponto (x
i
, y
i
).
Por outro lado temos de (8.21) que +
i
x f
h
k
(
2
h, y
i
+ k
1
) e usando a expanso da
srie de Taylor para funes de duas variveis temos:
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 108
Clculo Numrico Professora Mariluci Ferreira Portes
(8.23)
i
x f
h
k
(
2
, y
i
) + h
x
+ k
1

y
+ ) (
2

2
2

2
1
1
h o f
k
f K h f
h
yy xy xx
+ + +

onde todas
as derivadas so calculadas em (x
i
, y
i
).
Substituindo (8.23) em (8.21), observando que K
1
= h , e ordenando em potncias
crescentes de h, temos:
(8.24) y
i+1
= y
i
+ (a+b) h + bh (
x
+
y
) + bh
,
_

+ +
yy xy xx

. 2
2

+
o(h
4
)
Comparando (8.24) com (8.22) vemos que para serem iguais temos que
(8.25) a + b = 1
b = b =
2
1
H vrias solues para (8.25), uma das mais simples deve ser:
a = b =
2
1
= = 1
Logo a frmula se reduz a:
y
i+1
= y
i
+
2
1
(K
1
+ K
2
)
(8.26)
frmula do mtodo de Runge- Rutta 2 ordem.
O mtodo de Runge- Rutta de 4 ordem dado pela seguinte iterao:

y
i+1
= y
i
+
6
1
(K
1
+ 2K
2
+ 2K
3
+ K
4
)
onde:
(8.27) K
1
= h (x
i
, y
i
)
K
2
= h (x
i
+
2
1
h, y
i
+
2
1
K
1
K
3
= h (x
i
+
2
1
h, y
i
+
2
1
K
2
K
4
= h (x
i
+ h, y
i
+ K
3

Exemplo: Utilizar o mtodo de Runge- Rutta de 4 ordem para:

y
dx
dy

y
i+1
= y
i
+
2
1
[h (x
i
, y
i
) + h (x
i
+ h, y
i
+ h (x
i
, y
i
)]
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 109
Clculo Numrico Professora Mariluci Ferreira Portes

y(0) = 1 (x
0
, y
0
) = (0, 1)
Soluo:
1) h = 1
0 1

4 3 2 1 0 1
2 2 (
6
1
K K K K y y + + + +
onde:
K
1
= h (0, 1) = 1
K
2
= h
2
3
2
3
,
2
1

,
_

K
3
= h
4
7
4
7
,
2
1

,
_

K
4
= h
4
11
4
11
, 1

,
_

y
1
= 1 +

,
_

+ + +
4
11
2
7
3 1
6
1

y
1
= 1 +
708333 . 2
24
41
1
4
41
6
1
1
4
11 14 12 4
6
1
+ +

,
_

+ + +
OBS.: Somente so necessrias 16 subdivises para atingirmos um erro mnimo.
2.718277 ( erro da ordem 10
-6
)
8.9 Erros de Iterao e Correo de Hamming
H trs fontes possveis de erros na soluo numrica de equaes diferenciais.
1.) Erro de truncamento que poderiam ser chamado erros do mtodo. So
relativamente fceis de serem analisados a cada passo da interao.
2.) Erro de arredondamento que causado pelo fato de termos um grande n.
de clculos a fazer, ou porque o comprimento h muito pequeno, ou porque estamos usando
um conjunto de equaes muito complicado.
3.) Erros de propagao introduzidos porque o clculo de f(x, y) em cada
iterao depende dos resultados dos clculos anteriores. Os erros anteriores no so s
transportados resposta final, mas introduzem novos erros.
A anlise do erro de propagao numa soluo extremamente difcil; porm,
podemos tentar diminuir o erro de propagao. Uma das formas de diminuir o nosso erro de
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 110
Clculo Numrico Professora Mariluci Ferreira Portes
propagao estim-lo e tentar compens-lo. Este o mtodo sugerido por Hamming e que
aplicaremos ao mtodo de Milne.
Descrio da Correo de Hamming
A correo do mtodo de Milne usa uma integrao de Simpson. O erro quando se
aplica a regra de Simpson num intervalo [x
i-1
, x
i+1
] dado por
E
i
= A
i
I
i

90
1
IV
f (x
i
) h
5
Onde:
A
i
o valor matematicamente exato da integral sobre o i- simo segmento da
integrao.
I
i
a integral calculada pela regra de Simpson.
E
i
o erro resultante

IV
f a Quarta derivada da funo calculada para x = x
i
h comprimento do intervalo de integrao.
Ento:
(8.28) I
i
A
i
-
90
1
IV
f (x
i
) h
5
Aplicando a equao (8.28) do erro da regra de Simpson ao corretor do mtodo de
Milne, temos:
(8.29) correto F(x
i+1
) calculado y
i+1
-
90
1
IV
f (x
i
, y
i
) h
5
onde

IV
f (x
i
, y
i
) =
4
4
) , (
x
y x f


(xi, yi)
Poderamos usar nosso conhecimento da srie de Taylor para determinarmos o erro na
equao de predio de Milne. Se fizssemos isso obteramos:
(8.30) correto F(x
i+1
) calculado y
i+1
+
90
28
IV
f (x
i
, y
i
) h
5
Seja k =
IV
f (x
i
, y
i
) h
5
, ento

F (x
i+1
) y
i+1
-
K
90
1
F (x
i+1
) y
i+1
-
K
90
28
Igualando as duas equaes, obtemos o valor de K

UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 111
Clculo Numrico Professora Mariluci Ferreira Portes

1 + i
y + K
90
28
= y
i+1
- K
90
1
-
1 + i
y + y
i+1
= +
K

,
_

+
90
1
90
28
(8.31) K = ( )
1 1
29
90
+ +

i i
y y
Substituindo (8.31) em (8.30) vem:

F(x
i+1
) y
i+1
-
] [
29
90
.
90
1
1 1 + +

i i
y y
(8.32)
Esta correo de erro devido a Hamming diz, que aps calcular y
i+1
pela equao
corretora, deveriamos subtrair um termo de correo extra igual a
29
1
da diferena entre a
predio e o resultado corrigido.
No exemplo estudado, temos a seguinte situao:
Sem a correo de Hamming
64 divises - 2.718277 (-0.405125 x 10
-5
)
Com correo de Hamming
64 divises - 2.718277 (-0.394694 x 10
-5
)
(Clculos efetuados com dupla preciso)
8.10- Equaes Diferenciais de Segunda Ordem ou de Ordens Superiores
Seja a equao diferencial:
A
n
) , ( ...
1
1
1
1
y x g
dx
dy
a
dx
y d
A
dx
y d
n
n
n
n
n
+ + +

que de ordem n
Por uma transformao apropriada podemos resolver esta equao pelos mtodos j
estudados.
Observemos que:
) ,..., ' ' , ' , , (
) 1 (

n
n
n
y y y y x f
dx
y d
onde () significa derivada de y em relao a x .
Efetuaremos a seguir a seguinte mudana de varivel:
F(x
i+1
) y
i+1
-
] .[
29
1
1 1 + +

i i
y y
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 112
Clculo Numrico Professora Mariluci Ferreira Portes
y
1
= y
y
2
= '
'
1
y y
y
3
= ' '
'
2
y y

y
n
=
) 1 ( '
1


n
n
y y

) ( ' n
n
y y
Sendo a equao original de ordem n, geramos agora n equaes de 1 ordem da
seguinte forma:

2 1
' y y

3 2
' y y

4 3
' y y


n n
y y
1
'
) , , ' , , ( '
) 1 ( ) (

n n
n
y y y x f y y
Temos assim n equaes, cada uma das quais de 1. ordem.
Exemplo: Seja a equao diferencial

2 2
2
2
y x
dx
dy
dx
y d
+ +
Faamos a transformao:

( )
2
2
1
2
2
2 1
1
'
'
y y x y
y y
y y
+

Generalizando:
Uma equao diferencial de ordem n se transforma em n equaes diferenciais
simultneas da forma geral:

) , , , , ( '
2 1 1 1 n
y y y x f y

) , , , , ( '
2 1 21 2 n
y y y x f y

) , , , , ( '
2 1 1 n n n
y y y x f y
Podemos resolver estas questes aplicando o mtodo de Runge- Rutta.
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 113
Clculo Numrico Professora Mariluci Ferreira Portes
Lista de Exerccios da Unidade VIII

1) Resolva cada uma das equaes diferenciais ,de cada item, pelo mtodos de Euler
modificado e de Runge- Rutta de 4 ordem, comparando a convergncia dos resultados
obtidos.

a)
0 ) 0 (
cos

y
x
dx
dy
int.(0,
)
2

(calcular y
( )
2

)
b)
1 ) 1 (
3
2

y
x
dx
dy
int.(-1, 1) (calcular y(1))
c)
1 ) 0 (
sen 2 cos 2

+
y
x x y
dx
dy
int.(0, 1) (calcular y(1))
UERJ - CTC - IME - Departamento de Informtica e Cincia da Computao 114
Clculo Numrico Professora Mariluci Ferreira Portes
2) Resolva cada uma das equaes diferenciais ,de cada item, pelo mtodos de Milne e de
Runge- Rutta de 4 ordem , comparando a convergncia dos resultados obtidos .

a)
1 ) 0 (

y
y x
dx
dy
int.(0,1) calcular y(0,2) 0.8374
b)
1 ) 0 (
3
2


y
y x
dx
dy
int. (0,1) calcular y(0,1) 1.12725
Trabalho Computacional
Desenvolver um programa para resolver a equao abaixo pelo mtodo de Runge-Kutta
de 4 ordem

c)
41 , 0 ) 4 , 0 (
+
y
y x
dx
dy
int. (0,4;0,8) calcular y(0,8) 0.84811

You might also like