Escolar Documentos
Profissional Documentos
Cultura Documentos
0. Introduo
Muitos fenmenos nas reas das cincias, engenharias, economia, etc., so
modelados por equaes diferenciais. Suponha-se que se quer determinar a posio
de um corpo em movimento, e que apenas se conhece a sua velocidade ou a sua
acelerao. No fundo, quer determinar-se uma funo desconhecida, utilizando certos
dados, relacionados por uma equao que contm, pelo menos, uma das derivadas
dessa funo. Estas equaes chamam-se equaes s derivadas ou equaes
diferenciais.
Tal como acontece com o clculo do integral de uma funo, os mtodos analticos
para a resoluo de equaes diferenciais aplicam-se apenas a certos tipos de
problemas. Por isso recorre-se com frequncia ao uso de mtodos numricos para
obter a soluo de uma equao diferencial sujeita a uma dada condio.
2
2
dy
yd y
e
+ 2 = 1
dx
dx 2
d2y
=0
4
2
2
dt
dx
d2y
Ordem
y=x2+y2
d2y
dy
dy
2 + 3y + y 3 = 5x
dx
dx
dx
(y)4-x2(y)5+4xy=xex
x3 y=( y(4) )3 1
So do tipo
y=f(x,y)
y=f(x,y, y)
y(3)=f(x,y,y,y)
y(4)=f(x,y,y,y,y(3))
Exemplo:
y( x ) = c1sen( 2 x ) + c2 cos( 2 x )
Pgina 2 de 24 Resoluo Numrica de Equaes Diferenciais Ordinrias
equao
Exemplo:
y( x ) = c1sen( 2 x ) + c2 cos( 2 x )
diferencial
com c1 ,c2 IR ,
particular com c1 = c2 = 1.
Um problema de valor inicial (PVI) consiste numa equao diferencial, juntamente
com condies relativas funo incgnita e suas derivadas dadas para o mesmo
valor da varivel independente.
Exemplo:
y '' + 4 y = 0
y ( 0) = 0
'
y ( 0) = 2
PVI de 2 ordem.
Uma soluo de um PVI uma funo y=f(x) que satisfaz a equao diferencial e
todas as condies relativas funo incgnita.
Vamos, a seguir, ver mtodos numricos para a resoluo de EDOs.
Definio do problema
y(x ) = y ,
0
0
x [a, b]
x 0 [a, b]
(7.1)
Teorema:
df
contnua e limitada em D. Ento x 0 [a, b] e y 0 IR , o
dy
Assim, estes mtodos determinam aproximaes para a soluo y(x) num conjunto
discreto de pontos x0, x1, x2, ..., da varivel independente. Isto , a soluo
aproximada obtida apresentada por uma tabela de valores
( xn, yn ),
n=1,2, ...,
onde
yn y(xn).
Para obter a soluo y(x) em pontos x [a,b] diferentes de xn (n = 0, 1, ...) pode usarse interpolao.
Vamos considerar apenas o caso em que o passo h constante, tendo-se
xn+1 = xn + h = x0 + (n+1)h,
n = 0, 1,....
ba
,
m
h 2 ''
y(x n +1 ) = y(x n ) + h.y (x n ) +
y ( n ), onde x n < n < x n +1 .
2
'
(7.2)
h 2 ''
y(x n +1 ) = y(x n ) + h.f(x n , y(x n )) +
y ( n ).
2
Se h pequeno o termo
h 2 ''
y ( n ) ser tambm pequeno e podemos escrever
2
y
j+1 = y j + h.f(x j , y j ), j = 0,..., m 1
(7.3) .
Exemplo
y' = x y + 2
y( 0 ) = 2
b a 1 0
=
= 5 m -1 = 4 .
h
0.2
y
j+1 = y j + h.f(x j , y j ), j = 0,1,2,3,4.
y 0 = 2
y
j+1 = y j + 0.2 * x j - y j + 2 , j = 0,1,2,3,4.
1 iterao
y1 = y0 + 0.2*(x0 - y0 + 2) y1 = 2 + 0.2*(0 2 + 2) y1 = 2
x1 = 0 + 0.2 = 0.2
2 iterao
y2 = y1 + 0.2*(x1 - y1 + 2) y2 = 2 + 0.2*(0.2 2 + 2) y2 = 2.04
x2 = 0.2 + 0.2 = 0.4
Pgina 7 de 24 Resoluo Numrica de Equaes Diferenciais Ordinrias
3 iterao
y3 = y2 + 0.2*(x2 - y2 + 2) y3 = 2.04 + 0.2*(0.4 - 2.04 + 2) y3 = 2.112
x3=0.4+0.2=0.6
4 iterao
y4 = y3 + 0.2*(x3 - y3 + 2) y4 = 2.112+0.2(0.6-2.112+2) y4 = 2.2096
x4 = 0.6 + 0.2 = 0.8
5 iterao
y5 = y4 + 0.2*(x4 - y4 +2) y5 = 2.2096+0.2*(0.8-2.2096+2) y5=2.3277
x5 = 0.8 + 0.2 = 1
As solues aproximadas para o PVI na malha [0, 1] com passo h=0.2 so
{ 2 , 2.04 , 2.112 , 2.2096 , 2.3277 }.
Erros de discretizao
h 2 ''
y ( n ),
2
aproximao
yn-1 para
aproximao
yn+1 para
y(xn-1)
y(xn+1)
lim
h0
x x0
h= n
n
y n = y (x n ) .
Comentrios
O mtodo de Euler no muito usado uma vez que os resultados obtidos tm,
em geral, pouca preciso, a no ser que se seleccione uma valor para o passo
demasiado pequeno o que torna o processo demasiado lento.
de
h 3 '''
h 2 ''
y ( n ),
y(x n + 1 ) = y(x n ) + h.y (x n ) +
y (x n ) +
2
6
'
x n < n < x n +1 .
h 2 ''
y (x n ).
2
h2 '
f (x j , y j ),
y j+1 = y j + h.f(x j , y j ) +
onde:
f ' x j, y j =
)(
j = 0,1,..., m - 1.
f
f
x j , y j .f x j , y j .
x j, y j +
x
y
Exemplo
y' = x y + 2
y( 0 ) = 2
Resoluo
Tem-se que x0=0 e y0=2.
Alm disso, m =
b a 1 0
=
= 5 m -1 = 4 .
h
0.2
y
j+1 = y j + 0.2 * x j - y j + 2 + 0.02 * - x j + y j 1) , j = 0,1,2,3,4.
y 0 = 2
y
j+1 = 0.82y j + 0.18x j + 0.38, j = 0,1,2,3,4.
1 iterao
y1 = 0.82*y0 + 0.18*x0 + 0.38 y1 = 0.82*2 + 0.18*0 + 0.38 y1 = 2.02
x1 = 0 + 0.2 = 0.2
2 iterao
y2 = 0.82*y1 + 0.18*x1 + 0.38 y2 = 0.82*2.02 + 0.18*0.2 + 0.38 = 2.0724
x2 = 0.2 + 0.2 = 0.4
3 iterao
y3 = 0.82*y2 + 0.18*x2 + 0.38 y3 = 0.82*2.0724 + 0.18*0.4 + 0.38 = 2.151368
x3= 0.4 + 0.2 = 0.6
4 iterao
y4 = 0.82*y3 + 0.18*x3 + 0.38 y4 = 0.82*2.151368 + 0.18*0.6 + 0.38
y4 = 2.25212176
5 iterao
y5 = 0.82*y4 + 0.18*x4 + 0.38 y5 = 0.82*2.25212176 + 0.18*0.8 + 0.38
y5 = 2.370739843
x5 = 0.8 + 0.2 = 1
As solues aproximadas para o PVI na malha [0, 1] com passo h=0.2 so
{ 2.02 ,
h2 '
h 3 ''
h 4 '''
y
f (x j , y j ) +
f (x j , y j ) +
f (x j , y j ),
= y j + h.f(x j , y j ) +
j+1
2
6
24
j = 0,1,..., m - 1.
2.2.1.
y
j+1 = y j + h a .f x j , y j + b.f x j + .h, y j + .h.f x j , y j , j = 0,1,..., m - 1 .
[ (
))]
=
=
2b
sendo b arbitrrio.
j = 0,1,..., m - 1 .
y 0 = y (x 0 )
y j+1 = y j + h (k1 + k 2 )
2
k = f x , y
j j
1
k 2 = f x j + h , y j + h.k1
(
(
j = 0,1, ..., m 1.
Exemplo:
y' = x y + 2
Achar aproximaes para o PVI
na malha [0,1] com h=0.2, usando
y( 0 ) = 2
o mtodo de Euler melhorado.
Resoluo:
Tem-se que x0=0 e y0=2.
Alm disso, m =
b a 1 0
=
= 5 m -1 = 4 .
h
0.2
y 0 = 2
k = f x , y = x - y + 2
j j
j
j
1
k 2 = f x j + 0.2 , y j + 0.2 * k1 = 0.8 * x j 0.8 * y j + 1.8
(
(
j = 0,1,2,3,4.
1 iterao:
y1 = y0 + 0.1*(k1+ k2)
k1 = x0 - y0 + 2 k1 = 0 2 + 2 k1 = 0
k2 = 0.8x0 0.8y0 + 1.8 k2 =0.8*0 0.8*2 + 1.8 k2 = 0.2
donde y1 = 2 + 0.1*(0 + 0.2) = 2.02
e,
x1 = 0 + 0.2 = 0.2
2 iterao:
y2 = y1 + 0.1*(k1+ k2)
k1 = x1 - y1 + 2 k1 = 0.2 2.02 + 2 k1 = 0.18
k2 = 0.8x1 0.8y1 + 1.8 k2 =0.8*0.2 0.8*2.02 + 1.8 k2 = 0.344
donde y2 = 2.02 + 0.1*(0.18 + 0.344) = 2.0724
e,
3 iterao:
y3 = y2 + 0.1*(k1+ k2)
k1 = x2 y2 + 2 k1 = 0.4 2.0724 + 2 k1 = 0.3276
k2 = 0.8x2 0.8y2 + 1.8 k2 =0.8*0.4 0.8*2.0724 + 1.8 = 0.46208
donde y3 = 2.0724 + 0.1*(0.3276 + 0.46208) = 2.151368
e,
4 iterao:
y4 = y3 + 0.1*(k1+ k2)
k1 = x3 y3 + 2 k1 = 0.6 2.151368 + 2 k1 = 0.448632
k2 = 0.8x3 0.8y3 +1.8 k2 = 0.8*0.6 0.8*2.151368 + 1.8 = 0.5589056
donde y4 = 2.151368 + 0.1*(0.448632 + 0.5589056) = 2.25212176
e,
5 iterao:
y5 = y4 + 0.1*(k1+ k2)
k1 = x4 y4 + 2 k1 = 0.8 2.25212176 + 2 k1 = 0.54787824
k2 =0.8x4 0.8y4 +1.8 k2 = 0.8*(0.8 -2.25212176)+1.8 = 0.638302592
donde y5 = 2.25212176+ 0.1*(0.54787824 + 0.638302592)
y5 = 2.370739843
e,
x5 = 0.8 + 0.2 = 1
As solues aproximadas para o PVI na malha [0, 1] com passo h=0.2 so:
{ 2.02 , 2.0724 , 2.151368 , 2.25212176 , 2.370739843 }.
y j+1 = y j + h.k 2 ,
k = f x , y
j j
1
h
h
k 2 = f x j + , y j + .k1
2
2
j = 0,1, ..., m - 1.
Exemplo:
y' = x y + 2
, na malha [0,1] com h=0.2, usando
y
(
0
)
=
2
Alm disso, m =
b a 1 0
=
= 5 m -1 = 4 .
h
0.2
y j+1 = y j + 0.2 * k 2 ,
k = x - y + 2
j
j
1
k 2 = f x j + 0.1, y j + 0.1* k1 = 0.9 * x j 0.9 * y j + 1.9
j = 0,1,2,3,4.
1 iterao:
y1 = y0 + 0.2*k2
k2 = 0.9*(x0 - y0) + 1.9 k2 =0.9*(0 2) + 1.9 k2 = 0.1
x1 = 0 + 0.2 = 0.2
2 iterao:
y2 = y1 + 0.2*k2
k2 = 0.9*(x1 - y1) + 1.9 k2 =0.9*(0.2 2.02) + 1.9 k2 = 0.262
donde y2 = 2.02 + 0.2*0.262 = 2.0724
e,
3 iterao:
y3 = y2 + 0.2*k2
k2 = 0.9*(x2 - y2) + 1.9 k2 =0.9*(0.4 - 2.0724) + 1.9 = 0.39484
donde y3 = 2.0724 + 0.2*0.39484 = 2.151368
e,
4 iterao:
y4 = y3 + 0.2*k2
k2 = 0.9*(x3 - y3) + 1.9 k2 =0.9*(0.6 2.151368) + 1.9 = 0.5037688
5 iterao:
y5 = y4 + 0.2*k2
k2 = 0.9*(x4 - y4) + 1.9 k2 = 0.9*(0.8 - 2.25212176) + 1.9
k2 = 0.593090416
x5 = 0.8 + 0.2 = 1
Pgina 19 de 24 Resoluo Numrica de Equaes Diferenciais Ordinrias
As solues aproximadas para o PVI na malha [0, 1] com passo h=0.2 so:
{ 2.02 , 2.0724 , 2.151368 , 2.25212176 , 2.370739843 }.
y = y(x )
0
0
h
y j+1 = y j + 6 (k1 + 2k 2 + 2k 3 + k 4 )
j = 0,..., m - 1.
k1 = f(x j , y j )
k 2 = f(x j + h , y j + h k1 ),
2
2
h
h
k 3 = f(x j + , y j + k 2 )
2
2
k 4 = f(x j + h, y j + hk 3 )
Exemplo:
Achar aproximaes para o PVI
y' = x y + 2
y( 0 ) = 2
Resoluco:
Tem-se que x0=0 e y0=2.
Alm disso, m =
b a 1 0
=
= 5 m -1 = 4 .
h
0.2
y 0 = 2
0.2
y j+1 = y j +
* (k1 + 2k 2 + 2k 3 + k 4 ) ,
6
j = 0,1,2,3,4.
k 1 = x j - y j + 2
k1 = f x j , y j
= xj yj + 2
(
)
(
(
))
= f (x j + 0.1 , y j + 0.1 * x j 0.1 * y j + 0.2)
= f (x j + 0.1 , 0.9 * y j + 0.1 * x j + 0.2 )
= x j + 0.1 (0.9 * y j + 0.1 * x j + 0.2 ) + 2
k 2 = f x j + 0.1 , y j + 0.1 * k1
= f x j + 0.1 , y j + 0.1 * x j y j + 2
(
)
= f (x j + 0.1 , y j + 0.1 * (0.9 * x j 0.9 * y j + 1.9 ))
= f (x j + 0.1 , y j + 0.09 * x j 0.09 * y j + 0.19 )
= f (x j + 0.1 , 0.91 * y j + 0.09 * x j + 0.19)
= x j + 0.1 (0.91 * y j + 0.09 * x j + 0.19 ) + 2
k 3 = f x j + 0.1 , y j + 0.1 * k 2
(
)
(
(
))
= f (x j + 0.2 , y j + 0.182 * x j 0.182 * y j + 0.382 )
= f (x j + 0.2 , 0.818 * y j + 0.182 * x j + 0.382 )
= x j + 0.2 (0.818 * y j + 0.182 * x j + 0.382) + 2
k 4 = f x j + 0.2 , y j + 0.2 * k 3
= f x j + 0.2 , y j + 0.2 * 0.91 * x j 0.91 * y j + 1.91
y j +1 = y j +
= yj +
0.2
* (5 .438 * x j 5 .438 * y j + 11 .438 )
6
j = 0, 1, 2, 3,4.
1 iterao:
y1 = 0.818733334*y0 + 0.181266666*x0+0.381266666
3 iterao:
y3 = 0.818733334*y2 + 0.181266666*x2+0.381266666
= 0.818733334*2.070324273+ 0.181266666*0.4+0.381266666
= 2.148816828
4 iterao:
y4 = 0.818733334*y3 + 0.181266666*x3 + 0.381266666
= 0.818733334*2.148816828+ 0.181266666*0.6+0.381266666
= 2.249334632
5 iterao:
y5 = 0.818733334*y4 + 0.181266666*x4 + 0.381266666
= 0.818733334*2.249334632+ 0.181266666*0.8+0.381266666
= 2.367885242
e,
x5 = 0.8 + 0.2 = 1
As solues aproximadas para o PVI na malha [0, 1] com passo h=0.2 so:
{ 2.018733335, 2.070324273, 2.148816828, 2.249334632, 2.367885242 }.