Métodos numéricos para resolver uma EDO
-
Upload
phillip-todd -
Category
Documents
-
view
72 -
download
5
description
Transcript of Métodos numéricos para resolver uma EDO
Métodos numéricos para resolver uma EDO Neste texto serão estudados métodos de passos simples e passos múltiplos para resolver equação de primeira ordem. Nos de passos simples necessitamos apenas dos resultados de yk , do passo anterior, para determinarmos a aproximação de yk+1. Enquanto que nos de passos múltiplos para determinarmos a aproximação y k+1 dependemos dos valores de y k, y k - 1 . . . .
Método de Euler
O método de Euler para resolver EDO com condições iniciais é o método numérico mais simples. Ele consiste em aproximar a solução y ( x ), no sentido de uma linearização, por meio de suas tangentes, Figura 1.
Considere o problema
ou seja, são dados um ponto de partida, (x 0 , y 0), e uma direção a ser tomada, f ( x, y ) . Desejamos determinar y ( z ).
00 )(
),(
yxy
yxfdxdy
Interpretação geométrica do Método de Euler
Figura 1
x
y
y0
x0 z = x1
y1
y ( x )
h
A interpretação geométrica da Figura 1 nos permite escrever a equação:
F ’(x 0 ) = y’ (x 0) = f (x 0 , y 0) Fazendo x1 – x0 = h, vamos ter y1 = y0 + h f (x 0 , y 0) ou F(x 1) F(x 0) + F ’(x 0) (x1 – x0 ) (Taylor).Diremos, portanto, que y1 F(x 1) = F( z )Em verdade, estamos substituindo a função desconhecida y ( x ) por, simplesmente uma reta em todo intervalo [x 0 ; z ] e calculando a imagem de z sobre ela o que pode ser uma aproximação ruim para y ( z ).
Método de Euler considerando dois subintervalos
Figura 2
x
y
y0
x0 z = x2
y ( x )
y1
y2
x1
h h
Podemos, porém, melhorar esta aproximação se subdividirmos o intervalo [x 0 ; z ] em subintervalos de amplitude constante, genericamente chamada h, e como sabemos calcular a direção da função incógnita y ( x ) em cada ponto, substituiremos tal
função por um segmento de reta, em cada um destes subintervalos. Estes segmentos terão a direção que ela (função) tem no início de cada dos subintervalos, Figura 2. Obtemos então: y i + 1 = yi + h f (x i , y i ), i = 0, 1, ...
que vem a ser o método de Euler.
Exemplo : Considere o problema de valor inicial y ( 1 ) = 1 da equaçãodiferencial y’ = f ( x, y ) = 2x + 3. Dividindo o intervalo [ 1; 2 ] em 1, 2 e 4 partes sucessivamentee aplicando o método de Euler, determine o valor aproximado de y ( 2 ) para a equaçãodada.
Solução:Temos y’ = f ( x, y ) = 2x + 3, com y (1) = 1 ou seja, x 0 = 1 e y 0 = 1.Com uma divisão do intervalo, isto é, h = 1, obtemos: y1 = y0 + h f (x 0 , y 0 ) = 1 + 1 [ 2 x 1 + 3 ] = 1 + 5 = 6.Com duas divisões do intervalo, isto é, h = 0,5 , temosy1 = y0 + h f (x 0 , y 0 ) = 1 + 0,5 [ 2 x 1 + 3 ] = 1 + 2,5 = 3,5y2 = y1 + h f (x 1 , y 1) = 3,5 + 0,5 [ 2 x 1,5 + 3 ] = 3,5 + 3,0 = 6,5Finalmente, considerando quatro divisões, isto é, h = 0,25, temos y1 = y0 + h f (x 0 , y 0 ) = 1 + 0,25 [ 2 x 1 + 3 ] = 1 + 1,25 = 2,25 y2 = y1 + h f (x 1 , y 1 ) = 2,25 + 0,25 [ 2 x 1,25 + 3 ] = 2,25 + 1,375 = 3,625 y3 = y2 + h f (x 2 , y 2 ) = 3,625 + 0,25 [ 2 x 1,5 + 3 ] = 3,625+ 1,5 = 5,125 y4 = y3 + h f (x 3 , y 3 ) = 5,125 + 0,25 [ 2 x 1,75 + 3 ] = 5,125 + 1,625 = 6,75
Método Modificado de Euler Um problema que ocorre no método “simples” de
Euler é que ele pressupõe que a função que está sendoaproximada mantém, em todo intervalo, a direção queela tem no extremo “de partida” dele. O métodomodificado de Euler irá considerar também uma únicadireção para a função y ( x ), só que uma direção médiaentre aquela do “início” do intervalo e uma estimativada direção no “final” dele.Para tanto, em primeiro lugar, usando o método“simples” de Euler, fazemos uma previsão de y i + 1,chamada y i + 1 .
Logo,Previsão : = yi + h f (x i , y i ).
A partir desta previsão, podemos obter o valoraproximado da direção da curva y ( x ) no ponto
( x i + 1 , y i + 1 ) através de f ( x i + 1 , ) .Determinamos então a chamada correção,Correção :
y i + 1 = yi + h/2 [ f (x i , y i ) + f ( x i + 1 , y i + 1 )] .
Esta expressão éconhecida como o métodomodificado de Euler. Umainterpretação geométricadeste método pode ser vistana Figura 3.
y i + 1
Interpretação geométrica doMétodo modificado de Euler
Figura 3
x
y
x0 x1
y ( x )
h
( x1 ; y1 )
( x1 ; y1 )
Direção média
y i + 1
__
Exemplo - Encontrar a solução daequação diferencial ordinária y’ = f ( x, y ) =2x + 3 com a condição de valor inicial y ( 1)= 1. Dividindo o intervalo [ 1; 2 ] emapenas uma parte, ou seja, fazendo h =1 e,aplicando o método de modificado de Euler,determine o valor aproximado de y ( 2 )para a equação dada.
Solução:Sabendo que a cada aproximação é necessário fazer
um processo de previsão – correção e, considerando h=1, temosPrevisão = yi + h f (x i , y i ) , no caso
= y0 + h f (x 0 , y 0 )
= 1 + 1 f (1 ,1 ) = 1 + 1 ( 2 x 1 + 3 ) = 6
Correção :y i + 1 = yi + h/2 [ f (x i , y i ) + f ( x i + 1 , ) ] .
y1 = 1 + 1/2 [ f (1 , 1 ) + f ( 2 , 6 ) ] = 1 + 1/2 [ 5 + 2 x 2+3 ] = 1 + 6 = 7.
y i + 1
y i + 1
y 1
y 1
Métodos de Runge-Kutta
Os métodos de Runge-Kutta são uma família demétodos numéricos para solucionar equaçõesdiferenciais ordinárias. São métodos que podem serobtidos pela série de Taylor sem a necessidade decalcular qualquer derivada. Devido sua largautilização, será considerado neste texto apenas oclássico método de Runge-Kutta de 4a ordem. Por sersua dedução bastante trabalhosa, limitamo-nos aenunciar apenas sua expressão. Detalhes e provasdeste método podem ser vistas em Schwarz[25].
A expressão do método de Runge-Kutta de 4a
ordem é dada por:
y i + 1 = yi + 1/6 ( k 1 + 2 k 2 + 2 k 3 + k 4 ),
ondek 1 = h f ( x i , y i )
k 2 = h f ( xi + h/2 , y i + k 1 /2 )
k 3 = h f ( xi + h/2 , y i + k
2 /2 )
k 4 = h f ( xi+ 1 , y i + k 3 )
Exemplo - Dada a EDO a seguir,determine o valor aproximado de y ( 1 ),usando o método de Runge-Kutta de 4a
ordem, considerando h=1.
= f (x , y ) = y ; y ( 0 ) = 1
Solução:Usando o método de Runge-Kutta de 4a ordem, temos
y1 = y0 + 1/6 ( k 1 + 2 k 2 + 2 k 3 + k 4 ) ,
d yd x
Logo, k 1 = 1 f ( 0 , 1 ) = 1
k 2 = 1 f ( 0 + 1/2 , 1 + 1/2 ) = 1 x 1,5 = 1,5
k 3 = 1 f ( 0 + 1/2 , 1 + 1,5 /2 ) = 1 x 1,75 = 1,75
k 4 = 1 f ( 1 , 1 + 1,75) = 1 x 2,75 = 2,75
y1 = 1 + 1/6 ( 1 + 2 x 1,5 + 2 x 1,75 + 2,75 ) = 1 + 1/6 ( 10,25 ) = 2,708333.
(Solução exata e = 2,7182818 )
Estendendo este problema para valores diferentes de h eaplicando os métodos de Euler, Modificado de Euler e Runge–Kuttade 4a ordem, obtemos os resultado apresentados na tabela a seguir.
No divisões Euler Modificado de Euler Runge-Kutta1 2, 2,5 2,7083332 2,25 2,640625 2,7173464 2,441406 2,694856 2,7182098 2,565784 2,711840 2,71827616 2,637927 2,716590 2,718277--- ( 2048 div.) 2,717119 ( 128 div.) 2,718225 ---
Métodos de passos MúltiplosUm método de passos simples determina a aproximação yk+1 em xk+1 = xk + h usando apenas o ponto de aproximação
(xk , yk). Diferentemente deste, um método de passo múltiplo usa as informações de valores anteriores xk-1, xk-2, . . . , xk-m que são assumidos ser equidistantes para computar yk+1.
O Método de Adams-Bashforth / Adams-Moulton é um método preditor - corretor como a fórmula modificada de Euler.
A fórmula de Adams-Bashforth é dada por
yn+1 = yn + h / 24 (55yn’ - 59yn -1’ + 37yn -2’ - 9yn -3’),
onde yn’ = f(xn , yn) Note que para calcular y4
yn -1’ = f(xn -1 , yn -1) precisamos conhecer y0 , y1,
yn -2’ = f(xn -2 , yn -2) y2 e y3 . O valor de y0 é a
yn-3’ = f(xn -3 , yn -3) condição inicial e os valores
y1, y2 e y3 são calculados
por um método como a
fórmula de Runge-Kutta.
Para n 3, como preditor, podemos levar o valor de yn+1
no corretor de Adams - Moulton e assim, obtermos
yn+1 = yn + h / 24 (9yn +1’ + 19yn ’ - 5yn -1’ + yn -2’),
com yn+1’ = f (xn+1, yn+1*)
Exemplo: Aplique o método de Adams-Bashforth / Adams-Moulton com h = 0,2 para obter uma aproximação
de y(0,8) para a solução de y’ = x + y -1, y(0) = 1.
Solução:
Com um passo h = 0,2, y(0,8) será aproximado por y4.
Inicialmente, aplicando o método de Runge-Kutta com
x0 = 0, . y0 = 1 e h = 0,2 para obtermos:
y1 = 1,0214; y2 = 1,0918 e y3 = 1,2221.
Como f (x,y) = x + y -1, temos
y0’ = f (x0, y0) = f (0, 1) = ) + 1 - 1 = 0
y1’ = f (x1, y1) = 0,2 + 1,0214 - 1 = 0,2214
y2’ = f (x2, y2) = 0,4 + 1,0918 - 1 = 0,4918
y3’ = f (x3, y3) = 0,6 + 1,2221 - 1 = 0,8221
E assim, aplicando a fórmula de Adams-Bashforth, obtemos:
y4 = y3 + 0,2 / 24 (55y3’ - 59y2 ’ + 37y1’ - 9y0’) = 1,4254.
E para y4’ = f (x4, y4*) = 0,8 + 1,4254 -1 = 1,2254
Finalmente, y4 = y3 + 0,2 / 24 (9y4’ +19y3 ’ - 5y2’ + y1’)
= 1,4255. (Valor exato é 1,4255)