8.EQUAÇÕES DIFERENCIAIS ORDINÁRIAS Parte 3 8.1 – INTRODUÇÃO – PVI’s 8.2 – MÉTODOS DE PASSO SIMPLES 8.2.1 – MÉTODO DE EULER 8.2.2 – MÉTODOS DE TAYLOR 8.2.3 – MÉTODOS DE RUNGE-KUTTA hoje 8.3 – MÉTODOS DE PASSO MÚLTIPLO 8.4 – MÉTODOS PREVISOR-CORRETOR 8.5 – EDO’s DE ORDEM SUPERIOR E SISTEMAS DE EDO’s 8.6 - PVC’s E O MÉTODO DAS DIFERENÇAS FINITAS 8. EDO’s 8.2.3 – Métodos de Runge-Kutta Vimos os métodos de Euler, Euler Inverso e Euler Aprimorado para resolver problemas de valores iniciais (PVI’s) y f x, y com yx0 y 0 Estes métodos são classes de métodos de Runge-Kutta como veremos. 8. EDO’s 8.2.3 – Métodos de Runge-Kutta Carl David Runge (1856-1927) Físico alemão – Trabalho de 1895 sob soluções numéricas de EDO’s. M. Wilhelm Kutta (1867-1944) – Matemático alemão – Aprimorou o método em 1901 ao estudar aerodinâmica se aerofólios. 8. EDO’s 8.2.3 – Métodos de Runge-Kutta A idéia dos métodos que estudaremos é aproveitar as qualidades dos métodos das séries de Taylor eliminando o seu maior defeito que é o cálculo de derivadas de f(x,y). Os métodos de Runge-Kutta de ordem p caracterizam-se pelas propriedades: 1- São métodos de passo um; 2- Não calculam derivadas; 3- Em mesma ordem, as fórmulas de Taylor e Runge-Kutta são semelhantes. 8. EDO’s 8.2.3 – Runge-Kutta de 1ª ordem O método de Runge-Kutta de 1ª ordem é o método de Euler ou de Taylor de 1ª ordem: yn1 yn f xn ,yn h onde xn 1 xn (1) f x, y dx h f [ xn ,yn ] . Note que (1) satisfaz as três porpriedades dos métodos de Runge-Kutta. 8. EDO’s 8.2.3 – Runge-Kutta de 2ª ordem Os métodos de Runge-Kutta de 2ª ordem devem ter fórmulas que devem ser semelhantes às fórmulas do Método de Taylor até termos de segunda ordem em h. Consideremos o método de Euler aprimorado ou fórmula de Heun y n 1 f xn , y n f xn 1 , y n 1 yn h 2 (2) 8. EDO’s 8.2.3 – Runge-Kutta de 2ª ordem Reescrevendo a fórmula de Heun y n 1 h yn 2 f xn ,yn f x n h , y n h y n (2) 1- Observando que para calcular yn1 yxn1 usamos apenas yn yxn , então dizemos que o Método de Euler Aprimorado é de Passo Um ou de Passo Simples. 2- O Método de Euler Aprimorado não tem derivadas de f(x,y). 3- Resta verificar a terceira condição. 8. EDO’s 8.2.3 – Runge-Kutta de 2ª ordem Resta verificar se a fórmula de Heun y n 1 h yn 2 f xn ,yn f x n h , y n h y n (2) é semelhantes às fórmulas do Método de Taylor até termos de segunda ordem em h. Da fórmula de Taylor de y(x) em x=xn+1 h2 y ( x n 1 ) y ( x n ) y ( x n ) h y ( x n ) 2! h2 y n 1 y n y n h y n 2! 8. EDO’s 8.2.3 – Runge-Kutta de 2ª ordem Calculemos a fórmula de Taylor de 2ª ordem. y x f x, y ( x) d dy y x f x, y ( x ) f x x, y ( x ) f y x, y ( x ) f x f f y dx dx h2 y n 1 y n h f x n , y n f x xn , y n f y xn , y n f xn , y n 2 h2 erro de truncamento E(xn 1 ) y () 3! 8. EDO’s 8.2.3 – Runge-Kutta de 2ª ordem No Método de Euler Aprimorado trabalhamos Com f xn h , yn h yn. Expandindo f x, y ( x) em t ornode (x n , y n ) f ( x, y ) f ( x n , y n ) f x x n , y n x x n f y x n , y n y y n 1 1 2 2 f xx , x x n f yy , y y n 2 2 f xy , x x n y y n com x, x n e y, y n 8. EDO’s 8.2.3 – Runge-Kutta de 2ª ordem Segue que: f (x n h, y n h y n ) f ( xn , y n ) f x xn , y n h f y xn , y n h y n h2 2 f xx , 2 f xy , y n f yy , y n 2 e o Método de Euler Aprimorado escreve-se h f xn ,yn f xn h , y n h y n y n 1 y n 2 h y n { f x n ,yn f ( xn , y n ) f x xn , y n h f y xn , y n h y n 2 2 h 2 f xx , 2 f xy , y n f yy , y n } 2 8. EDO’s 8.2.3 – Runge-Kutta de 2ª ordem Enfim y n 1 h2 y n h f ( xn , y n ) f x xn , y n f ( xn , y n ) f y xn , y n 2 h3 f xx , 2 f ( x n , y n ) f xy , f 2 ( x n , y n ) f yy , 2 Logo, o Método de Euler Aprimorado é um método de Taylor de 2ª ordem e portanto, devido às 3 propriedades verificadas, também é um Método de Runge-Kutta de 2ª ordem. 8. EDO’s 8.2.3 – Runge-Kutta de 2ª ordem A Fórmula geral de Runge-Kutta de 2ª ordem tem a forma: yn1 yn h a1 f ( xn , yn ) h a2 f xn b1h , yn b2 h yn No caso do Euler Aprimorado a1 1 1 , a 2 , b1 b2 1 2 2 (3) 8. EDO’s 8.2.3 – Runge-Kutta de 2ª ordem Questão: A expressão (3) sempre é semelhante a fórmula de Taylor com termos até segunda ordem em h? yn1 yn h a1 f ( xn , yn ) h a2 f xn b1h , yn b2 h yn Realizando um procedimento semelhante àquele realizado para o Método de Euler Aprimorado, verificamos que os parâmetos devem ser tais que 1 1 a1 a 2 1 , a 2 b1 , a 2 b2 2 2 (3) 8. EDO’s 8.2.3 – Runge-Kutta de 2ª ordem Como temos um parâmetro arbitrário, tomamos, por exemplo, 1 a 2 w a1 1 w , b1 b2 2w de modo que a fórmula de Runge-Kutta de 2ª ordem escreve-se como: y n1 h h y n h 1 w f ( xn , y n ) h w f xn , yn f ( xn , y n ) 2w 2w 8. EDO’s 8.2.3 – Runge-Kutta de 3ª ordem De forma análoga podemos construir a fórmula de métodos de Runge-Kutta de 3ª ordem. Sejam PVI’s do tipo y f x, y com yx0 y 0 então uma fórmula de Runge-Kutta de 3ª ordem escreve-se como: y n 1 h yn 2 K1 3 K 2 4 K 3 9 K1 h onde K 1 f ( x n , y n ) K 2 f xn , y n 2 2 3K 2 3h K 3 f xn , yn 4 4 8. EDO’s 8.2.3 – Runge-Kutta de 4ª ordem De forma análoga podemos construir a fórmula de métodos de Runge-Kutta de 4ª ordem. Sejam PVI’s do tipo y f x, y com yx0 y 0 então uma fórmula de Runge-Kutta de 4ª ordem escreve-se como: y n 1 h y n K1 2 K 2 2 K 3 K 4 6 onde K1 f ( xn , y n ) , K1 h K 2 f xn , y n 2 2 K2 h , K 4 f x n h , y n K 3 K 3 f xn , y n 2 2 8. EDO’s 8.2.3 – Comentários sobre Runge-Kutta FÓRMULAS DE RUNGE-KUTTA 1ª ordem: yn1 yn f xn ,yn h h 2ª ordem: y n 1 y n f x n , y n f x n 1 , y n 1 particular 2 h h y n1 y n h 1 w f ( xn , y n ) h w f xn , yn f ( xn , y n ) 2w 2w h 3ª ordem: y n1 y n 9 2 K1 3 K 2 4 K 3 K1 3K 2 h 3h K1 f ( x n , y n ) , K 2 f x n , y n , K 3 f xn , yn 2 2 4 4 8. EDO’s 8.2.3 – Comentários sobre Runge-Kutta FÓRMULAS DE RUNGE-KUTTA 4ª ordem: y n 1 h y n K1 2 K 2 2 K 3 K 4 6 onde K1 f ( xn , y n ) , K1 h K 2 f xn , y n 2 2 K2 h , K 4 f x n h , y n K 3 K 3 f xn , y n 2 2 Com1: As fórmulas de Runge-Kutta são médias ponderadas de valores de f(x,y) em pontos no intervalo xn x xn1 . 8. EDO’s 8.2.3 – Comentários sobre Runge-Kutta FÓRMULAS DE RUNGE-KUTTA Com2: As somas h K 1 2 K 2 2 K 3 K 4 ; h 2 K 1 3 K 2 4 K 3 6 9 podem ser interpretadas como um coeficiente angular médio. Com3: Problema do passo fixo pode ser resolvido com o desenvolvimento de Métodos de Runge-Kutta adaptativos, os quais ajustam o passo de modo a manter o erro de truncamento local num nível de tolerância fixado. 8. EDO’s 8.2.3 – Exemplos de Runge-Kutta Exemplo 1: Para o PVI dado, estime y(1). com y(0) 1000 PVI: y 0.04 y a) Runge-Kutta de primeira ordem. y n1 y n f xn ,yn h onde f x,y 0.04y y n1 y n 0.04 y n h 1 0.04 h y n Assim y1 1 0.04 h 1000 y 2 1 0.04 h y1 1 0.04 h 1000 2 ............................................................ y k 1 0.04 h 1000 para k 1,2,3.. k 8. EDO’s 8.2.3 – Exemplos de Runge-Kutta Definindo a partição do intervalo (0,1) h 1 y1 1 0.04 1000 1040 h 0.5 y 2 1 0.04 0.5 1000 1040.4 2 h 0.25 y 4 1 0.04 0.25 1000 1040.604 4 h 0.1 y10 1 0.04 0.1 1000 1040.7277 10 Valor exato: y (1) 1040.8108 8. EDO’s 8.2.3 – Exemplos de Runge-Kutta b) Runge-Kutta de 2ª ordem. Euler aprimorado. h y n 1 y n f x n , y n f x n h , y n h f x n , y n 2 h y n 1 y n 0.04 y n 0.04 y n h 0.04 y n 2 h y n 1 y n 1 0.04 h 0.042 2 Analogamente ao Runge-Kutta de 1ª ordem k h y k 1 0.04 h 0.042 1000 2 8. EDO’s 8.2.3 – Exemplos de Runge-Kutta Definindo a partição do intervalo (0,1) 1 h 1 y1 1 0.04 0.042 1000 1040.8 2 2 0.5 h 0.5 y 2 1 0.04 0.5 0.042 1000 1040.808 2 2 4 0.252 2 h 0.25 y 4 1 0.04 0.25 0.04 1000 1040.8101 2 10 0.1 h 0.1 y10 1 0.04 0.1 0.042 1000 1040.8107 2 Valor exato: y (1) 1040.8108 2 8. EDO’s 8.2.3 – Exemplos de Runge-Kutta c) Runge-Kutta de 3ª ordem. h y n 1 y n 2 K1 3 K 2 4 K 3 9 K1 3K 2 h 3h K1 f ( xn , y n ) , K 2 f xn , y n , K 3 f xn , yn 2 2 4 4 K1 3K 1 K 1 0.04 y n , K 2 0.04 y n , K 3 0.04 y n 2 4 8. EDO’s 8.2.3 – Exemplos de Runge-Kutta c) Runge-Kutta de 3ª ordem. h 2 K1 3 K 2 4 K 3 9 40 K 1 0.04 1000 40 , K 2 0.04 1000 40.8 2 3 K 3 0.04 1000 40.8 41.224 4 Sendo y1 y 0 Logo : y1 1000 1 2 40 3 40.8 4 41.224 1040.8107 9 para h 1 8.2.3. Métodos de Runge-Kutta Exercícios Exercício: Utilize o Método de Runge-Kutta de 1ª, 2ª, 3ª e 4ª ordens, para calcular valores aproximados da solução y(x) do problema de valor inicial no intervalo [0,2]. y 1 x 4 y com y(0) 1 Utilize partições h=0.5 , h=0.25 e h=0.1