Prévia do material em texto
EQUAÇÕES DIFERENCIAIS Igor Utzig Picco Equações Diferenciais 2 Olá aluno (a) Unifacear! Seja bem-vindo (a) à aula de Equações Diferenciais. Nessa aula irei apresentar para vocês os métodos numéricos mais tradicionais na resolução de equações diferenciais, sendo eles os métodos de Euller e Runge-Kutta. INTRODUÇÃO A RESOLUÇÃO DE EQUAÇÕES DIFERENCIAIS ORDINÁRIAS Uma EDO (Equação Diferencial Ordinária) é uma equação que apresenta diferenciais de diversas ordens em sua resolução. A função envolve uma única variável independente. Equações diferenciais são encontradas em muitas aplicações físicas, sendo encontradas em diversas formulações de leis fundamentais da física. A Figura 1 apresenta algumas leis fundamentais da física que são formuladas matematicamente através de EDOs. Figura 1. Leis da física que são modeladas por EDOs. Fonte: Chapra, Canale, 2013. Apresentamos aqui dois exemplos de EDOs, a primeira é de 1° ordem e a segunda é de 2° ordem, mas pode ser reescrita através de uma substituição de variável. 𝑑𝑦 𝑑𝑥 = −2𝑥3 + 12𝑥2 − 20𝑥 + 8,5 Equações Diferenciais 3 3 𝑑²𝑦 𝑑𝑥² + 8 𝑑𝑦 𝑑𝑥 + 3𝑥 = 0 Reescrevendo 𝑑𝑦 𝑑𝑥 como z: 𝑑𝑦 𝑑𝑥 = 𝑧 3 𝑑²𝑦 𝑑𝑥² + 8 𝑑𝑦 𝑑𝑥 + 3𝑥 = 0 3 𝑑𝑧 𝑑𝑥 + 8𝑧 + 3𝑥 = 0 Nesse tópico iremos abordar equações diferenciais ordinárias da seguinte forma: 𝑑𝑦 𝑑𝑥 = 𝑓(𝑥, 𝑦) (1) O princípio básico de resolução de equações desse formato, que também foi utilizado no tópico 1, tinha a forma geral de: 𝑉𝑎𝑙𝑜𝑟 𝑛𝑜𝑣𝑜 = 𝑣𝑎𝑙𝑜𝑟 𝑎𝑛𝑡𝑖𝑔𝑜 + 𝑖𝑛𝑐𝑙𝑖𝑛𝑎çã𝑜 ∗ 𝑡𝑎𝑚𝑎𝑛ℎ𝑜 𝑑𝑜 𝑝𝑎𝑠𝑠𝑜 𝑦𝑖+1 = 𝑦𝑖 + ∅ ∗ ℎ (2) De acordo com essa equação, a estimativa da inclinação ∅ é usada para extrapolar de um valor antigo yi para um valor novo yi+1 em uma distância h. Essa fórmula pode ser aplicada passo a passo para cálculos no futuro e, portanto, para percorrer a trajetória da solução (CHAPRA, CANALE, 2013). A Figura 2 ilustra esse princípio. Equações Diferenciais 4 Figura 2. Descrição gráfica de um método de um passo. Fonte: Chapra, Canale, 2013. MÉTODO DE EULER Continuando do abordado na Equação 2, sabemos que a primeira derivada fornece uma estimativa direta da inclinação em xi. ∅ = 𝑑𝑦 𝑑𝑥 = 𝑓(𝑥, 𝑦) 𝑦𝑖+1 = 𝑦𝑖 + 𝑓(𝑥, 𝑦)ℎ (3) A Equação 3 é conhecida como Método de Euler. No método um novo valor de y é previsto usando a inclinação (igual à primeira derivada no valor original de x) para extrapolar linearmente sobre um tamanho de passo h (CHAPRA, CANALE, 2013). A Figura 3 ilustra esse princípio. É importante ressaltar a importância do conhecimento da condição inicial para estimar o valor da primeira iteração. Equações Diferenciais 5 Figura 3. Descrição gráfica do Método de Euler. Fonte: Chapra, Canale, 2013. Exemplo 1: Use o método de Euler para estimar a integral da equação apresentada. Integre para x=0 a 1 usando 0,5 como passo de integração. Considere a condição inicial em x=0 como y=1. 𝑑𝑦 𝑑𝑥 = −2𝑥3 + 12𝑥2 − 20𝑥 + 8,5 Passo 1: 𝑦𝑖+1 = 𝑦𝑖 + 𝑓(𝑥, 𝑦)ℎ 𝑦1 = 𝑦0 + 𝑓(0 , 1) ∗ 0,5 𝑦(0,5) = 𝑦(0) + 𝑓(0 , 1) ∗ 0,5 𝑓(0 , 1) = −2 ∗ 0 + 12 ∗ 0 − 20 ∗ 0 + 8,5 = 8,5 Com a condição inicial dada, temos y (0) =1. Sendo assim: 𝑦(0,5) = 1 + 8,5 ∗ 0,5 𝑦(0,5) = 5,25 Equações Diferenciais 6 Passo 2: 𝑦𝑖+1 = 𝑦𝑖 + 𝑓(𝑥, 𝑦)ℎ 𝑦2 = 𝑦1 + 𝑓(0,5 , 5,25) ∗ 0,5 𝑦(1) = 𝑦(0,5) + 𝑓(0,5 , 5,25) ∗ 0,5 𝑓(0,5, 5,25) = −2 ∗ (0,5)³ + 12 ∗ 0,5² − 20 ∗ 0,5 + 8,5 = 1,25 Pelo passo anterior temos que y (0,5) =5,25. Sendo assim: 𝑦(1) = 5,25 + 1,25 ∗ 0,5 𝑦(1) = 5,875 Ao comparar os resultados obtidos, é possível analisar que o erro é grande. O resultado correto de y (0,5) é 3,21875 e de y (1) é 3, mostrando que o método implementado obteve valores muito superiores. Para melhorar a precisão do método deve-se utilizar passos menores. Quanto menor o passo utilizado, maior a quantidade de passos que tem que ser utilizado para um mesmo intervalo, porém menor o erro. A Figura 4 apresenta a relação entre o tamanho do passo, quantidade de passos e erro do método. Figura 4. Efeito do tamanho do passo no método de Euler. Fonte: Chapra, Canale, 2013. Equações Diferenciais 7 Exemplo 2: (utilizando passo menor) Use o método de Euler para estimar a integral da equação apresentada. Integre para x=0 a 1 usando 0,2 como passo de integração. Considere a condição inicial em x=0 como y=1. Analise o erro de y(1) sabendo que o resultado correto é 3 e sabendo que a estimativa de y(1) utilizando passo de integração 0,5 foi de 5,875. 𝑑𝑦 𝑑𝑥 = −2𝑥3 + 12𝑥2 − 20𝑥 + 8,5 Passo 1: 𝑦𝑖+1 = 𝑦𝑖 + 𝑓(𝑥, 𝑦)ℎ 𝑦1 = 𝑦0 + 𝑓(0,1) ∗ 0,2 𝑦(0,2) = 𝑦(0) + 𝑓(0,1) ∗ 0,2 𝑓(0,1) = −2 ∗ 0 + 12 ∗ 0 − 20 ∗ 0 + 8,5 = 8,5 Com a condição inicial dada, temos y (0) =1. Sendo assim: 𝑦(0,2) = 1 + 8,5 ∗ 0,2 𝑦(0,2) = 2,7 Passo 2: 𝑦𝑖+1 = 𝑦𝑖 + 𝑓(𝑥, 𝑦)ℎ 𝑦2 = 𝑦1 + 𝑓(0,2 , 2,7) ∗ 0,2 𝑦(0,4) = 𝑦(0,2) + 𝑓(0,2 , 2,7) ∗ 0,2 𝑓(0,2 , 2,7) = −2 ∗ (0,2)³ + 12 ∗ 0,2² − 20 ∗ 0,2 + 8,5 = 4,964 Pelo passo anterior temos que y (0,2) =2,7. Sendo assim: 𝑦(0,4) = 2,7 + 4,964 ∗ 0,2 𝑦(0,4) = 3,6928 Equações Diferenciais 8 Passo 3: 𝑦𝑖+1 = 𝑦𝑖 + 𝑓(𝑥, 𝑦)ℎ 𝑦3 = 𝑦2 + 𝑓(0,4 , 3,6928) ∗ 0,2 𝑦(0,6) = 𝑦(0,4) + 𝑓(0,4 , 3,6928) ∗ 0,2 𝑓(0,4 , 3,6928) = −2 ∗ (0,4)³ + 12 ∗ 0,4² − 20 ∗ 0,4 + 8,5 = 2,292 Pelo passo anterior temos que y (0,4) =3,6928. Sendo assim: 𝑦(0,6) = 3,6928 + 2,292 ∗ 0,2 𝑦(0,6) = 4,1512 Passo 4: 𝑦𝑖+1 = 𝑦𝑖 + 𝑓(𝑥, 𝑦)ℎ 𝑦4 = 𝑦3 + 𝑓(0,6 , 4,1512) ∗ 0,2 𝑦(0,8) = 𝑦(0,6) + 𝑓(0,6 , 4,1512) ∗ 0,2 𝑓(0,6 , 4,1512) = −2 ∗ (0,6)³ + 12 ∗ 0,6² − 20 ∗ 0,6 + 8,5 = 0,388 Pelo passo anterior temos que y (0,6) =4,1512. Sendo assim: 𝑦(0,8) = 4,1512 + 0,388 ∗ 0,2 𝑦(0,8) = 4,2288 Passo 5: 𝑦𝑖+1 = 𝑦𝑖 + 𝑓(𝑥, 𝑦)ℎ 𝑦5 = 𝑦4 + 𝑓(0,8 , 4,2288) ∗ 0,2 𝑦(1) = 𝑦(0,8) + 𝑓(0,8 , 4,2288) ∗ 0,2 𝑓(0,8 , 4,2288) = −2 ∗ (0,8)3 + 12 ∗ 0,82 − 20 ∗ 0,8 + 8,5 = −0,844 Pelo passo anterior temos que y (0,8) =4,2288. Sendo assim: Equações Diferenciais 9 𝑦(1) = 4,2288 − 0,844 ∗ 0,2 𝒚(𝟏) = 𝟒, 𝟎𝟔 Sabendo que o resultado correto é 3 e sabendo que a estimativa de y(1) utilizando passo de integração 0,5 foi de 5,875 podemos comparar os erros: 𝐸𝑟𝑟𝑜ℎ=0,5 = |3 − 5,875| 3 = 95,83% 𝐸𝑟𝑟𝑜ℎ=0,2 = |3 − 4,06| 3 = 35,33% Vemos que ao reduzir o passo de 0,5 para 0,2, consequentemente aumentamos a quantidade de passos de 2 para 5, mas, reduzimos muito significativamente, quase triplicando a precisão do método. MÉTODO DE RUNGE-KUTTA Os métodos de Runge-Kutta (RK) alcançam a acurácia de uma abordagem por série de Taylor sem exigir cálculos de derivadas de ordem superior. Há muitas variações, mas todas podem ser postas na forma geral da Equação 4. A função ∅ é chamada de função incremento, a qual pode ser interpretada como representativa da inclinação em um intervalo (CHAPRA, CANALE, 2013). 𝑦𝑖+1 = 𝑦𝑖 + ∅(𝑥, 𝑦, ℎ)ℎ (4) A função incremento pode ser escrita conforme a Equação 5: ∅ = 𝑎1𝑘1 + 𝑎2𝑘2 + ⋯ + 𝑎𝑛𝑘𝑛 (5) Os índices “𝑎𝑖” são constantes e os índices 𝑘𝑖 são obtidos através das seguintes expressões: Equações Diferenciais 10 𝑘1 = 𝑓(𝑥𝑖 , 𝑦𝑖) 𝑘2 = 𝑓(𝑥𝑖 + 𝑝1ℎ, 𝑦𝑖 + 𝑞11𝑘1ℎ) 𝑘3 = 𝑓(𝑥𝑖 + 𝑝2ℎ, 𝑦𝑖 + 𝑞21𝑘1ℎ + 𝑞22𝑘2ℎ) Os índices p e q são constantes. Observe que os índices k são relações de recorrência. Isto é, k1 aparece na equação para k2, o qual aparecena equação para k3, e assim por diante. Como cada k é um cálculo da função, essa recorrência torna os métodos RK eficientes para cálculos computacionais. Vários tipos de métodos de Runge-Kutta podem ser deduzidos usando-se um número diferente de termos na função incremento, conforme especificado por n. Observe que o método RK de primeira ordem com n = 1 é, na realidade, o método de Euler (CHAPRA, CANALE, 2013). MÉTODO DE RUNGE-KUTTA DE SEGUNDA ORDEM A versão da equação de segunda ordem é dada através da Equação 6: 𝑦𝑖+1 = 𝑦𝑖 + (𝑎1𝑘1 + 𝑎2𝑘2)ℎ (6) Sendo: 𝑘1 = 𝑓(𝑥𝑖 , 𝑦𝑖) 𝑘2 = 𝑓(𝑥𝑖 + 𝑝1ℎ, 𝑦𝑖 + 𝑞11𝑘1ℎ) Os valores de 𝑎1, 𝑎2, 𝑝1 e 𝑞11 são calculados igualando a Equação 4 à expansão em série de Taylor até os termos de 2º grau. Fazendo isso, deduz-se as três equações para calcular as quatro constantes desconhecidas (CHAPRA, CANALE, 2013). As equações são apresentadas a seguir: 𝑎1 + 𝑎2 = 1 𝑎2𝑝1 = 1 2 𝑎2𝑞11 = 1 2 Equações Diferenciais 11 Usualmente escolhe-se um valor para 𝑎2 e obtém-se os valores do restante das variáveis através de: 𝑎1 = 1 − 𝑎2 𝑞11 = 𝑝1 = 1 2𝑎2 Como pode ser escolhido qualquer valor para a2, existem infinitas soluções. A seguir são apresentados 3 métodos diferentes de resolução, sendo consolidados pela literatura. MÉTODO DE HEUN (a2=1/2) Ao declarar 𝑎2 como 1/2, as equações são resolvidas como: 𝑎1 = 1/2 𝑝11 = 111 = 1 Sendo assim, temos a seguinte equação para resolução do método: 𝑦𝑖+1 = 𝑦𝑖 + ( 1 2 𝑘1 + 1 2 𝑘2)ℎ (7) Sendo: 𝑘1 = 𝑓(𝑥𝑖 , 𝑦𝑖) 𝑘2 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + 𝑘1ℎ) MÉTODO DO PONTO MÉDIO (a2=1) Ao declarar 𝑎2 como 1, as equações são resolvidas como: Equações Diferenciais 12 𝑎1 = 0; 𝑝11 = 111 = 1/2 Sendo assim, temos a seguinte equação para resolução do método: 𝑦𝑖+1 = 𝑦𝑖 + 𝑘2ℎ (8) Sendo: 𝑘1 = 𝑓(𝑥𝑖 , 𝑦𝑖) 𝑘2 = 𝑓 (𝑥𝑖 + 1 2 ℎ, 𝑦𝑖 + 1 2 𝑘1ℎ) MÉTODO DE RALSTON (a2=2/3) Ao declarar 𝑎2 como 2/3, as equações são resolvidas de como que: 𝑎1 = 1/3; 𝑝11 = 111 = 3/4 Sendo assim, temos a seguinte equação para resolução do método: 𝑦𝑖+1 = 𝑦𝑖 + ( 1 3 𝑘1 + 2 3 𝑘2)ℎ (9) Sendo: 𝑘1 = 𝑓(𝑥𝑖 , 𝑦𝑖) 𝑘2 = 𝑓 (𝑥𝑖 + 3 4 ℎ, 𝑦𝑖 + 3 4 𝑘1ℎ) Exemplo 3: Use o método de Runge-Kutta de segunda ordem pelo método de Cheun para estimar a integral da equação apresentada. Integre para x=0 a 1 usando 0,2 como passo de integração. Equações Diferenciais 13 Considere a condição inicial em x=0 como y=1. Analise o erro de y(1) sabendo que o resultado correto é 3. 𝑑𝑦 𝑑𝑥 = −2𝑥3 + 12𝑥2 − 20𝑥 + 8,5 Resolução: O método de Heun utiliza as seguintes equações: 𝑦𝑖+1 = 𝑦𝑖 + ( 1 2 𝑘1 + 1 2 𝑘2)ℎ (7) Sendo: 𝑘1 = 𝑓(𝑥𝑖 , 𝑦𝑖) 𝑘2 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + 𝑘1ℎ) Passo 1: 𝑦𝑖+1 = 𝑦𝑖 + ( 1 2 𝑘1 + 1 2 𝑘2)ℎ 𝑦1 = 𝑦0 + ( 1 2 𝑘1 + 1 2 𝑘2)ℎ 𝑘1 = 𝑓(𝑥0, 𝑦0) = 𝑓(0,1) 𝑓(0,1) = −2 ∗ 0 + 12 ∗ 0 − 20 ∗ 0 + 8,5 = 8,5 𝑘2 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + 𝑘1ℎ) 𝑘2 = 𝑓(0 + 0,2, 1 + 1,7) = 𝑓(0,2, 2,7) 𝑓(0,2, 2,7) = −2 ∗ (0,2)³ + 12 ∗ 0,2² − 20 ∗ 0,2 + 8,5 = 4,964 Com a condição inicial dada, temos y(0)=1. Sendo assim: 𝑦(0,2) = 1 + ( 1 2 ∗ 8,5 + 1 2 ∗ 4,964) ∗ 0,2 = 2,3464 Equações Diferenciais 14 Passo 2: 𝑦𝑖+1 = 𝑦𝑖 + ( 1 2 𝑘1 + 1 2 𝑘2)ℎ 𝑦2 = 𝑦1 + ( 1 2 𝑘1 + 1 2 𝑘2)ℎ 𝑘1 = 𝑓(𝑥1, 𝑦1) = 𝑓(0,2, 2,3464) 𝑓(0,2, 2,3464) = −2 ∗ (0,2)³ + 12 ∗ 0,2² − 20 ∗ 0,2 + 8,5 = 4,964 𝑘2 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + 𝑘1ℎ) 𝑘2 = 𝑓(0,2 + 0,2, 2,3464 + 0,9928) = 𝑓(0,4, 3,3392) 𝑓(0,4, 3,3392) = −2 ∗ (0,4)³ + 12 ∗ 0,4² − 20 ∗ 0,4 + 8,5 = 2,292 Pelo passo anterior temos que y(0,2)=2,3664. Sendo assim: 𝑦2 = 𝑦1 + ( 1 2 𝑘1 + 1 2 𝑘2)ℎ 𝑦(0,4) = 2,3464 + ( 1 2 ∗ 4,964 + 1 2 ∗ 2,292) ∗ 0,2 𝑦(0,4) = 3,072 Passo 3: 𝑦𝑖+1 = 𝑦𝑖 + ( 1 2 𝑘1 + 1 2 𝑘2)ℎ 𝑦3 = 𝑦2 + ( 1 2 𝑘1 + 1 2 𝑘2)ℎ 𝑘1 = 𝑓(𝑥2, 𝑦2) = 𝑓(0,4, 3,072) 𝑓(0,4, 3,072) = −2 ∗ (0,4)³ + 12 ∗ 0,4² − 20 ∗ 0,4 + 8,5 = 2,292 𝑘2 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + 𝑘1ℎ) 𝑘2 = 𝑓(0,4 + 0,2, 3,072 + 0,4584) = 𝑓(0,6, 3,5304) 𝑓(0,6, 3,5304) = −2 ∗ (0,6)³ + 12 ∗ 0,6² − 20 ∗ 0,6 + 8,5 = 0,388 Pelo passo anterior temos que y(0,4)=3,072. Sendo assim: Equações Diferenciais 15 𝑦3 = 𝑦2 + ( 1 2 𝑘1 + 1 2 𝑘2)ℎ 𝑦(0,6) = 3,072 + ( 1 2 ∗ 2,292 + 1 2 ∗ 0,388) ∗ 0,2 𝑦(0,6) = 3,34 Passo 4: 𝑦𝑖+1 = 𝑦𝑖 + ( 1 2 𝑘1 + 1 2 𝑘2)ℎ 𝑦4 = 𝑦3 + ( 1 2 𝑘1 + 1 2 𝑘2)ℎ 𝑘1 = 𝑓(𝑥3, 𝑦3) = 𝑓(0,6, 3,34) 𝑓(0,6, 3,34) = −2 ∗ (0,6)³ + 12 ∗ 0,6² − 20 ∗ 0,6 + 8,5 = 0,388 𝑘2 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + 𝑘1ℎ) 𝑘2 = 𝑓(0,6 + 0,2, 3,34 + 0,0776) = 𝑓(0,8, 3,4176) 𝑓(0,8, 3,4176) = −2 ∗ (0,8)3 + 12 ∗ 0,82 − 20 ∗ 0,8 + 8,5 = −0,844 Pelo passo anterior temos que y(0,6)=3,34. Sendo assim: 𝑦4 = 𝑦3 + ( 1 2 𝑘1 + 1 2 𝑘2)ℎ 𝑦(0,8) = 3,34 + ( 1 2 ∗ 0,388 + 1 2 ∗ (−0,844)) ∗ 0,2 𝑦(0,8) = 3,2944 Passo 5: 𝑦𝑖+1 = 𝑦𝑖 + ( 1 2 𝑘1 + 1 2 𝑘2)ℎ 𝑦5 = 𝑦4 + ( 1 2 𝑘1 + 1 2 𝑘2)ℎ 𝑘1 = 𝑓(𝑥4, 𝑦4) = 𝑓(0,8, 3,2944) 𝑓(0,8, 3,2944) = −2 ∗ (0,8)3 + 12 ∗ 0,82 − 20 ∗ 0,8 + 8,5 = −0,844 𝑘2 = 𝑓(𝑥𝑖 + ℎ, 𝑦𝑖 + 𝑘1ℎ) 𝑘2 = 𝑓(0,8 + 0,2, 3,2944 − 0,1688) = 𝑓(1, 3,1256) 𝑓(1, 3,1256) = −2 ∗ (1)3 + 12 ∗ 12 − 20 ∗ 1 + 8,5 = −1,5 Equações Diferenciais 16 Pelo passo anterior temos que y(0,8)=3,2944. Sendo assim: 𝑦5 = 𝑦4 + ( 1 2 𝑘1 + 1 2 𝑘2)ℎ 𝑦(1) = 3,2944 + ( 1 2 ∗ (−0,844) + 1 2 ∗ (−1,5)) ∗ 0,2 𝑦(1) = 3,06 Sabendo que o resultado correto é 3 e sabendo que a estimativa de y(1) utilizando o método de Runge-Kutta de ordem 2 com passo 0,2 foi: 𝐸𝑟𝑟𝑜 = |3 − 3,06| 3 = 2% Ao comparar com o método de Euller, de mesmo passo, vemos que a redução do erro foi muito considerável, mostrando uma maior precisão do método de Runge-Kutta de segunda ordem. RESUMO Nesse capítulo foram apresentados os dois métodos numéricos mais utilizados na resolução de equações diferenciais ordinárias, sendo eles, os métodos de Euller e Runge- Kutta. Foram resolvidos exemplos que mostram a diferença do método de resolução e precisão de cada método. Equações Diferenciais 17 REFERÊNCIAS BIBLIOGRÁFICAS CELINA, J. Cálculo Numérico. Curitiba, InterSaberes, 2018. CHAPRA, S. C.; CANALE, R. P. Métodos numéricos para engenharia. McGraw-Hill, 2008. FRANCO, N. B. Cálculo numérico. Pearson, 2006. SPERANDIO, D.; MENDES, J. T.; E SILVA, L. H. M. Cálculo numérico. 2° edição São Paulo. Pearson, 2014.