Você está na página 1de 33

Métodos Numéricos

Prof. Pedro Américo Júnior

Aula 07
Resolução Numérica de Equações
Diferenciais Ordinárias
• Simplificando:
• Equações diferenciais são equações que contém
derivadas.
• As equações diferenciais ordinárias são aquelas
em que a derivada é função de uma só variável.
• As equações diferenciais aparecem para
descrever muitos fenômenos na natureza.
• Ordem de uma equação diferencial é a ordem da
maior derivada da equação.
Resolução Numérica de Equações
Diferenciais Ordinárias
• O problema mais comum é o Problema de
Valor Inicial (P.V.I.).
• Pode ser escrito como:
 y´= f ( x, y )

 y( x0 ) = y 0
• Que é de primeira ordem, pois só tem uma
derivada primeira.
Problema de Valor Inicial (P.V.I)
• Exemplo: (Em Biologia) Seja y o número de bactérias
em uma colônia. Mantida a temperatura e a
alimentação e sem a presença de predadores naturais
tem-se que a taxa de crescimento é proporcional ao
número de bactérias. (Assim uma bactéria gera duas,
duas geram quatro, quatro geram oito e assim por
diante.)
• E suponha que para o exemplo a taxa de crescimento
seja igual ao número de bactérias. E no instante t=0
tenha-se uma única bactéria.
• Em termos de equações diferenciais temos:
 dy  y´= y
 =y
 dt  
 =  y (0) = 1
 y ( 0) 1
Problema de Valor Inicial (P.V.I)
• Solução:
Solução Exata ou Analítica
dy
y = e pois y´=
t
= et = y
dt
e para t = 0 tem − se y (0) = e 0 = 1
Problema de Valor Inicial (P.V.I)
• Solução Numérica ou Aproximada:
10
9
8
7 Solução
6 Aproximada
ou
5
Numérica
4
3
Solução Exata
2 ou
1 Analítica
0
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 1,1 1,2 1,3 1,4 1,5 1,6 1,7 1,8 1,9 2 2,1 2,2 2,3 2,4

t ou x x0 x1 x2 x3 x4 x5 ... xn
y y0 y1 y2 y3 y4 y5 .... yn
Solução Numérica ou Aproximada
• A solução numérica de um P.V.I. é um
conjunto de imagens da função, obtidas a
partir da condição inicial (x0 , y0 ) , com h ou
x dado.
• Portanto, a solução é uma tabela com as
novas imagens calculadas. (Que aproximam da
solução exata ou analítica.)
Método de Euler
• Seja: dy
y´= f ( x, y ) = = f ( x, y ) = dy = f ( x, y )dx =
dx
x1 x1

 dy =  f ( x, y)dx
x0 x0

• Com x[x0,x1] seja um intervalo pequeno, de


modo que f(x,y) seja constante neste intervalo
e igual a f(xx0,y0). Assim:
x1 1
x1
y = f ( x 0 , y 0 )  dx  y ( x1 ) − y ( x 0 ) = f ( x 0 , y 0 ).x 
x0 x0
x0
y1 − y 0 = f ( x 0 , y 0 ).( x1 − x 0 ) como x = h = x1 − x 0
y1 = y 0 + h. f ( x 0 , y 0 ) fazendo i = 0 e i + 1 = 1
y i +1 = y i + h. f ( xi , y i )
Método de Euler
• Exemplo: Resolva o P.V.I.
 y´= x − y + 2
 com h = x = 0,1 e malha x  [0,0; 1,0]
 y (0) = 2
