Baixe o app para aproveitar ainda mais
Prévia do material em texto
EQUAÇÕES DIFERENCIAIS ORDINÁRIAS DE 1a ORDEM MÉTODOS NUMÉRICOS 2 11 – MÉTODOS NUMÉRICOS P/ EDOS de 1a ORDEM • Quando uma fórmula explícita não puder ser obtida para a solução de uma EDO, ou quando a mesma é muito complicada, empregam- se métodos numéricos para o cálculo aproximado da solução. • O método de iteração de Picard é capaz de fornecer soluções aproximadas para EDOs, no entanto, não é interessante uma vez que o procedimento iterativo deve ser repetido para cada ponto x em que se desejar a solução. A - MÉTODOS PASSO A PASSO • Métodos passo a passo são os métodos que a partir da condição inicial, y0 = y(x0) e, procedendo sob um processo de marcha (passo a passo), calculam valores aproximados da solução y(x) nos vários pontos nodais de uma malha previamente escolhida. 3 • Por exemplo, para um problema unidimensional, a malha espacial pode ser obtida empregando-se um passo uniforme h (conforme figura), de forma que: 1 0 2 0 3 0; 2 ; 3x x h x x h x x h= + = + = + 4 - MÉTODO DE EULER • A idéia de obtenção da solução é obtida a partir da definição da expansão de uma função em torno de um ponto (Série de Taylor): 2 ( ) ( ) '( ) ''( ) 2 hy x h y x hy x y x+ = + + +" (1) • Para pequenos valores de h, as potências h2, h3, …, são muito pequenas. Logo sugere-se que a expansão seja: ( ) ( ) '( )y x h y x h y x+ ≅ + (2) '( ) ( , )y x f x y=• Da equação diferencial: ( ) ( ) ( , )y x h y x h f x y+ ≅ + (3) 5 • A expressão anterior sugere o seguinte procedimento de marcha a) No primeiro passo, a partir da informação em x = x0: 1 0 0 0( , )y y h f x y= + (4) 1 0( ) ( )y x y x h= +- Que é uma aproximação para: b) No segundo passo, a partir da aproximação anterior: 2 1 1 1( , )y y h f x y= + (5) 2 0( ) ( 2 )y x y x h= +- Que é uma aproximação para: 6 c) De uma maneira gera, o método é escrito como: 1 ( , )n n n ny y h f x y+ = + (6) • Geometricamente, o método é uma aproximação da curva y(x) por um polígono cujo 1o lado é tangente à curva em x0 (figura abaixo). 7 Observações: • Obviamente, este método não é usado na prática, pois o erro introduzido ao longo do procedimento de marcha cresce com o acréscimo da coordenada de marcha. • No entanto, ele explana claramente o princípio dos métodos baseados em Série de Taylor. • O método de Euler pertence à classe de métodos numéricos denominados de métodos de 1a ordem, pois a expansão foi truncada no termo contendo apenas a primeira potência de h. • A omissão dos outros termos causa um erro, o qual é denominado de erro de truncamento. • Caso mais termos sejam retidos na expansão, métodos numéricos de ordens mais elevadas e mais precisos são obtidos. 8 Exemplo 1: Método de Euler Aplique o Método de Euler para o seguinte PVI escolhendo uma malha com h = 0.2. ' ; (0) 0y x y y= + = Solução: ( , ) ; 0.2f x y x y h= + =- Para este problema: - Logo, a Eq. (3) torna-se: 1 0.2( )n n n ny y x y+ = + + - A aproximação acima é comparada com a solução exata (como?) e os resultados são mostrados na tabela a seguir: ( ) 1xy x e x= − − 9 Tabela 1 - Método de Euler ' ; (0) 0y x y y= + = n xn yn 0.2(xn + yn) Solução Exata Erro 0 0.0 0.000 0.000 0.000 0.000 1 0.2 0.000 0.040 0.021 0.021 2 0.4 0.040 0.088 0.092 0.052 3 0.6 0.128 0.146 0.222 0.094 4 0.8 0.274 0.215 0.426 0.152 5 1.0 0.489 ------ 0.718 0.229 10 - MÉTODO DE EULER MELHORADO (Heun) • A retenção de mais termos na série, para gerar métodos mais precisos, leva no entanto a alguns problemas práticos. • A substituiçao de y’ = f(x,y) na expansão produz: 2 3 ( ) ( ) ' '' 2 6 h hy x h y x hf f f+ = + + + +" (7) • Observe, porém, que y em f é função de x. Logo: ' 'x y x yf f f y f f f= + = + (8) • As outras derivadas de ordens mais elevadas, f’’, f’’’ tornam-se muito mais complexas e trabalhosas ! 11 • A estratégia é evitar a avaliação de tais derivadas e substituí-la pela avaliação de f apenas, em valores “apropriados” de (x,y). “Apropriados” no sentido de tornar a ordem do método a mais elevada possível. • O primeiro método a utilizar esta estratégia é o denominado Método de Euler Melhorado (Método de Heun). • Em cada passo avalia-se inicialmente um valor auxiliar: * 1 ( , )n n n ny y h f x y+ = + (9)Método de Euler • Em seguida, avalia-se a aproximação final: * 1 1 1( , ) ( , )2n n n n n n hy y f x y f x y+ + +⎡ ⎤= + +⎣ ⎦ (10) 12 • O Método de Euler Melhorado tem uma interpretação física simples: - No intervalo xn para xn + h/2, a solução y é aproximada pela linha reta que passa por (xn, yn) com inclinação f(xn, yn), e então continua-se ao longo de uma linha reta com inclinação f(xn+1, y*n+1) até que se alcance a posição xn+1 em x. 13 Observações: • É um Método Preditor-Corretor, pois em cada passo da malha, primeiro se prever um valor com a Eq. (9) , posteriormente se corrige pela Eq. (10). • É um Método de Segunda Ordem, pois o erro de truncamento é da ordem de h3. Algorítmo do Método de Euler Melhorado • O algorítmo avalia a solução do PVI y’ = f(x,y), y(x0) = y0 em pontos equidistantes x1 = x0 + h, x2 = x0 + 2h, …, xN = x0 + Nh. 14 • ENTRADA: Valores iniciais de x0, y0, h e número de passos N. • SAIDA: Aproximação yn+1 para a solução y(xn+1) em xn+1 = x0 + (n+1)h, onde n = 0, …, N-1. xn = x0 yn = y0 LOOP: n = 0, 1, …, N-1 xn+1 = xn + h k1 = h f(xn, yn) k2 = h f(xn+1, yn+ k1) yn+1 = yn + (k1+ k2)/2 Imprime xn+1 e yn+1 xn = xn+1 yn = yn+1 FIM LOOP FIM (Euler Melhorado) 15 Exemplo 2: Método de Euler Melhorado Aplique o Método de Euler Melhorado para o PVI do exemplo anterior sob as mesmas condições de malha. Solução: ( , ) ; 0.2f x y x y h= + =- Para este problema: - Logo, do algorítmo: 1 0.2( )n nk x y= + [ ]2 0.2 0.2 0.2( )n n n nk x y x y= + + + + [ ]1 0.2 2.2 2.2 0.22n n n ny y x y+ = + + + 1 0.22( ) 0.02n n n ny y x y+ = + + + 16 Tabela 2 - Método de Euler Melhorado ' ; (0) 0y x y y= + = n xn yn 0.22(xn + yn) + 0.02 Solução Exata Erro 0 0.0 0.0000 0.0200 0.0000 0.0000 1 0.2 0.0200 0.0684 0.0214 0.0014 2 0.4 0.0884 0.1274 0.0918 0.0034 3 0.6 0.2158 0.1995 0.2221 0.0063 4 0.8 0.4153 0.2874 0.4255 0.0102 5 1.0 0.7027 ------ 0.7183 0.0156 17 - MÉTODO DE RUNGE-KUTTA • Um dos métodos de maior aplicação prática. • Em cada passo deve-se primeiro calcular quatro quantidades auxiliares k1, k2, k3 e k4, para a partir de então um novo valor yn+1. • Pode ser mostrado que o erro de truncamento é da ordem de h5, logo o é um método de quarta ordem. Algorítmo do Método de Runge-Kutta • O algorítmo avalia a solução do PVI y’ = f(x,y), y(x0) = y0 em pontos equidistantes x1 = x0 + h, x2 = x0 + 2h, …, xN = x0 + Nh. 18• ENTRADA: Valores iniciais de x0, y0, h e N. • SAIDA: Aproximação yn+1 para a solução y(xn+1) em xn+1 = x0 + (n+1)h, onde n = 0, …, N-1. LOOP: n = 0, 1, …, N-1 k1 = h f(xn, yn) k2 = h f(xn + h/2, yn+ k1/2) k3 = h f(xn + h/2, yn+ k2/2) k4 = h f(xn + h, yn+ k3) xn+1 = xn + h yn+1 = yn + (k1+ 2k2 + 2k3 + k4)/6 Imprime xn+1 e yn+1 FIM LOOP FIM (Runge-Kutta) 19 Exemplo 3: Método de Runge-Kutta Aplique o Método de Runge Kutta de 4a Ordem para o PVI do exemplo anterior sob as mesmas condições de malha. Solução: ( , ) ; 0.2f x y x y h= + =- Para este problema: - Logo, do algorítmo: 1 0.2( )n nk x y= + [ ]2 10.2 0.1 0.5n nk x y k= + + + [ ]3 20.2 0.1 0.5n nk x y k= + + + [ ]4 30.2 0.2n nk x y k= + + + - Fazendo as substituições (não recomendadas !): 1 0.2214( ) 0.0214n n n ny y x y+ = + + + 20 Tabela 3 - Método de Runge-Kutta ' ; (0) 0y x y y= + = n xn yn 0.2214(xn + yn) + 0.0214 Solução Exata Erro (x106) 0 0.0 0.000 000 0.021 400 0.000 000 0 1 0.2 0.021 400 0.070 418 0.021 403 3 2 0.4 0.091 818 0.130 289 0.091 825 7 3 0.6 0.222 107 0.203 414 0.222 119 11 4 0.8 0.425 521 0.292 730 0.425 541 20 5 1.0 0.718 251 ------ 0.718 282 31 21 Tabela 4 - Erro Produzido pelos 3 Métodos ' ; (0) 0y x y y= + = Erro n xn Solução Exata Euler EulerMelhorado Runge- Kutta 1 0.2 0.021 403 0.021 0.0014 0.000 003 2 0.4 0.091 825 0.052 0.0034 0.000 007 3 0.6 0.222 119 0.094 0.0063 0.000 011 4 0.8 0.425 541 0.152 0.0102 0.000 020 5 1.0 0.718 282 0.229 0.0156 0.000 031
Compartilhar