Você está na página 1de 30

Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Numerica

Resolucao
de Equacoes

Diferenciais Ordinarias
(EDO)
Ivanovitch Medeiros Dantas da Silva
Universidade Federal do Rio Grande do Norte
e Automacao

Departamento de Engenharia de Computacao

DCA0399 - Metodos
Computacionais para Engenharia Civil

Natal, 09 de novembro de 2011

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Sumario

Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Sumario

Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Diferenciais
Equacoes

Diferencial e uma equacao


que envolve
Uma Equacao

derivadas de uma ou mais funcoes.


Elas servem para descrever o comportamento de sistemas

dinamicos
e possuem enorme aplicacao

Engenharia - comportamento de um circuito eletrico


ou do

movimento oscilatorio
de estruturas
de bacterias

Biologia - crescimento de populacoes


financeiras
Economia - aplicacoes

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Diferenciais
Equacoes

Classificacao

diferenciais sao
classificadas de acordo com o
Equacoes
seu tipo, ordem ou grau.

diferencial ordinaria

Equacao
- se uma equacao
de uma unica
diferencial envolve derivadas de uma funcao

variavel
independente.
F (x, y,

d ny
dy d 2 y
,
,...,
)
dx dx
dx

diferencial
diferencial parcial - se uma equacao
Equacao
com duas ou
envolve derivadas parciais de uma funcao

mais variaveis
independentes.
F (x1 , . . . , xn , y,

y
y 2 y
2y
,...,
,
,...,
, . . .)
x1
xn x1
xn

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Diferenciais
Equacoes

Significado grafico

Suponha um polinomio
de quarto grau
y = 0.5x 4 + 4x 3 10x + 8.5x + 1
Derivando-o, obtemos uma EDO
dy /dx = 2x 3 + 12x 2 10
tambem
descreve o comportamento de
Essa equacao

polinomio,
sendo que de uma maneira diferente. Ao inves
de descrever explicitamente o valor de y para cada valor
de y com relacao
a x.
de x, ela fornece a taxa de variacao

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Diferenciais
Equacoes

Significado grafico

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Diferenciais
Equacoes

diferencial
Embora possamos determinar uma equacao
original, o objetivo aqui e determinar a
dada a funcao
original, dada a equacao
diferencial.
funcao
original e a solucao
do nosso problema.
A funcao
original
No exemplo anterior, podemos calcular a funcao
analiticamente
R
y=
(2x 3 + 12x 2 10)dx
= 0.5x 4 + 4x 3 10x + 8.5x + C

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Diferenciais
Equacoes

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Diferenciais
Equacoes
Exemplo

Problema: analise
de um corpo de massa m que cai com

velocidade v (t). Este corpo sofre uma forca de resistencia


do ar na forma Fr = c v (t), onde c e o coeficiente de

resistencia.
A forca que leva o corpo para
baixo
F = P Fr
Sabendo que, P = m g,
F = m a(t) e a(t) = dvdt(t)
dv (t)
c
= g v (t)
dt
m
Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Diferenciais
Equacoes

Resolucao

para uma equacao


diferencial consiste em
A solucao
que satisfaca a equacao
diferencial.
encontrar uma funcao
nao
deve conter derivadas nem diferenciais e ela
A funcao
geral ou particular.
pode ser uma solucao
geral de ordem n e uma solucao
contendo n
Uma solucao
independentes
constantes de integracao
ct

v (t) = d1 e m +

Ivanovitch Silva

gm
c

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Diferenciais
Equacoes

Resolucao

particular e obtida a partir da solucao