Solução : yi +1 = yi + h. f ( xi , yi )
yi +1 = yi + 0,1.( xi − yi + 2)
i 0 1 2 3 4 5 6 7 8 9 10
Xi 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
Yi 2 2 2,01 2,029 2,0561 2,09049 2,131441 2,178297 2,230467 2,28742 2,348678
Y8=2,17829 Y9=2,23046 Y10=2,2874
Y4=2,029+0, Y5=2,0561+ Y6=2,09049 Y7=2,13144
Y1=2+0,1.(2- Y2=2+0,1.(2- Y3=2,01+0,1 69+0,1.(2,17 721+0,1.(2,2 20489+0,1.(
1.(2,029- 0,1.(2,0561- +0,1.(2,0904 1+0,1.(2,131
0+2) 0,1+2) .(2,01-0,2+2) 82969- 3046721- 2,28742048
0,3+2) 0,4+2) 9-0,5+2) 441-0,6+2)
0,7+2) 0,8+2) 9-0,9+2)
Método da Fórmula de Taylor
• Sendo fácil o cálculo das derivadas sucessivas,
até 5a ordem na condição inicial (x0,y0)
• 1o) Calculam-se as derivadas
• 2o) Substituem-se nas derivadas os valores da
condição inicial
• 3o) Representa-se a função pelo polinômio de
Taylor:
( x − x0 ) ( x − x0 ) 2
y ( x) = y 0 + f ( x0 , y 0 ) + f ´( x0 , y 0 ) +
1! 2!
( x − x0 ) 3 ( x − x0 ) 4 (x - x 0 ) 5 ( 4)
f ´´( x0 , y 0 ) + f ´´´( x0 , y 0 ) + f ( x0 , y 0 ) + ...
3! 4! 5!
Método da Fórmula de Taylor
• 4o) Usando o h dado e o polinômio obtido,
completa-se a tabela. O erro de
arredondamento deve ser da mesma ordem
do dado inicial, a imagem y0 .
x x0 x1 x2 x3 . . .

y y0 y(x1) y(x2) y(x3) . . .


Método da Fórmula de Taylor
• Exemplo :
• Resolva a equação diferencial y, = x2 + y com y(1) = 2,000
e h = 0,1 ; 0,8  x  1,3
• Solução:
• a)as derivadas são fáceis de serem obtidas – A condição
inicial é
• (x0,y0)=(1; 2,000)
• y´= x2 + y →f (x0,y0) = 3,000
• y´´= 2x +y´ → f´(x0,y0) = 5,000
• y´´´= 2 +y´´ → f´´(x0,y0) = 7,000
• y(4) =y´´´ → f´´´(x0,y0) = 7,000
• y(5) = y(4) → f(4)(x0,y0) = 7,000
Método da Fórmula de Taylor
( x − x0 ) ( x − x0 ) 2
• b) y ( x) = y 0 +
1!
f ( x0 , y 0 ) +
2!
f ´( x0 , y 0 ) +

( x − x0 ) 3 ( x − x0 ) 4 (x - x 0 ) 5 ( 4)
f ´´( x0 , y 0 ) + f ´´´( x0 , y 0 ) + f ( x0 , y 0 ) + ...
3! 4! 5!

( x − 1) ( x − 1) 2 ( x − 1)3 ( x − 1) 4 ( x − 1)5
y ( x) = 2 + .3 + .5 + .7 + .7 + .7
1! 2! 3! 4! 5!

