__________________________________________________________________________________________________________
SOLUÇÃO NUMÉRICA DE EQUAÇÕES DIFERENCIAIS ORDINÁRIAS
Uma equação diferencial é uma equação que envolve uma função desconhecida
e algumas de suas derivadas. Se a função é de uma só variável, então a equação
diferencial se chama equação diferencial ordinária (EDO).
Exemplos:
_______________________________________________________________________________________________
Métodos Numéricos Computacionais – 2014
Profa. Adriana Cherri Profa. Andréa Vianna Prof. Antonio Balbo Profa Edméa Baptista
2
__________________________________________________________________________________________________________
Exemplo:
Como uma equação diferencial não possui solução única, então para
individualizar uma solução tem-se que impor condições suplementares. Em geral uma
equação de ordem n requer n condições adicionais a fim de ter uma única solução.
Então, dada uma equação de ordem n, se a função, assim como suas derivadas
até ordem n-1 são especificadas em um mesmo ponto, tem-se um Problema de Valor
Inicial (PVI).
Exemplos:
y' ' 3 y' 2 y y' y 2
2) , PVI de ordem 1.
1) y( 0 ) 1 , PVI de ordem 2; y( 0 ) 1
y' ( 0 ) 0
Como nem sempre é possível obter a solução numérica de uma EDO, pode-se usar
métodos numéricos para resolvê-la. Trataremos aqui de métodos numéricos para se
conseguir os valores de y(x) em pontos distintos daqueles das condições iniciais associadas
ao PVI.
Um problema de valor inicial (P.V.I.) de 1ª ordem tem a forma
y ' f ( x, y )
(1)
y ( x0 ) y0
em que a ≤ x ≤ b, y R.
A solução deste problema é uma função y = y(x) contínua e derivável que satisfaz a
equação e passa pelo ponto (x0,y0).
Esse problema será resolvido numericamente. O primeiro passo é discretizar o
intervalo [a,b], isto é, subdividir o intervalo [a,b] em n subintervalos, definido pelos ponto
igualmente espaçados:
x j x0 j h
sendo,
ba
h , j 0 ,..., n e x0 a e xn b .
n
_______________________________________________________________________________________________
Métodos Numéricos Computacionais – 2014
Profa. Adriana Cherri Profa. Andréa Vianna Prof. Antonio Balbo Profa Edméa Baptista
3
__________________________________________________________________________________________________________
y
Solução exata
Erro
Solução Numérica
x
x0 xn
yk+1 = yk + h.(xk,yk,h)
1) Método de Euler
y' f ( x , y )
(3)
y( x0 ) yo
Procurando y1:
Como não se conhece y(x1) toma-se y1 como uma aproximação para y(x1). Traça-
se a tangente T à curva y(x) no ponto (x0,y(x0)) cuja equação é dada por:
y( x ) y( x0 ) y' ( x0 )( x x0 ) .
_______________________________________________________________________________________________
Métodos Numéricos Computacionais – 2014
Profa. Adriana Cherri Profa. Andréa Vianna Prof. Antonio Balbo Profa Edméa Baptista
4
__________________________________________________________________________________________________________
y(x1) = y1 e1
y(x0) = y0
x0 x1 x
Procurando y2:
y 2 y1 h f ( x1 , y1 )
Modo 1
Supõe uma expansão da solução y(x) em série de Taylor em torno do ponto xj:
h2 h3 hq ( q )
y( x) y( x j ) h y '( x j ) y ''( x j ) y '''( x j ) ... y ( xq ) Eq 1 ( x)
2! 3! q!
_______________________________________________________________________________________________
Métodos Numéricos Computacionais – 2014
Profa. Adriana Cherri Profa. Andréa Vianna Prof. Antonio Balbo Profa Edméa Baptista
5
__________________________________________________________________________________________________________
Truncando-se a série no termo de primeiro grau e desprezando o erro tem-se:
y( x ) y( x j ) h y' ( x j )
y( x j 1 ) y( x j ) h y' ( x j ) .
Logo:
y j 1 y j h f ( x j , y j ), j 0 ,1,...,n 1
Modo 2:
Conhece-se do cálculo o desenvolvimento em Série de Taylor da função y(x), que
supõe-se suficientemente diferenciável:
h2 h3 hq ( q )
y( x) y( x j ) h y '( x j ) y ''( x j ) y '''( x j ) ... y ( xq ) Eq 1 ( x)
2! 3! q!
Toma-se q = 1, e tem-se:
( x , y ,h ) f ( x j , y j )
_______________________________________________________________________________________________
Métodos Numéricos Computacionais – 2014
Profa. Adriana Cherri Profa. Andréa Vianna Prof. Antonio Balbo Profa Edméa Baptista
6
__________________________________________________________________________________________________________
Exemplo: Usando o Método de Euler, encontre uma solução aproximada para o P.V.I.:
dy
x y
dx ;
y (0) 1
no intervalo [0,1], sobre 5 subintervalos igualmente espaçados.
x y y'
0 1,0 1,0
0,1 1,1 1,2
0,2 1,22 1,42
0,3 1,362 1,662
0,4 1,5282 1,9282
0,5 1,721 2,221
0,6 1,9431 2,5431
0,7 2,1974 2,8974
0,8 2,4871 3,2871
0,9 2,8158 3,7158
1,0 3,1874 4,1874
Solução para este problema: Utilizar mais termos da expansão em série de Taylor
acarretaria numa melhor aproximação de y(x). A aproximação de ordem 1 feita na
expansão de Taylor para definir o método de Euler também pode ser estendida para ordens
maiores. Esta estratégia será usada nos métodos definidos a seguir.
Exemplo:
Determinar um limite superior para o erro de truncamento, decorrente da aplicação
do método de Euler à solução da equação:
y ' y, y(0) 1, 0 x 1.
Solução:
df
Neste caso, f(x, y) = y; 1 e L =1.
dy
Uma vez que y(x) = ex, temos y”(x) = ex e | y" ( x) | e para 0 x 1. Para determinar um
limite para o erro em x = 1, temos xn x0 1 e Y = e, assim
he (10 )1 he
| r (1) | (e 1) (e 1) 2,4h | r (1) | 2,4h .
2(1) 2
Exercícios:
y' y
1. Seja o P.V.I. . Usando h = 0,1 e n = 5, aplique o método de Euler para
y (0) 1
construir uma solução aproximada. Avalie o erro cometido.
_______________________________________________________________________________________________
Métodos Numéricos Computacionais – 2014
Profa. Adriana Cherri Profa. Andréa Vianna Prof. Antonio Balbo Profa Edméa Baptista
8
__________________________________________________________________________________________________________
2) Métodos de Runge-Kutta
k1 = f (x, y)
k = f (x+c .h, y+h.a .k )
2 2 21 1
(5)
…
k s = f (x+cs .h, y+h.(a s1.k1 + a s2 .k 2 +…+a s,s-1.k s-1 ))
com ci aij .
j i
Definição: O método definido por (5) tem ordem q se q é o maior inteiro para o qual se
tem:
(x,y,h) = y(x+h) – y(x) = h.RK(x,y,h) + o(hq) (7)
h h q 1 ( q 1)
T(x,y,h) = T = f ( x, y ) . f ' ( x, y ) ... .f ( x, y ) (9)
2 q!
_______________________________________________________________________________________________
Métodos Numéricos Computacionais – 2014
Profa. Adriana Cherri Profa. Andréa Vianna Prof. Antonio Balbo Profa Edméa Baptista
9
__________________________________________________________________________________________________________
Tem-se:
k1 f ( x, y )
k2 f ( x c2 .h, y h.a21.k1 )
Então
yn+1 = yn + h.(b1.k1+b2.k2) (11)
1 b1 b2 0 1 b1 b2 0
1 1
h.( b2 .c2 ) 0 b2 .c2 0
2 2
1 1
h.( 2 b2 .a21 ) 0 2 b2 .a21 0
_______________________________________________________________________________________________
Métodos Numéricos Computacionais – 2014
Profa. Adriana Cherri Profa. Andréa Vianna Prof. Antonio Balbo Profa Edméa Baptista
10
__________________________________________________________________________________________________________
b1 1 b2
1
c2 a21
2.b2
a) b2 = 1
b1 0
1
c2 a21
2
Exemplo:
y ' x2 y
Utilizando o método de Euler Melhorado, calcule o valor do P.V.I.
y (0) 1
usando h = 0,2 e x[0;0,6].
_______________________________________________________________________________________________
Métodos Numéricos Computacionais – 2014
Profa. Adriana Cherri Profa. Andréa Vianna Prof. Antonio Balbo Profa Edméa Baptista
11
__________________________________________________________________________________________________________
1
b) Quando consideramos: b2
2
1
b1
2
c2 a21 1
Tem-se que:
k1 f ( x, y)
k2 f ( x c2 .h, y h.a21.k1 )
k f ( x c .h, y h.(a .k a .k )
3 3 31 1 32 2
Então
yn+1 = yn + h.(b1.k1+b2.k2+b3.k3) (12)
Para obter-se os coeficientes, igualam-se as expressões de RK e T considerando-
se aproximação de ordem 3 nas expressões.
Comparando-se (7) com (8) e considerando que o(h3) tende a zero quando h tende a
zero, isto é, a nulidade das expressões que acompanham as potências de h até
ordem 3, obtemos as condições de ordem, dadas a seguir:
1
b1 b2 b3 1 a 2 b2 a 3 b3
2
(13)
1 1
a 2 b2 a 3 b3
2 2
b21b32 b3
3 6
_______________________________________________________________________________________________
Métodos Numéricos Computacionais – 2014
Profa. Adriana Cherri Profa. Andréa Vianna Prof. Antonio Balbo Profa Edméa Baptista
12
__________________________________________________________________________________________________________
Considerando em (13) a 2 e a 3 como parâmetros livres, determinamos de maneira
única os demais parâmetros, obtendo a família de métodos de Runge-Kutta de 3 estágios
com ordem 3.
Temos portanto 4 equações a 6 incógnitas; atribuindo valores a 2 variáveis
determinamos as outras 4. Novamente temos infinitos métodos de Runge-Kutta de 3
estágios de ordem 3.
Também nesse caso, não conseguimos um método de 3 estágios e de ordem 4 a
menos que se imponha condições sobre f(x,y).
1
Fazendo-se b1 ; b2 0
4
1 3 3 1 2
b3 1 ; a3 a3
4 4 4 2 3
1 2 3
a 22 .0 ( ) 2 . 0 ; a 2 satisfaz a igualdade.
3 3 4
1
Impondo que a 2 temos
3
1 1 2
b32 b32 .
4 6 3
Temos:
yn1 yn h ( xn , yn , h) h[b1k1 b2 k 2 b3 k3 ]
= h[b1 f ( x n , y n ) b3 f ( x n a 3 h, y n h[( a 3 b32 ) k1 b32 k 2 ])
0
h 2 2 h 1
y n1 y n [ f ( xn , y n ) 3 f ( xn h, y n f ( xn , y n f ( xn , y n )])
4 3 3 3 3
Outros métodos de RK de ordem 3 podem ser definidos a partir das equações (13),
como é o caso do Método Nyströn de ordem 3, desenvolvido quando consideram-se
b2 b3 e a2 a3 em (13):
1 3 2h 2h 3 2h 2h 2h 2h
yn 1 yn h[ f f ( xn , yn f ( xn , yn )) f ( xn , yn f ( xn , yn f ( xn , yn ))].
4 8 3 3 8 3 3 3 3
k1 f ( x, y )
k2 f ( x c2 .h, y h.a21.k1 )
k3 f ( x c3 .h, y h.(a31.k1 a32 .k2 )
k4 f ( x c4 .h, y h.(a41.k1 a42 .k2 a43 .k3 )
_______________________________________________________________________________________________
Métodos Numéricos Computacionais – 2014
Profa. Adriana Cherri Profa. Andréa Vianna Prof. Antonio Balbo Profa Edméa Baptista
13
__________________________________________________________________________________________________________
Então
yn+1 = yn + h.(b1.k1+b2.k2+b3.k3+b4.k4) (14)
b1 b2 b3 b4 1
c2 .b2 c3 .b3 c4 .b4 1
2
2 1
c2 .b2 c32 .b3 c42 .b4
3
3 1
c2 .b2 c3 .b3 c4 .b4
3 3
(15)
4
1
c2 .a32 .b3 c2 .a42 c3 .a43 6
c .c .a .b b .(c .a c .a ) 1
2 3 32 3 4 2 42 3 43 8
c 2 .a .b b .(c 2 .a c 2 .a ) 1
2 32 3 4 2 42 3 43 2
1
c2 .a42 .a43 .b4
24
h
yn1 yn . k1 2.k2 2.k3 k4 ;
6
_______________________________________________________________________________________________
Métodos Numéricos Computacionais – 2014
Profa. Adriana Cherri Profa. Andréa Vianna Prof. Antonio Balbo Profa Edméa Baptista
14
__________________________________________________________________________________________________________
k1 f ( xn , yn )
k2 f ( xn h , yn h k1 )
2 2
k3 f ( xn h , yn h k 2 )
2 2
k f ( x h, y hk )
4 n n 3
_______________________________________________________________________________________________
Métodos Numéricos Computacionais – 2014
Profa. Adriana Cherri Profa. Andréa Vianna Prof. Antonio Balbo Profa Edméa Baptista
15
__________________________________________________________________________________________________________
Exercícios
y' y
1 Calcule y(0. 4) usando o Método de Euler com h=0.01 para o PVI: .
y (0) 1
2 Calcule y(1) para y'=4x3; y(0)=0 aplicando o Método de Euler com h=0.2.
xy' x y
3 Seja o PVI: .
y ( 2) 2
Estime y(2.1) pelo Método de Euler com h=0.1, h=0.01 e h=0.025.
y ' 0.04 y
4 Dado o PVI: , estime o valor de y(1), com h=0.5, h=0.25 e h=0.1
y (0) 1000
usando
a) o Método de Euler.
b) o Método de Euler Melhorado (Runge-Kutta de 2a ordem).
c) o Método de Runge-Kutta de ordem 4.
2y
y' ( x 1) 3
5 Dado o PVI: x 1 , obtenha y(1) e y(2) aplicando o Método de Heun
y (0) 3
_______________________________________________________________________________________________
Métodos Numéricos Computacionais – 2014
Profa. Adriana Cherri Profa. Andréa Vianna Prof. Antonio Balbo Profa Edméa Baptista
16
__________________________________________________________________________________________________________
9 Dado o PVI abaixo, considere h=0.2 e 0.1.
1
y ' (2 y x 1)
x
y (1) 0.5
y ' yx 2 y
10 Considere o PVI:
y (0) 1
a) Encontre a solução aproximada usando o Método de Euler com h=0.5 e h=0.25,
considerando x [0,2].
b) Idem, usando Euler Melhorado.
x3
x
3
c) Sabendo que a solução analítica do problema é y(x)= e , coloque num mesmo
gráfico a solução analítica e as soluções numéricas encontradas nos itens
anteriores. Compare seus resultados.
y2 1
y' 2
11 Considere o PVI: x 1 .
y ( 0) 1
a) Calcule aproximações para y(1), usando o Método de Euler com h = 0.2 e
h=0.25.
b) Repita o item (a), usando agora o Método de Euler Modificado.
12 Calcule y(0.3) para y'=-y; y(0) = 1, aplicando o Método de Heun com h = 0.1
(Solução analítica: y(x)=e-x).
13 Calcule y(1) para y'=-y + x + 2; y(0) = 2, aplicando o Método de Runge-Kutta de 2a
ordem com h=0.1 (Solução analítica: y(x)=e-x + x + 1).
14 Calcule y(1) para y'=5x4; y(0)=0, aplicando o Método de Euler e Euler Melhorado
com h=0.1. Compare os resultados obtidos com a solução exata.
_______________________________________________________________________________________________
Métodos Numéricos Computacionais – 2014
Profa. Adriana Cherri Profa. Andréa Vianna Prof. Antonio Balbo Profa Edméa Baptista