Prévia do material em texto
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano yaratadano@utfpr.edu.br Aula 22 Resolução Numérica de Equações Diferenciais Ordinárias 07/2014 Aula 6 – Resolução de EDOs Cálculo Numérico 3/58 Objetivo: Resolver Equações Diferenciais Ordinárias utilizando métodos numéricos Aula 6 – Resolução de EDOs Cálculo Numérico 4/58 Pêndulo Oscilante ¨ O movimento de um pêndulo oscilante, sob certas hipóteses simplificadoras é descrito pela equação diferencial de segunda ordem: § onde: § L é o comprimento do pêndulo; § g é a constante gravitacional § (g ≈ 9,8 m/s2); § θ é o ângulo que o pêndulo faz § com a vertical. d 2θ dt2 + g L senθ = 0 Aula 6 – Resolução de EDOs Cálculo Numérico 5/58 Pêndulo Oscilante ¨ O movimento de um pêndulo oscilante, sob certas hipóteses simplificadoras é descrito pela equação diferencial de segunda ordem: Problema de Valor Inicial (PVI): d 2θ dt2 + g L senθ = 0 θ t0( ) =θ0 θ ' t0( ) =θ0 ' Aula 6 – Resolução de EDOs Cálculo Numérico 6/58 Pêndulo Oscilante ¨ Para valores pequenos de θ, a aproximação pode ser utilizada para simplificar o problema, para um problema linear, que pode ser resolvido analiticamente: ¨ Com condições iniciais: d 2θ dt2 + g Lθ = 0 θ t0( ) =θ0, θ ' t0( ) =θ '0 θ = senθ Aula 6 – Resolução de EDOs Cálculo Numérico 7/58 Pêndulo Oscilante ¨ Para valores maiores de θ, a solução se torna mais complexa e fogem do contexto de um curso básico de EDO. Neste caso, é aconselhável a aplicação de um método numérico. ¨ O valor da função e suas derivadas são especificados no mesmo ponto; ¨ O valor da função e suas derivadas são dados em pontos distintos. Aula 6 – Resolução de EDOs Cálculo Numérico 8/58 Métodos de Passo Simples Aula 6 – Resolução de EDOs Cálculo Numérico 9/58 ¨ São resolvidas equações diferenciais ordinárias do tipo: ¨ : onde: ¨ yi+1 é o novo valor; φι é a inclinação; ¨ yi é o antigo valor; h é o tamanho do passo. dy dx = f x, y( ) yi+1 = yi +φih Aula 6 – Resolução de EDOs Cálculo Numérico 10/58 ¨ A estimativa da inclinação ϕ é usada para extrapolar de um valor antigo yi para um valor novo yi+1 em uma distância h. Aula 6 – Resolução de EDOs Cálculo Numérico 11/58 Método de Euler Aula 6 – Resolução de EDOs Cálculo Numérico 12/58 Método de Euler ¨ A abordagem mais simples de estimativa da inclinação é usar a equação diferencial para obter uma estimativa na forma da primeira derivada em xi. φi = f xi, yi( ) yi+1 = yi +φih Aula 6 – Resolução de EDOs Cálculo Numérico 13/58 Exemplo 1 ¨ Use o método de Euler para integrar numericamente a equação: de x = 0 a x = 4 com um tamanho de passo de 0,5. A condição inicial em x = 0 é y = 1. Lembre-se de que a solução exata é dada por: dy dx = −2x 3 +12x2 − 20x +8,5 y = −0,5x4 + 4x3 −10x2 +8,5x +1 Aula 6 – Resolução de EDOs Cálculo Numérico 14/58 Resultados do Exemplo 1 Global = εt = ytrue − yEuler ytrue Aula 6 – Resolução de EDOs Cálculo Numérico 15/58 ¨ Comparação da solução verdadeira com a solução numérica usando o método de Euler para o exemplo. Observe Apesar dos cálculos capturarem a tendência geral dos dados, o erro é considerável. Aula 6 – Resolução de EDOs Cálculo Numérico 16/58 Erro para o Método de Euler ¨ O erro pode ser reduzido diminuindo-se o tamanho do passo. Aula 6 – Resolução de EDOs Cálculo Numérico 17/58 Exercício 1 ¨ Repita os cálculos do Exemplo 1, mas use um tamanho de passo de 0,25. Aula 6 – Resolução de EDOs Cálculo Numérico 18/58 Método de Heun Aula 6 – Resolução de EDOs Cálculo Numérico 19/58 Método de Heun ¨ Neste método, determinamos para o intervalo, uma no ponto inicial e outra no ponto final. ¨ A inclinação utilizada será a média das duas inclinações. Aula 6 – Resolução de EDOs Cálculo Numérico 20/58 Método de Heun ¨ Preditor Aula 6 – Resolução de EDOs Cálculo Numérico 21/58 Método de Heun ¨ A será: que é uma previsão intermediária. ¨ Esta equação será usada para estimar a do intervalo: yi+1k( ) = yi + f xi, yi( )h y 'i+1k( ) = f xi+1, yi+1k( )( ) Aula 6 – Resolução de EDOs Cálculo Numérico 22/58 Método de Heun ¨ Corretor Aula 6 – Resolução de EDOs Cálculo Numérico 23/58 Método de Heun ¨ Combinando as duas inclinações, temos uma no intervalo: ¨ E assim, teremos: y ' = y 'i + y 'i+1 k( ) 2 = f xi, yi( )+ f xi+1, yi+1k( )( ) 2 y k+1( )i+1 = yi + y 'h Aula 6 – Resolução de EDOs Cálculo Numérico 24/58 Etapas do Método de Heun ¨ Inclinação no início do intervalo: ¨ Equação preditora: ¨ Inclinação na extremidade final: ¨ Inclinação média: ¨ Equação corretora: yi ' = f xi, yi( ) yi+1k( ) = yi + y 'i h y ' i+1k( )= f xi+1, yi+1k( )( ) y ' = yi ' + yi+1' k( ) 2 yi+1k+1( ) = yi + y 'h Aula 6 – Resolução de EDOs Cálculo Numérico 25/58 Método de Heun ¨ Por ser um método iterativo, temos que estabelecer um : εt = yi+1k+1( ) − yi+1k( ) yi+1k+1( ) ⋅100% Aula 6 – Resolução de EDOs Cálculo Numérico 26/58 Exemplo 3 ¨ Use o método de Heun para integrar y’ = 4e0,8x – 0,5y de x = 0 a x = 4 com tamanho de passo 1. ¨ A condição inicial em x = 0 é y = 2. Aula 6 – Resolução de EDOs Cálculo Numérico 27/58 Resultados Exemplo 3 Aula 6 – Resolução de EDOs Cálculo Numérico 28/58 ¨ Comparação da solução verdadeira com soluções numéricas usando os métodos de Euler e de Heun para a integração de: y’ = -2x3 + 12x2 - 20x + 8,5. Aula 6 – Resolução de EDOs Cálculo Numérico 29/58 Método do Ponto Médio Aula 6 – Resolução de EDOs Cálculo Numérico 30/58 Método do Ponto Médio Aula 6 – Resolução de EDOs Cálculo Numérico 31/58 Método do Ponto Médio xi+1/2 Aula 6 – Resolução de EDOs Cálculo Numérico 32/58 Etapas do Método do Ponto Médio ¨ y no ponto médio do intervalo: ¨ Inclinação no ponto médio: ¨ Cálculo de yi+1: yi+1 2 = yi + f xi, yi( ) h 2 y 'i+1 2 = f xi+1 2, yi+1 2( ) yi+1 = yi + f xi+1 2, yi+1 2( )h Aula 6 – Resolução de EDOs Cálculo Numérico 33/58 Métodos de Runge-Kutta Aula 6 – Resolução de EDOs Cálculo Numérico 34/58 Métodos de Runge-Kutta ¨ A forma geral dos métodos de Runge-Kutta é: ¨ Em que é chamada , que representa a inclinação em um intervalo. ¨ De forma geral, φ será: yi+1 = yi +φ xi, yi,h( )h φ = a1k1 + a2k2 +!+ ankn φ xi, yi,h( ) 1( ) Aula 6 – Resolução de EDOs Cálculo Numérico 35/58 Métodos de Runge-Kutta Em que os a’s são constantes e os k’s são: com p’s e q’s constantes. φ = a1k1 + a2k2 +!+ ankn k1 = f xi, yi( ) k2 = f xi + p1h, yi + q11k1h( ) k3 = f xi + p2h, yi + q21k1h+ q22k2h( ) kn = f xi + pn−1h, yi + qn−1,1k1h+ qn−1,2k2h+!+ qn−1,n−1kn−1h( ) ! Aula 6 – Resolução de EDOs Cálculo Numérico 36/58 Métodos de Runge-Kutta ¨ O que diferencia cada método de Runge-Kutta é da função incremento. ¨ Escolhido o valor de n, iguala-se a equação (1) a termos da expansão em Série de Taylor e acham-se os a’s, p’s e q’s. ¨ O método de Runge-Kutta de (n = 1) é o . Aula 6 – Resolução deEDOs Cálculo Numérico 37/58 Métodos de R-K de Segunda Ordem ¨ O método de Runge-Kutta de (n = 2) será: onde: yi+1 = yi + a1k1 + a2k2( )h k1 = f xi, yi( ) k2 = f xi + p1h, yi + q11k1h( ) Aula 6 – Resolução de EDOs Cálculo Numérico 38/58 Métodos de R-K de Segunda Ordem ¨ Para determinar as constantes a1, a2, p1 e q11 temos que igualar: ¨ À Série de Taylor de segundo grau para yi+1 em termos de yi e f (xi , yi): yi+1 = yi + f xi, yi( )h+ f ' xi, yi( ) 2! h 2 yi+1 = yi + a1k1 + a2k2( )h Aula 6 – Resolução de EDOs Cálculo Numérico 39/58 Métodos de R-K de Segunda Ordem ¨ Comparando a forma geral do método de Runge-Kutta de segunda ordem com uma expansão em série de Taylor, vemos que: a1 + a2 =1 a2p1 = 12 a2q11 = 12 3 equações 4 incógnitas Solução NÃO é única Existe uma família de Métodos de Runge Kutta de segunda ordem Aula 6 – Resolução de EDOs Cálculo Numérico 40/58 Métodos de R-K de Segunda Ordem ¨ Comparando a forma geral do método de Runge-Kutta de segunda ordem com uma expansão em série de Taylor, vemos que: a1 + a2 =1 a2p1 = 12 a2q11 = 12 3 equações 4 incógnitas Variação de a2 a1 =1− a2 p1 = q11 = 12a2 Aula 6 – Resolução de EDOs Cálculo Numérico 41/58 ¨ Método de Heun com um único corretor (a2 = ½); que é o método de Heun sem iterações. ¨ em que: Métodos de R-K de Segunda Ordem yi+1 = yi + 1 2 k1 + 1 2 k2 ! " # $ % &h k1 = f xi, yi( ) k2 = f xi + h, yi + k1h( ) Aula 6 – Resolução de EDOs Cálculo Numérico 42/58 ¨ Método do Ponto Médio (a2 = 1). ¨ em que: Métodos de R-K de Segunda Ordem yi+1 = yi + k2h k1 = f xi, yi( ) ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ ++= hkyhxfk ii 12 2 1, 2 1 Aula 6 – Resolução de EDOs Cálculo Numérico 43/58 ¨ Método de Ralston (a2 = 2/3). ¤ Este valor de a2 fornece um limitante mínimo para o erro de truncamento. ¨ em que: Métodos de R-K de Segunda Ordem yi+1 = yi + 1 3 k1 + 2 3 k2 ! " # $ % &h k1 = f xi, yi( ) k2 = f xi + 3 4 h, yi + 3 4 k1h ! " # $ % & Aula 6 – Resolução de EDOs Cálculo Numérico 44/58 Exemplo 4 ¨ Use o método do ponto médio e o método de Ralston para integrar numericamente a equação: f (x,y) = -2x3 + 12x2 – 20x + 8,5 de x = 0 a x = 4 usando um tamanho de passo de 0,5. A condição inicial em x = 0 é y = 1. Aula 6 – Resolução de EDOs Cálculo Numérico 45/58 Exemplo 4 ¨ Comparação da solução verdadeira com soluções numéricas usando três métodos de RK de 2a ordem e o método de Euler. y ' = −2x3 +12x2 − 20x +8,5 Aula 6 – Resolução de EDOs Cálculo Numérico 46/58 Métodos de R-K de Quarta Ordem ¨ São os métodos de Runge-Kutta . ¨ Assim como os de segunda e terceira ordem, existe um número de versões. ¨ O método de RK de é parecido com a abordagem de Heun, no fato que são desenvolvidas para se chegar a uma inclinação média melhorada no intervalo. Aula 6 – Resolução de EDOs Cálculo Numérico 47/58 Métodos de R-K de Quarta Ordem ¨ Inclinações Estimadas: Aula 6 – Resolução de EDOs Cálculo Numérico 48/58 Método de R-K de 4a Ordem Clássico em que: yi+1 = yi + h 6 k1 + 2k2 + 2k3 + k4( ) k1 = f xi, yi( ) k2 = f xi + 12 h, yi + 1 2 k1h ! " # $ % & k3 = f xi + 1 2 h, yi + 1 2 k2h ! " # $ % & k4 = f xi + h, yi + k3h( ) Aula 6 – Resolução de EDOs Cálculo Numérico 49/58 ¨ Use o método de Runge-Kutta de quarta ordem clássico para integrar: de x = 0 a 0,5, utilizando um tamanho de passo h = 0,5 e uma condição inicial de y = 2 em x = 0. Exemplo 6 y ' x, y( ) = 4e0,8x − 0,5y Aula 6 – Resolução de EDOs Cálculo Numérico 50/58 Exercício 2 Aula 6 – Resolução de EDOs Cálculo Numérico 51/58 Sistemas de Equações Aula 6 – Resolução de EDOs Cálculo Numérico 52/58 Sistemas de Equações ¨ É muito comum termos que resolver problemas envolvendo um sistema de equações diferenciais ordinárias ao invés de uma única equação. ¨ Para resolvê-los, qualquer um dos métodos apresentados aqui pode ser aplicado. ¨ Em cada caso, o procedimento para resolver o sistema de EDOs envolve simplesmente a aplicação da técnica de passo único em todas as equações para cada passo, antes de prosseguir para o próximo passo. Aula 6 – Resolução de EDOs Cálculo Numérico 53/58 Exemplo 1 ¨ Resolva o seguinte conjunto de equações diferenciais usando o método de Euler, supondo que, em x = 0, y1 = 4 e y2 = 6. Integre até x = 2 com um tamanho de passo de 0,5. e dy1 dx = −0,5y1 dy2 dx = 4− 0,3y2 − 0,1y1 Aula 6 – Resolução de EDOs Cálculo Numérico 54/58 Método de Euler ¨ A abordagem mais simples de estimativa da inclinação é usar a equação diferencial para obter uma estimativa na forma da primeira derivada em xi. φ = f xi, yi( ) yi+1 = yi +φh Aula 6 – Resolução de EDOs Cálculo Numérico 55/58 Exemplo 1 ¨ Resultados para todos os passos, até x = 2,0. Aula 6 – Resolução de EDOs Cálculo Numérico 56/58 Sistemas de Equações ¨ É preciso tomar cuidado na determinação das inclinações, quando aplicar os métodos de RK de ordem superior, ou seja, primeiro desenvolvemos inclinações para todas as variáveis no valor inicial. Essas inclinações (um conjunto de ki’ s) são, então, usadas para fazer previsões da variável independente no ponto médio do intervalo. Aula 6 – Resolução de EDOs Cálculo Numérico 57/58 Exemplo 2 ¨ Resolva o sistema de equações do exemplo anterior usando o método de R-K de quarta ordem, supondo que, em x = 0, y1 = 4 e y2 = 6. Integre até x = 2 com um tamanho de passo de 0,5. e dy1 dx = −0,5y1 dy2 dx = 4− 0,3y2 − 0,1y1 Aula 6 – Resolução de EDOs Cálculo Numérico 58/58 Método de R-K de 4a Ordem Clássico em que: yi+1 = yi + h 6 k1 + 2k2 + 2k3 + k4( ) k1 = f xi, yi( ) k2 = f xi + 12 h, yi + 1 2 k1h ! " # $ % & k3 = f xi + 1 2 h, yi + 1 2 k2h ! " # $ % & k4 = f xi + h, yi + k3h( ) Aula 6 – Resolução de EDOs Cálculo Numérico 59/58 Exemplo 2 ¨ Resultado para todos os passos, até x = 2,0.