5 7 7 7
y ( x) = −1 + 3x + ( x − 1) + ( x − 1) +
2 3
( x − 1) +
4
( x − 1) 5
2 6 24 120
• c) Resposta:
x 0,8 0,9 1,0 1,1 1,2 1,3
y 1,491 1,727 2,000 2,326 2,710 3,159
Método de Runge-Kutta
• Sendo trabalhosa a obtenção das derivadas, usa-se o método
de Runge- Kutta de 4a ordem, que consiste em :
• 1o)Calcular os valores de k1 , k2 , k3 e k4 pela fórmulas:
k 1 = f ( xi , y i ) h h
k 2 = f ( xi + , y i + k1 )
2 2
h h
k3 = f ( xi + , yi + k2 ) k4 = f ( xi + h , yi + hk3 )
2 2
• 2o)Substituir os valores obtidos na fórmula abaixo para
calcular a nova imagem:
h
yi +1 = yi + (k1 + 2k2 + 2k3 + k4 )
• 6
• Nota: para calcular imagens anteriores à condição inicial,
basta substituir h, por –h.
Método de Runge-Kutta
• Exemplo : Resolver a equação diferencial
1
y ' = sen 2 x − y cos x ; y(1,2) = 1,354 ; h = 0,1 ; 1,1  x  1,4
2
• NOTA: Neste caso as derivadas sucessivas são trabalhosas,
portanto, é recomendável o uso do método de Runge-kutta
de 4a ordem.
• Nota: Nos métodos iterativos os erros de arredondamento
são processados junto com os números por várias vezes e é
comum propagarem a ponto de danificarem completamente
os resultados.
• Se possível, os valores obtidos para y , k1 , k2 , k3 e k4 devem
ser mantidos na memória da máquina; caso contrário deve-se
trabalhar com um número maior de decimais e só ajustar os
resultados após obtida a tabela final.
Método de Runge-Kutta
• Exemplo: Solução:
• a) cálculo de y(1,3) - A condição inicial é (1,2 ; 1,354) com
• h = 0,1 ;
k1 = f(1,2 ; 1,354) = -0,15290
 0,1 0,1 
k 2 = f 1,2 + ; 1,354 + k 1 .  = −0,1253 0
 2 2 

 0,1 0,1 
k 3 = f 1,2 + ; 1,354 + k 2 .  = −0,1257 3
 2 2 
k4 = f (1,2 + 0,1 ; 1,354 + k 3 .0,1) = −0,10108
Substituindo na fórmula:
0,1
y (1,3) = y (1,2) + .(k1 + 2k 2 + 2k 3 + k 4 )
6
0,1
y(1,3) = 1,354 + ( −0,1529 + 2( −0,1253) + 2( −0,1257) − 0,1011) = 1,34140
6
Método de Runge-Kutta
b) Cálculo de y(1,4)
Nota: A condição inicial passa a ser o ponto recentemente calculado,
isto é, (1,3 ; 1,34140)
k1 = f(1,3 ; 1,34140) = -0,10107
 0,1 0,1 
k 2 = f 1,3 + ; 1,34140 + k 1 .  = −0,07898
 2 2 

 0,1 0,1 
k 3 = f 1,3 + ; 1,34140k 2 .  = −0,07922
 2 2 

k4 = f (1,3 + 0,1 ; 1,34140+ k 3.0,1) = −0,05915

0,1
E substituindo na fórmula y (1,4) = y (1,3) + .(k1 + 2k2 + 2k3 + k4 ) ,
6
obtém-se:
y(1,4) = 1,34140 + (-0,10107 – 2x0,07898 – 2x0,07922 -
0,05915)x0,1/6 = 1,33346
Método de Runge-Kutta
c) Cálculo de y(1,1):
Nota: Para calcular valores anteriores à condição inicial, troca-se h
por -h, e parte-se da condição inicial (1,2 ; 1,354). Logo, h = -0,1 e
k1 = f(1,2 ; 1,354) = -0,1529
 0,1 0,1 
k 2 = f 1,2 − ; 1,354 - k 1 .  = −0,18336
 2 2 
 0,1 0,1 
k 3 = f 1,2 − ; 1,354 - k 2 .  = −0,18398
 2 2 
k 4 = f (1,2 − 0,1 ; 1,354 - k 3 .0,1) = −0,21827

Substituindo na fórmula
0,1
y (1,1) = y (1,2) − (k1 + 2k 2 + 2k 3 + k 4 ) , obtém-se:
6
y(1,1)=1,354–(-0,15290–2x0,18336–2x0,18398–0,21827)=1,37243
Método de Runge-Kutta
• d)Resposta: Forma-se a tabela com os valores
obtidos, ajustando-os para 3 casas decimais

x 1,1 1,2 1,3 1,4


