Erros nas aproximações numéricas Prof. Emílio Graciliano Ferreira Mercuri Departamento de Engenharia Ambiental - DEA, Universidade Federal do Paraná - UFPR emilio@ufpr.br 4 de março de 2013 Resumo: O objetivo da aula é apresentar uma introdução aos métodos aproximados para resolver equações diferenciais ordinárias. Introdução O roteiro da aula deverá seguir os seguintes tópicos: Entrega dos Trabalhos em dupla Relatório em formato de artigo. Artigo científico pesquisado. Erros em aproximações numéricas. Para o dia 18/03/2013 deverão ser entregues: Exercícios passados em aula. Estudo e reprodução de resultado do artigo. 1
Aproximações Numéricas Considere novamente o problema de valor inicial (PVI) representado por uma equação diferencial de primeira ordem: e condição inicial dy dt = f(t, y) (1) y(t 0 ) = y 0 (2) Sendo φ a solução da Equação 1 e tomando a mesma equação no tempo t = t n, obtemos: dφ dt (t n) = f[t n, φ(t n )] (3) A aproximação da derivada pelo quociente de diferenças (para frente) é: φ(t n+1 ) φ(t n ) t n+1 t n f[t n, φ(t n )] (4) Se substituirmos φ(t n+1 ) e φ(t n ) por seus valores aproximados y n+1 e y n e tomando o incremento de tempo h = t n+1 t n, obtemos a fórmula de Euler: y n+1 = y n + f n h (5) Outra maneira de encarar o problema é através da forma integral, ou forma fraca. ou t n+1 t n φ (t) dt = t n+1 t n f[t, φ(t)] dt (6) φ(t n+1 ) = φ(t n ) + f[t, φ(t)] dt (7) t n A integral da Equação 7 representa a área sob a curva da Figura 1 entre t n e t n+1. y (t) t n+1 y = f[t, φ(t)] f[t n, φ(t n )] t n t n+1 t Figura 1: Representação integral do método de Euler
Erros em Aproximações Numéricas Uma questão inerente a uma aproximação numérica é a convergência do método escolhido. Definição Informal 1. A convergência de um método aproximado mede o quão perto a sequência da solução numérica se aproxima da solução exata, a medida que o tamanho dos passos h diminui. Quão pequeno o tamanho dos passos tem de ser para garantir um determinado nível de precisão? Em alguns casos, se o tamanho dos passos for muito pequeno o método pode até perder precisão. O conteúdo a seguir pode ser encontrado em [Boyce and DiPrima, 1970]. Existem duas fontes fundamentais de erro: Erro de truncamento Supondo que estamos trabalhando com precisão absoluta (número infinito de casas decimais). O erro de truncamento global E n é: sendo φ(t n ) a solução exata e y n a solução aproximada. Causas: E n = φ(t n ) y n (8) Em cada passo usa-se a fórmula aproximada para encontrar y n+1. Os dados de entrada em cada passo não estão corretos, ou seja, y n φ(t n ). Se supusermos que y n = φ(t n ), então o erro efetuado em cada passo é devido ao uso de uma fórmula aproximada. E o erro de truncamento local e n é definido como: e n = φ(t n ) y n (9) Erro de arredondamento Ao efetuar cálculos com um número finito de dígitos gera-se um erro de arredondamento R n. R n = y n Y n (10) sendo Y n o valor computado de fato pelo método numérico (p. ex. em um computador). Valor absoluto do erro O valor absoluto do erro total em se calcular φ(t n ) é dado por: φ(t n ) Y n = φ(t n ) Y n + y n y n = [φ(t n ) y n ] + [y n Y n ] (11) Usando a desigualdade triangular: φ(t n ) Y n φ(t n ) y n + y n Y n E n + R n (12) O erro total é limitado pela soma dos valores absolutos dos erros de truncamento e de arredondamento. Exercício 1. Mostrar que o erro de truncamento local do método de euler é dado pela expressão e n+1 = φ(t n+1 ) y n+1 = 1 2 φ ( t n )h 2. Sendo t n < t n < t n+1.
Erro de truncamento local para o Método de Euler Considere o problema ilustrativo: y =1 t + 4y y(0) =1 no intervalo 0 t 2. Seja y = φ(t) a solução do PVI. (13) Calculando as derivadas: φ(t) = 1 4 t 3 16 + 19 16 e4t (14) φ (t) = 1 4 + 419 16 e4t (15) φ (t) = 19e 4t (16) O erro de truncamento local do método de euler é e n+1 = 1 2 φ ( t n )h 2, portanto: 19e4 t n h 2 e n+1 =, t n < t n < t n + h (17) 2 Exercício 2. Calcular o erro de truncamento local do método de euler do problema de cada dupla, e fazer um gráfico desse erro em função do tempo, usando t n = t n + h 2. Exercício 3. (Questão Bonus) Calcular o tamanho do passo em cada iteração do método de Euler utilizando a fórmula e n+1 = 1 2 φ ( t n )h 2 para um erro e n+1 = 0.00001. Um método onde se varia o tamanho do passo é dito adaptativo.
Aprimoramentos no Método de Euler Analisando novamente a forma fraca da equação estudada anteriormente: φ(t n+1 ) = φ(t n ) + t n+1 t n f[t, φ(t)] dt (18) Ao invés de usar o método de Euler vamos aproximar o integrando pela média de seus valores nas duas extremidades. Esse método fornece um resultado mais preciso pois estima a área embaixo da curva da Figura 2 pela área do trapézio entre t n e t n+1. y (t) f[t n+1, φ(t n+1 )] y = f[t, φ(t)] f[t n, φ(t n )] 1 {f[t 2 n, φ(t n )] + f[t n+1, φ(t n+1 )]} t n t n+1 t Figura 2: Representação integral do método de Euler aprimorado. Substituindo φ(t n+1 ) e φ(t n ) pelos seus valores aproximados y n e y n+1, obtemos: y n+1 = y n + f(t n, y n ) + f(t n+1, y n+1 ) h (19) 2 A incógnita y n+1 aparece nos dois lados da equação, o que caracteriza um problema implícito. Para resolver isso basta utilizar a aproximação de Euler no lado direito da equação: ou y n+1 = y n + f(t n, y n ) + f(t n + h, y n + hf n ) h (20) 2 y n+1 = y n + f n + f(t n + h, y n + hf n ) h (21) 2 Essa fórmula é conhecida como fórmula de Euler aprimorada ou fórmula de Heun. Para resolver o problema com a fórmula de Heun devemos primeiro calcular y n + hf n (fórmula de euler) e, depois, usar esse resultado para calcular y n+1. Exercício 4. Utilizar a fórmula de Heun para resolver o problema já resolvido pelo método de Euler.
O Método de Runge-Kutta Os métodos de Euler e Euler aprimorados têm erros de truncamento locais proporcionais a h 2 e h 3, respectivamente, e pertencem à classe de métodos de Runge-Kutta. O método clássico de Runge-Kutta de quarta ordem tem um erro de truncamento local proporcional a h 5, ou seja, é duas ordens de grandeza mais preciso do que o método de Euler aprimorado. A fórmula de Runge-Kutta envolve uma média ponderada de valores de f(t, y) em pontos diferentes no intervalo t n t t n+1. Pode ser escrita por: ( ) kn1 + 2k n2 + 2k n3 + k n4 y n+1 = y n + h (22) 6 sendo k n1 = f(t n, y n ), k n2 = f(t n + 1 2 h, y n + 1 2 hk n1), k n3 = f(t n + 1 2 h, y n + 1 2 hk n2), k n4 = f(t n + h, y n + hk n3 ). A soma (k n1 + 2k n2 + 2k n3 + k n4 )/6 pode ser interpretada como um coeficiente angular médio. Tabela 1: Algoritmo do Método de Runge-Kutta Passo 1. Defina f(t, y) Passo 2. Insira os valores iniciais t 0 e y 0 Passo 3. Insira o tamanho do passo h e o número de passos n Passo 4. Escreva t 0 e y 0 Passo 5. Para j de 1 até n Calcule Passo 6. k1 = f(t, y) k2 = f(t + 0.5 h, y + 0.5 h k1) k3 = f(t + 0.5 h, y + 0.5 h k2) k4 = f(t + h, y + h k3) y = y + (h/6) (k1 + 2 k2 + 2 k3 + k4) t = t + h Passo 7. Escreva t e y Passo 8. Fim
Sistema de equações diferenciais acopladas A seguir são apresentados os problemas para cada dupla. Modelo de Lotka-Volterra O modelo ecológico de Lotka-Volterra representa a coexistência de duas espécies, uma espécie representado o predador e a outra a presa. As equações governando a evolução das populações da presa x(t) e do predador y(t) são apresentadas abaixo: dx = µ(1 y)x, dt (23) dy dt = ν(1 x)y onde µ e ν são constantes empíricas positivas. Modelo de Streeter-Phelps O modelo clássico de Streeter-Phelps é o sistema de equações: sendo: t o tempo. dl dt = k 1L, dd dt = k 1L k 2 D (24) L a demanda bioquímica de oxigênio (DBO) expressa em unidades de oxigênio (a massa de oxigênio dissolvido que é necessária para neutralizar completamente a matéria orgânica dissolvida em um volume unitário). D é o déficit de oxigênio dissolvido, ou seja, a diferença entre o oxigênio dissolvido em um ponto e o oxigênio de saturação do mesmo ponto. k 1 taxa de reareação. k 2 taxa de oxidação. Modelo da temperatura de um lago com rio a montante de temperatura variável Mesmo modelo visto anteriormente, porém com a temperatura do rio a montante variável. dt dt = T (t)v i + v e V L d 2 T e dt + T 2 e = T média + v it i + v e T e V L (25)
Referências [Boyce and DiPrima, 1970] Boyce, W. E. and DiPrima, R. C. (1970). Equações Diferenciais Elementares e Problemas de Valor de Contorno. LTC, J. Wiley New York, 8 edition.