Métodos numéricos para resolver uma EDO

18
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 y k , do passo anterior, para determinarmos a aproximação de y k+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 . . . .

description

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. - PowerPoint PPT Presentation

Transcript of Métodos numéricos para resolver uma EDO

Page 1: 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 . . . .

Page 2: Métodos numéricos para  resolver uma  EDO

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

Page 3: Métodos numéricos para  resolver uma  EDO

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 ).

Page 4: Métodos numéricos para  resolver uma  EDO

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.

Page 5: Métodos numéricos para  resolver uma  EDO

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

Page 6: Métodos numéricos para  resolver uma  EDO

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 .

Page 7: Métodos numéricos para  resolver uma  EDO

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

__

Page 8: Métodos numéricos para  resolver uma  EDO

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.

Page 9: Métodos numéricos para  resolver uma  EDO

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

Page 10: Métodos numéricos para  resolver uma  EDO

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].

Page 11: Métodos numéricos para  resolver uma  EDO

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 )

Page 12: Métodos numéricos para  resolver uma  EDO

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

Page 13: Métodos numéricos para  resolver uma  EDO

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 )

Page 14: Métodos numéricos para  resolver uma  EDO

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 ---

Page 15: Métodos numéricos para  resolver uma  EDO

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

Page 16: Métodos numéricos para  resolver uma  EDO

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

Page 17: Métodos numéricos para  resolver uma  EDO

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.

Page 18: Métodos numéricos para  resolver uma  EDO

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)