Você está na página 1de 21

Aula 14

Mtodos Numricos para


Sistemas de Equaes
Diferenciais e Equaes de
Ordem Superior.
MS211 - Clculo Numrico

Marcos Eduardo Valle

Departamento de Matemtica Aplicada


Instituto de Matemtica, Estatstica e Computao Cientfica
Universidade Estadual de Campinas
Na aula anterior, apresentamos os mtodos de Runge-Kutta
para resoluo de um PVI da forma:
(
y 0 = f (x, y ),
y (x0 ) = y0 .

Na aula de hoje, veremos que os mtodos de Runge-Kutta


podem ser aplicados tambm para a resoluo numrica de
sistemas de equaes diferenciais e equaes de ordem
superior, ambos com valores iniciais.
Sistemas de Equaes Diferenciais
Um sistema de equaes diferenciais com valor inicial


y10 = f1 (x, y1 , y2 , . . . , yn ), y1 (x0 ) = y1,0 ,

y 0 = f2 (x, y1 , y2 , . . . , yn ),

y 2 (x0 ) = y2,0 ,
2
.
.. ..


.
y (x ) = yn,0 ,

0
yn = f1 (x, y1 , y2 , . . . , yn ), n 0

pode ser escrito de forma mais compacta como

y0 = f(x, y), y(x0 ) = y0 ,

em que x R e,

y1 (x) f1 (x, y) y1,0
y2 (x) f2 (x, y) y2,0
y(x) = . , f(x, y) = . e y0 = . ,

.. .. ..
yn (x) fn (x, y) y1,0

so vetores em Rn .
Mtodos de Euler

O mtodo de Euler para sistemas de equaes diferenciais

yk +1 = yk + hf(xk , yk ), k = 0, 1, . . . ,

em que y1 , y2 , . . . so aproximaes para y(x1 ), y(x2 ), . . ..

Exemplo 1
Use o mtodo de Euler para obter uma aproximao numrica
da soluo do sistema de equaes diferenciais
(
y 0 = z, y (0) = 1
0
z =y +e x z(0) = 0

para x [0, 0.2] usando h = 0.1.


Resoluo: A frmula do mtodo de Euler fornece
     
yk +1 yk zk
= +h .
zk +1 zk yk + exk

Para k = 0, temos
           
y1 y0 z0 1 0 1
= +h x = + 0.1 = .
z1 z0 y0 + e 0 0 1+1 0.2

Para k = 1, temos
           
y2 y1 z1 1 0.2 1.02
= +h = +0.1 = .
z2 z1 y1 + ex1 0.2 1 + e0.2 0.4105

Portanto, encontramos as aproximaes

y (0.2) 1.02 e z(0.2) 0.4105.


Mtodo de Heun
De um modo similar, o mtodo de Heun para sistemas de
equaes diferenciais com valor inicial
h
yk +1 = yk + (k1 + k2 ), k = 0, 1, . . . ,
2
em que

k1 = f(xk , yk ) e k2 = f(xk + h, yk + hk1 ).

Exemplo 2
Use o mtodo de Heun para obter uma aproximao numrica
da soluo do sistema de equaes diferenciais
(
y 0 = z, y (0) = 1
0
z =y +e x z(0) = 0

para x [0, 0.2] usando h = 0.1.


Resoluo: Para k = 0, o mtodo de Heun fornece:
        
y z0 0 0
k1 = f x0 , 0 = = =
z0 y0 + ex0 1 + e0 2

e
        
y0 1 0
k2 = f x0 + h, + hk1 = f 0 + h, +h
z0 0 2
      
1 0.2 0.2
= f 0.1, = = .
0.2 1 + e0.1 2.1052

Logo,
         
y1 y0 h 1 0.1 0 0.2
= + (k1 + k2 ) = + +
z1 z0 2 0 2 2 2.1052
 
1.01000
=
0.20526
Para k = 1, o mtodo de Heun fornece:
        
y1 z1 0.20526 0.20526
k1 = f x1 , = = =
z1 y1 + ex1 1.01 + e0.1 2.1152
e
   
y1
k2 = f x1 + h, + hk1
z1
    
1.01000 0.20526
= f 0.1 + h, +h
0.20526 2.1152
      
1.03053 0.41678 0.41678
= f 0.2, = = .
0.41678 1.03053 + e0.2 2.2519
Logo,
   
y2 y h
= 1 + (k1 + k2 )
z2 z1 2
     
1.01000 0.1 0.20526 0.41678
= + +
0.20526 2 2.1152 2.2519
 
1.04110
=
0.42362
Mtodo de Runge-Kutta de Ordem 4

Finalmente, o mtodo de Runge-Kutta de ordens 4 para


sistemas de equaes diferenciais descrito por:

h
yk +1 = yk + (k1 + 2k2 + 2k3 + k4 ) ,
6
em que

k1 = f(xk , yk ),
k2 = f(xk + h/2, yk + k1 h/2),
k3 = f(xk + h/2, yk + k2 h/2),
k4 = f(xk + h, yk + k3 h).
Exemplo 3
Use o mtodo de Runge-Kutta de ordem 4 para obter uma
aproximao numrica de
(
y 0 = z, y (0) = 1
0
z =y +e x z(0) = 0

para x [0, 0.2] usando h = 0.1.


Resoluo: Para k = 0, temos
    
y 0
k1 = f x0 , 0 = ,
z0 2
     
h y0 h 0.1000
k2 = f x0 + , + k1 =
2 z0 2 2.0513
     
h y0 h 0.1026
k3 = f x0 + , + k2 = ,
2 z0 2 2.0563
     
y 0.2056
k4 = f x0 + h, 0 + k3 h = .
z0 2.1154

Logo,
 
h 1.0102
y1 = y0 + (k1 + 2k2 + 2k3 + k4 ) = .
6 0.2055
Para k = 1, temos
    
y1 0.2055
k1 = f x1 , = ,
z1 2.1154
     
h y1 h 0.3113
k2 = f x1 + , + k1 =
2 z1 2 2.1823
     
h y h 0.3146
k3 = f x1 + , 1 + k2 = ,
2 z1 2 2.1876
     
y1 0.4243
k4 = f x1 + h, + k3 h = .
z1 2.2630

Logo,
 
h 1.0415
y2 = y1 + (k1 + 2k2 + 2k3 + k4 ) = .
6 0.4241
Modelo Presa-Predador

Considere duas espcies que interagem como presa-predador.


Por exemplo, lobos e coelhos.

Denote por p(t) e q(t) a quantidade de presas e predadores no


instante t.

A dinmica populacional das duas espcies pode ser descrita


pelo sistema de equaes diferenciais, chamado equaes de
Lotka-Volterra: (
p0 = ap bpq,
q 0 = cq + dpq,
em que a, b, c e d so constantes positivas.
Considere

a = 0.25, b = 0.01, c = 1.00 e d = 0.01,

e a condio inicial

p0 = 80 e q0 = 30.

Nesse caso, encontramos as seguintes aproximaes usando


os mtodos de Euler, Heun e Runge-Kutta de ordem 4.
Mtodo de Euler
140
h=1.00
h=0.50
130 h=0.25
Exata
120

110
Presa

100

90

80

70

60
10 15 20 25 30 35 40 45
Predador

Note que a curva do mtodo de Euler se aproxima


linearmente da soluo exata.
Mtodo de Heun
140
h=1.00
h=0.50
130 h=0.25
Exata
120

110
Presa

100

90

80

70

60
10 15 20 25 30 35 40 45
Predador

Para h = 1, a soluo se afasta da soluo exata. Ainda assim,


a aproximao melhor que as do mtodo de Euler.
Mtodo de Runge-Kutta ordem 4
140
h=1.00
h=0.50
130 h=0.25
Exata
120

110
Presa

100

90

80

70

60
10 15 20 25 30 35 40 45
Predador

Encontramos boas aproximaes mesmo com h = 1!


Equaes Diferenciais de Ordem Superior
Uma equao diferencial de ordem m

u (m) = g(x, u, u 0 , u 00 , . . . , u (m1) ),

pode ser escrita como um sistema com m equaes


diferenciais de ordem 1

y0 = f (x, y),

tomando

y1 (x) = u(x), y2 (x) = u 0 (x), ..., ym (x) = u (m1) .

Especificamente, temos


y10 = y2 ,

y 0 = y3 ,

2
..


.

0
ym = g(x, y1 , y2 , . . . , ym ).
Exemplo 4
Escreva o problema de valor inicial
(
u 00 u = ex ,
u(0) = 1 e u 0 (0) = 0,

como um sistema de equaes diferenciais com valor de inicial.


Exemplo 4
Escreva o problema de valor inicial
(
u 00 u = ex ,
u(0) = 1 e u 0 (0) = 0,

como um sistema de equaes diferenciais com valor de inicial.

Resposta: Tomando y = u e z = u 0 , podemos escrever o


problema de valor inicial como
(
y 0 = z, y (0) = 1
z 0 = y + ex , z(0) = 0,

que o mesmo sistema encontrado no Exemplo 1.


Consideraes Finais

Na aula de hoje, vimos que os mtodos de Runge-Kutta podem


ser aplicadas para aproximar a soluo de um sistema de
equaes diferenciais de um modo direto.

Vimos tambm como escrever uma equao diferencial de


ordem superior como um sistema de equaes diferenciais.

Durante toda abordagem, consideramos h fixo. Porm, a


maioria dos softwares de computao cientfica usam mtodos
de passo variado. Os mtodos de passo variado fazem uma
estimativa do erro local a cada iterao. O mtodo de
Runge-Kutta-Fehlberg um exemplo de mtodo de passo
variado.