Prévia do material em texto
Resolução Numérica de Equações Diferenciais Ordinárias Josuel Kruppa Rogenski jkrogenski@ufu.br Faculdade de Matemática Universidade Federal de Uberlândia Material de apoio baseado nas notas de aula dos Professores Alessandro Alves Santana e Rafael Alves Figueiredo Métodos de Runge-Kutta (MRK) Métodos de Runge-Kutta de 2 Estágios Considere uma aproximação para a solução da equação diferencial como yn+1 = yn + hc1f (tn, yn) + hc2f (tn + a2h, yn + h a2κ1) (1) A expansão em Série de Taylor de uma função f (t, y) de duas variáveis em torno de (tn, yn) é dada por f (t, y) = f (tn, yn) + ft(tn, yn)(t − tn) + fy (tn, yn)(y − yn) + . . . Se substituirmos t = tn + α e y = yn + β nessa última equação, teremos que f (tn + α, yn + β) = f (tn, yn) + α ft(tn, yn) + β fy (tn, yn) + . . . Métodos de Runge-Kutta (MRK) Métodos de Runge-Kutta de 2 Estágios Se fizermos α = a2h e β = ha2κ1, a série de Taylor passa a ter a apre- sentação a seguir. f (tn + a2h, yn + ha2κ1) = f (tn, yn) + a2h ft(tn, yn) + ha2κ1 fy (tn, yn) + . . . (2) Substituindo (2) em (1), surge a expressão matemática a seguir: yn+1 = yn+hc1f (tn, yn)+hc2 [f (tn, yn) + a2h ft(tn, yn) + ha2κ1 fy (tn, yn) + . . . ] Após algumas manipulações segue que . yn+1 = yn + (c1 + c2)hf (tn, yn) + h2a2c2 [ft(tn, yn) + κ1fy (tn, yn)] + . . . Desconsiderando o que vem após o termo que envolve h2 temos a seguinte expressão yn+1 = yn + (c1 + c2)hf (tn, yn) + h2a2c2 [ft(tn, yn) + κ1fy (tn, yn)] Métodos de Runge-Kutta (MRK) Métodos de Runge-Kutta de 2 Estágios Agora vem a parte que permite definir os parâmetros. Isso é feito com- parando a equação yn+1 = yn + (c1 + c2)hf (tn, yn) + h2a2c2 [ft(tn, yn) + κ1fy (tn, yn)] com o MST de segunda ordem yn+1 = yn + hf (tn, yn) + h2 2 [ft(tn, yn) + fy (tn, yn)f (tn, yn)] . Para que haja equivalência entre os termos das duas expressões, devemos impor c1 + c2 = 1, a2c2 = 1 2 , e κ1 = f (xn, yn) Métodos de Runge-Kutta (MRK) Métodos de Runge-Kutta de 2 Estágios Disso, resulta que existem infinitos MRK de segunda ordem. Os mais conhecidos são: Método de Euler Modificado (c1 = 0) Para c1 = 0, temos c2 = 1 e a2 = 1 2 . Logo, yn+1 = yn + hf (tn + h 2 , yn + h 2 f (tn, yn)) Método de Euler Melhorado (c1 = 1/2) Para c1 = 1/2, c2 = 1/2 e a2 = 1. Logo, yn+1 = yn + h 2 f (tn, yn) + h 2 f (tn + h, yn + hf (xn, yn)) Métodos de Runge-Kutta (MRK) Definição da Forma Geral dos Métodos de Runge-Kutta O método geral de Runge-Kutta de R estágios é definido por yn+1 = yn + h R∑ r=1 crκr κ1 = f (tn, yn) κr = f ( tn + arh, yn + h r−1∑ s=1 brsκs ) r = 2, 3, 4, . . . ,R ar = r−1∑ s=1 brs r = 2, 3, 4, . . . ,R (3) O que define um Método de Runge-Kutta são os parâmetros ar , brs e cr . Tais parâmetros são obtidos por comparação com os Métodos da Série de Taylor (MST). Métodos de Runge-Kutta (MRK) Métodos de Runge-Kutta de 2 Estágios O MRK de 2 estágios (R=2) é definido como yn+1 = yn + hc1κ1 + hc2κ2 κ1 = f (tn, yn) κ2 = f (tn + a2h, yn + h b21κ1) a2 = b21 (4) Métodos de Runge-Kutta (MRK) Métodos de Runge-Kutta de 2 Estágios Disso, resulta que existem infinitos MRK de segunda ordem. Os mais conhecidos são: Método de Euler Modificado (c1 = 0) yn+1 = yn + hκ2 κ1 = f (tn, yn) κ2 = f (tn + h 2 , yn + h 2κ1) Método de Euler Melhorado (c1 = 1/2) yn+1 = yn + h 2 (κ1 + κ2) κ1 = f (tn, yn) κ2 = f (tn + h, yn + hκ1) Métodos de Runge-Kutta (MRK) Métodos de Runge-Kutta de 3 Estágios Os dois MRK abaixo são métodos de 3 estágios e de terceira ordem. Método de Heun yn+1 = yn + h 4 [κ1 + 3κ3] κ1 = f (tn, yn) κ2 = f (tn + 1 3h, yn + 1 3hκ1) κ3 = f (tn + 2 3h, yn + 2 3hκ2) Método de Nystrom yn+1 = yn + h 4 [ κ1 + 3 2κ2 + 3 2κ3 ] κ1 = f (tn, yn) κ2 = f (tn + 2 3h, yn + 2 3hκ1) κ3 = f (tn + 2 3h, yn + 2 3hκ2) Métodos de Runge-Kutta (MRK) Métodos de Runge-Kutta de 4 Estágios O MRK abaixo é o chamado Método de Runge-Kutta de Quarta Ordem Clássico. yn+1 = yn + h 6 [κ1 + 2κ2 + 2κ3 + κ4] κ1 = f (tn, yn) κ2 = f (tn + h 2 , yn + h 2κ1) κ3 = f (tn + h 2 , yn + h 2κ2) κ4 = f (tn + h, yn + hκ3) (5) Resolução Numérica de Equações Diferenciais Ordinárias Métodos de Runge-Kutta - Exerćıcio Obtenha uma aproximação para a solução do PVI y ′ = e−t cos(y2) y(1) = 1 em t = 1.3 utilizando o MRK de Euler Modificado, considerando 3 passos. Trabalhe com 4 casas decimais. Resolução Dos dados do problema, temos que Intervalo: [tinicial, tfinal] = [1, 1.3] Função f (t, y) = e−t cos(y2) Método: Euler Modificado Número de passos: 3 Condição inicial: y(1)=1 Instante final: tfinal = 1.3 Resolução Numérica de Equações Diferenciais Ordinárias Métodos de Runge-Kutta - Exerćıcio Obtenha uma aproximação para a solução do PVI y ′ = e−t cos(y2) y(1) = 1 em t = 1.3 utilizando o MRK de 4ª Ordem Clássico considerando 3 passos. Trabalhe com 4 casas decimais. Resolução Dos dados do problema, temos que Intervalo: [tinicial, tfinal] = [1, 1.3] Função f (t, y) = e−t cos(y2) Método: MRK de 4ªOrdem Número de passos: 3 Condição inicial: y(1)=1 Instante final: tfinal = 1.3 Resolução Numérica de Equações Diferenciais Ordinárias Métodos de Runge-Kutta - Exerćıcio 1Passo : (t0, y0) = (1.0000, 1.0000) κ1 = f (1.0000, 1.0000) = 0.1988 κ2 = f (1.0500, 1.0099) = 0.1832 κ3 = f (1.0500, 1.0092) = 0.1836 κ4 = f (1.1000, 1.0184) = 0.1693 y1 = 1.0000 + 0.1 6 [(0.1988) + 2(0.1832) + 2(0.1836) + (0.1693)] = 1.0184 2Passo : (t1, y1) = (1.1000, 1.0184) κ1 = f (1.1000, 1.0184) = 0.1693 κ2 = f (1.1500, 1.0268) = 0.1563 κ3 = f (1.1500, 1.0262) = 0.1567 κ4 = f (1.2000, 1.0340) = 0.1448 y2 = 1.0184 + 0.1 6 [(0.1693) + 2(0.1563) + 2(0.1567) + (0.1448)] = 1.0340 Resolução Numérica de Equações Diferenciais Ordinárias Métodos de Runge-Kutta - Exerćıcio 3Passo : (t2, y2) = (1.2000, 1.0340) κ1 = f (1.2000, 1.0340) = 0.1448 κ2 = f (1.2500, 1.0413) = 0.1340 κ3 = f (1.2500, 1.0407) = 0.1342 κ4 = f (1.3000, 1.0475) = 0.1243 y3 = 1.0340 + 0.1 6 [(0.1448) + 2(0.1340) + 2(0.1342) + (0.1243)] = 1.0475 Portanto, a aproximação para a EDO em questão via Método de Runge- Kutta de Quarta Ordem Clássico em t = 1.3 é aproximadamente 1.0475. Resolução Numérica de Equações Diferenciais Ordinárias Métodos de Runge-Kutta - Exerćıcio Obtenha uma aproximação para a solução do PVI y ′ = −y + x + 2 y(0) = 2 em x = 0.3 utilizando o método de Euler modificado e considerando 3 passos. Trabalhe com 4 casas decimais. Aplique o método de RK4 de quarta ordem para resolver também o PVI.