geral,
Uma solucao
` constantes
dando-se valores especficos as
f (x0 ) =

y0

f (x1 ) =

y1

00

y2
..
.

f (x2 ) =

f (n1) (n 1) = yn1
o problema e dito ser de
Se x0 = x1 = x2 = . . . = xn entao

valor inicial, caso contrario


e dito ser de contorno.
Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Diferenciais
Equacoes

Porque usar metodos


numericos?

para uma equacao


diferencial
A busca de uma solucao

ordinaria
com problema de valor inicial apresenta alguns
problemas.
analtica
Os procedimentos para a busca de uma solucao

nao e trivial.
praticas

possuem solucao
conhecida.
Muitas questoes
nao
existentes na equacao

Os coeficientes ou as funcoes
dados somente na forma de um conjunto
diferencial sao
experimentais, o que torna
tabelado de informacoes
impossvel o uso de um procedimento analtico para
da equacao.

determinar a solucao
Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Diferenciais
Equacoes

Metodos
numericos

tratados os metodos

de
Serao
numericos
de resolucao
diferenciais ordinarias

equacoes
(EDO) com o problema

do valor inicial (PVI). Esses metodos


apresentam a
seguinte forma geral:
(
dy(x)
dx = f (x, y (x))
y (x0 ) = y0

Metodo
de Euler

Metodo
de Runge-Kutta

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Sumario

Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Metodo
de Euler

Introducao

diferencial ordinaria

Dado uma equacao


de primeira ordem
com problema de valor inicial
(
dy(x)
dx = f (x, y (x))
y (x0 ) = y0

e um conjunto de pontos x [a,b], pode-se aproximar a funcao


desejada) por um polinomio

y(x) (solucao
da serie
de Taylor em
torno de um valor xk pertencente ao intervalo [a,b].
y (x) = y(xk ) + y 0 (xk )

(x xk )2
(x xk )
+ y 00 (xk )
+ ...
1!
2!

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Metodo
de Euler

Introducao

Truncando a seria
no segundo termo e fazendo x = xk+1
y (xk+1 ) y(xk ) + y 0 (xk )(xk+1 xk )

Porem,
xk+1 xk = h e y 0 (xk ) = f (xk , y (xk ))
y (xk+1 ) = y(xk ) + h f (xk , y(xk ))
yk+1 =

yk + h f (xk , yk )

onde k = 0, 1, 2, . . ., n-1. n e o numero


de subintervalos.

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Metodo
de Euler
Exemplo

Resolver a seguinte EDO, onde x [0,1] e h = 0.25


( dy(x)
2x
dx = y y
y (0) = 1

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Metodo
de Euler
Exemplo

do ndice k
Primeiramente devemos encontrar a variacao
ba
10
h=
n=
=4
n
0.25
Dessa forma, o ndice k varia de 0 ate 3.
f (xk , y (xk )) = yk

2xk
yk

k=0
x1 = x0 + h 0 + 0.25 = 0.25
2 x0
20
f (x0 , y0 ) = y0
1
=1
y0
1
y1 = y0 + h f (x0 , y0 ) 1 + 0.25 1 = 1.25
Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Metodo
de Euler
Exemplo

k=1
x2 = x1 + h 0.25 + 0.25 = 0.5
2 0.25
2 x1
1.25
= 0.85
f (x1 , y1 ) = y1
y1
1.25
y2 = y1 + h f (x1 , y1 ) 1.25 + 0.25 0.85 = 1.4625
k=2
x3 = x2 + h 0.5 + 0.25 = 0.75
2 x2
2 0.5
f (x2 , y2 ) = y2
1.4625
= 0.77874
y2
1.4625
y3 = y2 + h f (x2 , y2 ) 1.4625 + 0.25 0.77874 = 1.6572
Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Metodo
de Euler
Exemplo

k=3
x4 = x3 + h 0.75 + 0.25 = 1
2 x3
2 0.75
f (x3 , y3 ) = y3
1.6572
= 0.75222
y3
1.6572
y4 = y3 + h f (x3 , y3 ) 1.6572 + 0.25 0.75222 = 1.84526

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Metodo
de Euler
Exemplo

Resolver a seguinte EDO, onde x [0,2] e h = 0.5


(

dy(x)
dx

= yx 2 y
y (0) = 1

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Sumario

Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Metodos
de Runge-Kutta

Introducao

Quanto menor o passo usado no metodo


de Euler menor o
erro de truncamento.
e satisfatorio

Muitas vezes o erro nao


mesmo usando-se
um passo muito pequeno.

e usado na pratica.

O metodo
de Euler nao

Utilizam-se metodos
mais precisos

Runge-Kutta de primeira ordem (metodo


de Euler)
Runge-Kutta de segunda ordem
Runge-Kutta de quarta ordem

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Metodos
de Runge-Kutta
Segunda ordem

Formato I (Euler melhorado)

K1 = f (xj , yj )
K2 = f (xj + h, yj + h K1 )

yj+1 = yj + h2 (K1 + K2 )
Formato II (Euler modificado)

K1 = f (xj , yj )
K2 = f (xj + h2 , yj +

yj+1 = yj + h K2

Ivanovitch Silva

h
2

K1 )

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Metodos
de Runge-Kutta
Quarta ordem

Dentre os metodos
de Runge-Kutta, e o mais popular

K1 = f (xj , yj )

h
h

K2 = f (xj + 2 , yj + 2 K1 )
K3 = f (xj + h2 , yj + h2 K2 )

K4 = f (xj + h, yj + h K3 )

yj+1 = yj + h6 (K1 + 2K2 + 2K3 + K4 )

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Metodos
de Runge-Kutta
Exemplo

Resolver a EDO para x [0,1] e h = 0.1


(
y0 = x y + 2
y(0) = 2
Calculando o numero
de subintervalos

h=

ba
ba
10
n=
=
= 10
n
h
0.1

Portanto, j varia de 0 ate 9

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Metodos
de Runge-Kutta
Exemplo

Para j = 0
K1 =

f (x0 , y0 )

x0 y0 + 2

02+2
0

=
=

f (x0 + h2 , y0 + h2 K1 )
0.1
f (0 + 0.1
2 , 2 + 2 0)

f (0.05, 2)

0.05 2 + 2

0.05

K2 =

Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Metodos
de Runge-Kutta
Exemplo

K3 =
=

f (x0 + h2 , y0 + h2 K2 )
f (0 +

0.1
2 ,2

0.1
2

0.05)

f (0.05, 2.0025)

0.05 2.0025 + 2

0.0475

K4 =

f (x0 + h, y0 + h K3 )

= f (0 + 0.1, 2 + 0.1 0.0475)


=

f (0.1, 2.00475)

0.1 2.00475 + 2

0.09525
Ivanovitch Silva

Numerica

Resolucao
de EDOs


Introducao

Metodo
de Euler

Metodos
de Runge-Kutta

Metodos
de Runge-Kutta
Exemplo

y1 =
= 2+
=

y0 + h6 (K1 + 2K2 + 2K3 + K4 )


0.1
6 (0

+ 2 0.05 + 2 0.0475 + 0.09525)


2.0048375

Esse procedimento deve ser repetido ate j = 9, ou seja, ate


encontrar o y10 .

Ivanovitch Silva

Numerica

Resolucao
de EDOs