y 1,372 1,354 1,341 1,333
Método de Runge-Kutta
• Em análise numérica, os métodos de Runge–Kutta
formam uma família importante de métodos
iterativos implícitos e explícitos para a resolução
numérica (aproximação) de soluções de equações
diferenciais ordinárias. Estas técnicas foram
desenvolvidas por volta de 1900 pelos matemáticos
C. Runge e M.W. Kutta.
• O método RK4 é um método de quarta ordem,
significando que o erro por passo é da ordem de h5,
enquanto o erro total acumulado tem ordem h4.
Método de Runge-Kutta
• Dedução de segunda ordem:

• Expande y(x) pela série de Taylor:


Método de Runge-Kutta
• Expande K2 por Taylor:
Método de Runge-Kutta
• Comparando uma com a outra:

• Euler Melhorado ou Heun:

• Euler Modificado ou Ponto Médio:


Método de Runge-Kutta
• Comparando uma com a outra:

• Ralston:
Método de Runge-Kutta
• De terceira ordem:
Método de Runge-Kutta
• De quinta ordem:
Redução de Ordem
• Basta fazer uma troca de variáveis:
• y´=z => y´´=z´
• Exemplo: Resolver o P.V.I.:
 y´´= x − y + 2 y´

 y (1) = 2 com h = x = 0,1 e malha x  [1; 1,5]
 y´(1) = 3
 i Xi Yi Zi
0 1 2 3
Solução : y´= z = y´´= z´ 1 1,1 2,3 3,5
 z´= x − y + 2 z  y´= z 2 1,2 2,65 4,08
  3 1,3 3,058 4,751
 z (1) = 3  y (1) = 2 4 1,4 3,5331 5,5254
Aplicando Euler temos : 5 1,5 4,08564 6,41717

z i +1 = z i + h.( x i − y i + 2zi ) y i +1 = y i + h.z i


Redução de Ordem
• Resolver o P.V.I.:
 y´´= x − y + 2 y´

 y (1) = 2 com h = x = 0,1 e malha x  [1; 1,5]
 y´(1) = 3

Solução : y´= z = y´´= z´
 z´= x − y + 2 z = g ( x, y, z )  y´= z = f ( x, y, z )
 
 z (1) = 3  y (1) = 2
Aplicando Runge − Kutta temos :
h h
z i +1 = z i + ( L1 + 2 L2 + 2 L3 + L4 ) y i +1 = y i + ( K 1 + 2 K 2 + 2 K 3 + K 4 )
6 6
 L1 = g ( x i , y i , z i )  K 1 = f ( xi , y i , z i )
  h hK 1 hL1    h hK 1 hL 
 L2 = g  x i + , y i + , zi +   K 2 = f  xi + , y i + , zi + 1 
  2 2 2    2 2 2 
 
 h
 L3 = g  x i + , y i + hK hL   K 3 = f  x i + h , y i + hK 2 , z i + hL 2 
2
, zi + 2

  2 2 2    2 2 2 
 L = g (x + h, y + hK , z + hL )  K = f ( x + h, y + hK , z + hL )
 4 i i 3 i 3  4 i i 3 i 3
Redução de Ordem

i Xi Yi Zi K1 L1 K2 L2 K3 L3 K4 L4
0 1 2 3 3 5 3,25 5,4 3,27 5,4275 3,54275 5,8585
1 1,1 2,326379 3,541892 3,541892 5,857404 3,834762 6,31605 3,857694 6,347271 4,176619 6,841089
2 1,2 2,711436 4,175644 4,175644 6,839852 4,517637 7,365055 4,543897 7,400475 4,915691 7,965557
3 1,3 3,16501 4,914585 4,914585 7,964161 5,312793 8,564847 5,342827 8,605006 5,775086 9,250879
4 1,4 3,698358 5,773831 5,773831 9,249304 6,236296 9,935542 6,270608 9,981043 6,771935 10,71845
5 1,5 4,324351 6,770513
Exemplos
Exemplos
Exemplos
Exemplos

Você também pode gostar