Baixe o app para aproveitar ainda mais
Prévia do material em texto
Métodos Analíticos e Computacionais Modelagem Numérica Capítulo III Resolução Numérica de Problemas de Valor Inicial e de Contorno III.1 – Diferenciação Numérica Dada uma função, cujo gráfico está representado na figura 1. Os pontos definidos pelos pares ordenados (x-h,f(x-h)), (x,f(x)) e (x+h,f(x+h)), são tão próximos quanto se queira de modo que "h", aqui denominado, especialmente, de passo, deverá ser um número pequeno. Figura 1 Assim, sendo IRIR :f , e, h o passo, para se aproximar a primeira e a segunda derivada em "x" pode-se promover a expansão em séries de Taylor: . . .)x('''f 6 h )x(''f 2 h )x('f.h)x(f)hx(f 32 (1) e . . .)x('''f 6 h )x(''f 2 h )x('f.h)x(f)hx(f 32 (2) Resolvendo a primeira série em f’(x) obtém-se a diferença em avanço, que assume a forma: h )x(f)hx(f . . .)x('''f 6 h )x(''f 2 h h )x(f)hx(f )x('f 2 (3) Tal aproximação é de primeira ordem, pois, o maior termo desprezado é O(h). Analogamente, resolvendo-se a segunda série em f’(x) resulta a diferença em atraso: h )hx(f)x(f . . .)x('''f 6 h )x(''f 2 h h )hx(f)x(f )x('f 2 (4) Que também é de primeira ordem. Subtraindo-se a segunda série da primeira e resolvendo o resultado em f’(x) obtém- se a equação da diferença centrada: h2 )hx(f)hx(f . . .)x('''f 6 h h2 )hx(f)hx(f )x('f 2 (5) que é de segunda ordem pois o maior termo desprezado é O(h2). Finalmente, adicionando as duas séries, e, resolvendo-se a expressão resultante em f"(x), obtém-se a equação da diferença centrada para a segunda derivada: 2 )( 2 2 )()(2)( . . .)( 12 )()(2)( )('' h hxfxfhxf xf h h hxfxfhxf xf IV (6) cuja precisão é também de segunda ordem. Problemas Propostos Exemplo 1: Aproxime numericamente a primeira derivada, em x = 1, utilizando o passo h = 0,01, da função real f(x) = e-2x, a partir da: a - ) Diferença em avanço; b - ) Diferença em atraso; e, c - ) Diferença centrada. Exemplo 2: Aproxime numericamente a segunda derivada da função do exemplo 1 no mesmo ponto, e utilizando-se o mesmo passo. Exemplo 3: Avalie o erro cometido nos exemplos 1 e 2, comentando os resultados obtidos. Exemplo 4: Aproxime numericamente a primeira derivada, em x = 1, utilizando o passo h = 0,01, da função real f(x) = x-5, a partir da: a - ) Diferença em avanço; b - ) Diferença em atraso; e, c - ) Diferença centrada. Exemplo 5: Aproxime numericamente a segunda derivada da função do exemplo 4 no mesmo ponto, e utilizando-se o mesmo passo. Exemplo 6: Avalie o erro cometido nos exemplos 4 e 5, comentando os resultados obtidos. III.2 Aplicações em Problemas de Valor Inicial Uma sistemática preliminar para a resolução numérica de problemas de valor inicial e de contorno consiste no emprego das versões numéricas das derivadas que constam da equação diferencial tratada no problema em análise. Seja, por exemplo, uma equação do tipo: 0 Ay dt dy (7) Tal que y = f(t) e, em t = 0, y = f(0) = yo. Para sua resolução numérica podemos substituir a derivada dy/dt, pela versão: w tfwtf tf )()( )(' (8) Resultando: 0)( )()( tAf w tfwtf Ay dt dy (9) Tal expressão pode ser re-arrumada e assumir a forma: )()()( twAftfwtf (10) E a seguir, sob a forma: )()()( tftwAfwtf (11) E, finalmente: )()1()( tfwAwtf (12) Em problemas práticos o que se deseja na maioria dos casos é o conhecimento do valor da função y = f(t), em alguns instantes discretos, t1, t2, . . tn-1, tn, figura 2, igualmente espaçados de um valor “w”. Tal valor pode ser adotado como passo da diferenciação, desde que atenda à precisão desejada. Se assim o for, uma vez conhecido o valor de y em t = 0, como acontece no presente exemplo, pode-se obter o valor de y nos demais instantes, mediante: 01 )1()0()1()0()( ywAfwAwftf (13) )()1()()( 112 tfwAwtftf (14) )()1()()( 11 nnn tfwAwtftf (15) Tendo assim, desta forma, o problema devidamente resolvido. Figura 2 Problemas Propostos Exemplo 7: Encontrar o valor da função y = f(x) em x = 0,01 que satisfaz à equação diferencial dy/dx – 4y = 0, e atende à condição de em x = 0, y = 1 utilizando passo h = 0,01. Exemplo 8: Encontrar o valor da função y = f(x) em x = 0,02 que satisfaz à equação diferencial dy/dx – 2xy = 0, e atende à condição de em x = 0, y = 1, utilizando passo h = 0,01. III.3 – Método de Euler Seja uma equação diferencial do tipo: )y,x(f dx dy sendo y = F(x), figura 2, então pode-se adotar a notação: )b,a(f dx dy by ax )()( aFay ),(.)(.)(.)()()( bafway dx dy way dx dy waFwaywaF by axby ax Desde que "w" e "h" são números tão pequenos quanto convenha, e: 22 hw é o passo da diferenciação. Figura 2 Tratando-se de um problema de valor inicial e desejando-se o valor de “F(x)” em um ponto xp, então, toma-se o intervalo entre x = xo, para o qual F(xo) tem valor conhecido, e, x = xp e o subdivide-se em "n" subintervalos de amplitude "w" tal que: i1i op xx n xx w e, consequentemente: iwxwxx oii 1 Assim: )y,x(f xx yy dx dy oo o1 o1 oyy oxx De modo que se yo = F(xo) então: ),()()(),()()( 1111 oooooooo yxfxxxFyxfxxyyxF ),()()(),()()( 111211112122 yxfxxxFyxfxxyyxF . . . ),()()( ),()()( 1111 1111 ppppp ppppppp yxfxxxF yxfxxyyxF e, uma vez que: wxx...xxxx 1pp12o1 Obtém-se: ),(.)(),(.)( 11 oooooo yxfwxFyxfwyyxF ),(.)(),(.)( 11111122 yxfwxFyxfwyyxF . . . ),(.)(),(.)( 111111 pppppppp yxfwxFyxfwyyxF A curva “F(x)” traçada a partir desses pontos é aproximada por uma série de segmentos de reta, figura 3, conduzindo a erros que serão tanto maiores quanto menor o total de subintervalos, de modo que a sistemática ora apresentada é de eficácia limitada. O valor da função em um ponto yi depende do valor de seus antecessores y1, y2, . . .,yi-1, assim como afeta seus sucessores yi+1, yi+2, yp, resultando em propagação de erros. O método será estável se os erros cometidos no início do processo, embora mantidos, não promoverem erros nos passos seguintes, sendo instável se, além dos erros transportados, causarem novos erros adiante, frequentemente muito maiores. Figura 3 Problemas Propostos Exemplo 9: Encontrar o valor da função y = f(x) em x = 0,01 que satisfaz à equação diferencial dy/dx – 4y = 0, e atende à condição de em x = 0, y = 1 utilizando passo w = 0,01, através do Método de Euler. Exemplo 10: Encontrar o valor da função y = f(x) em x = 0,02 que satisfazà equação diferencial dy/dx – 2xy = 0, e atende à condição de em x = 0, y = 1, utilizando passo w = 0,01, através do Método de Euler. III.4 – Método de Euler Estendido Sejam as formas: 111 ))((')()( yxxxFxFxF ooo e, 212112 ))((')()( yxxxFxFxF Da primeira iteração resulta valor preciso, pois, o valor correto da função solução em x = xo, F(x0), é dado como condição inicial, de modo que F’(x0) = f(xo,yo), também é calculável diretamente. O mesmo não se pode dizer da segunda iteração, pois, desconhecem-se os valores exatos de F(x1) e, consequentemente, de F’(x1) = f(x1,y1). Assim, para determinarem-se y2, y3, . . ., yn, restaria a alternativa de adoção da forma pouco exata: ))(,( 11 iiiiii xxyxfyy A melhoria de qualidade de resultados poderia ser auferida se F(x1) for aproximada por uma série de Taylor. Desenvolvendo-a com três termos ter-se-ia: 1 2 1 11 2 )( )(''))((')()( y xx xFxxxFxFxF ooooo e: 2 )()],([ ))(,()()( 2 1 11 ooo oooo xx dx yxfd xxyxfxFxF de modo que: dx yxfdw yxfwxFxF ooooo )],([ 2 ),(.)()( 2 1 ou: dx yxfdw yxfwxFxF ooooo )],([ 2 ),(.)()( 1 Generalizando-se para um certo “i”, ter-se-ia a forma: dx yxfdw yxfwxFxF iiiiii )],([ 2 ),(.)()( 1 onde: i i yy xx ii dx yxdf dx yxfd ),()],([ Assim: i i yy xx iiii dx yxdfw yxfwxFxF )],( 2 ),(.)()( 1 Uma vez que “f” é função tanto de “x” quanto de “y” faz-se necessária a diferenciação total, que deve ser realizada na forma: dx dy y )y,x(f x )y,x(f dx dy y )y,x(f dx dx x )y,x(f dx )y,x(df A extensão da série para um número maior de termos exige diferenciação mais complexa, tornando o procedimento pouco prático. O método de Euler Padrão é equivalente a tomar-se a série até o termo de primeira derivada sendo conhecido como método de primeira ordem. A versão abordada nesta seção representa um método de segunda ordem. Problemas Propostos: Exemplo 11: Encontrar o valor da função y = f(x) em x = 0,01 que satisfaz à equação diferencial dy/dx – 4y = 0, e atende à condição de em x = 0, y = 1 utilizando passo w = 0,01, através do Método de Euler Estendido. Exemplo 12: Encontrar o valor da função y = f(x) em x = 0,02 que satisfaz à equação diferencial dy/dx – 2xy = 0, e atende à condição de em x = 0, y = 1, utilizando passo w = 0,01, através do Método de Euler Estendido. III.5 – Método de Euler Modificado O método ora abordado utiliza-se do valor médio da derivada. Nele, o Método de Euler Padrão é utilizado para o cálculo do valor provisório y'i+1 da função em x = xi+1. O valor de y'i+1 assim calculado representa uma predição para o valor final definitivo yi+1. A partir do par (xi+1, y'i+1), obtém-se o valor da derivada f(xi+1, y'i+1), conforme a equação diferencial original, objeto de cálculo, e, daí a média aritmética das duas derivadas, f(xi,yi) e f(xi+1, y'i+1), que será utilizada para o cálculo do valor mais exato de yi+1. Em outras palavras, considerando-se a derivada a partir da equação diferencial objeto de resolução na forma: )y,x(f dx dy adota-se para preditor, em x = x1, o valor: ),(.)())(,(' 11 ooooooo yxfwxFxxyxfyy de modo que: oyy oxx oo dx dy )y,x(f Para o y'1 assim calculado obtém-se: 1'yy 1xx 11 dx dy )'y,x(f Obtém-se a média aritmética das duas derivadas a partir de: 2 )'y,x(f)y,x(f 2 dx dy dx dy M 11oo1 'yy 1xx oyy oxx der e, finalmente, obtém-se F(x1) = y1 a partir da equação: deroodero MwxFxxMyxF .)()()( 11 Para a obtenção de y2 repete-se o mesmo procedimento, ou seja, adota-se para preditor em x = x2 o valor: ),(.)())(,()(' 111121112 yxfwxFxxyxfxFy de modo que: 1yy 1xx 11 dx dy )y,x(f Para o y'2 assim calculado obtém-se: 2'yy 2xx 22 dx dy )'y,x(f Determina-se então a média aritmética das duas derivadas a partir de: 2 )'y,x(f)y,x(f 2 dx dy dx dy M 221112 'yy 2xx 1yy 1xx der e, assim, obtém-se y2 = F(x2) a partir da equação: derder MwxFxxMyxF .)()()( 11212 e, de um modo geral, para o ponto de ordem "i", adotar-se-ia em x = xi o preditor: ),(.)())(,(' 1111111 iiiiiiiii yxfwxFxxyxfyy De modo que: 1 1 ),( 11 i i yy xxii dx dy yxf Para o y'i assim calculado obtém-se: iyy ixx ii dx dy )'y,x(f E a média das duas derivadas a partir de: 2 )'y,x(f)y,x(f 2 dx dy dx dy M ii1i1ii 'yy ixx 1iyy 1ixx der e, finalmente, o valor definitivo de yi a partir da equação: deriiiderii MwxFxxMyxF .)()()( 111 Problemas Propostos: Exemplo 13: Encontrar o valor da função y = f(x) em x = 0,01 que satisfaz à equação diferencial dy/dx – 4y = 0, e atende à condição de em x = 0, y = 1 utilizando passo w = 0,01, através do Método de Euler Modificado. Exemplo 14: Encontrar o valor da função y = f(x) em x = 0,02 que satisfaz à equação diferencial dy/dx – 2xy = 0, e atende à condição de em x = 0, y = 1, utilizando passo w = 0,01, através do Método de Euler Modificado. III.5 – Método de Runge-Kutta Segundo este método o intervalo entre x = xo e x = xp é dividido em “n” subintervalos, e, em cada subintervalo assim obtido efetua-se a iteração: )kk2k2k( 6 1 )x(F )kk2k2k( 6 1 y)x(F'y 43211i 43211iii )y,x(f.wk ii1 )k 2 1 y,w 2 1 x(f.wk 1ii2 )k 2 1 y,w 2 1 x(f.wk 2ii3 )ky,wx(f.wk 3ii4 A vantagem deste método sobre os de Euler é a melhor exatidão e a simplicidade para estruturação do algoritmo correspondente. Pode ser apresentado em versões de variadas ordens. A versão ora apresentada é a versão de quarta ordem. O estudante interessado em sua dedução pode recorrer a livros de métodos computacionais de autores tradicionais. Tal dedução será evitada neste texto, haja vista que o volume de transformações envolvido foge ao escopo deste trabalho. Como se pode observar, este método é de múltiplos passos uma vez que utiliza-se dos pontos xi, xi + w/2 e xi + w, muito embora seus passos intermediários sejam autogerados. Problemas Propostos: Exemplo 15: Encontrar o valor da função y = f(x) em x = 0,01 que satisfaz à equação diferencial dy/dx – 4y = 0, e atende à condição de em x = 0, y = 1 utilizando passo w = 0,01, através do Método de Runge-Kutta. Exemplo 16: Encontrar o valor da função y = f(x) em x = 0,02 que satisfaz à equação diferencial dy/dx – 2xy = 0, e atende à condição de em x = 0, y = 1, utilizando passo w = 0,01, através do Método de Runge-Kutta. III.6 – Problemas Envolvendo Equações de Segunda Ordem O problema pode ser resolvido de maneira análoga àquela apresentada na seção III.2. Por outro lado, pode-se partir da filosofia adotada no método de Euler. Assim sendo, seja a equação diferencial: )y,x(h dx dy a dx yd 12 2 Que pode ser reescrita sob a forma: )'y,y,x(g dx yd2 2 Podemos efetuar a seguinte mudança de variáveis: dx dy 'yz E fazer: )z,y,x(fz dx dy Consequentemente: 2 2 dx yd dx dz 'z Considerando-se: )z,y,x(g dx dz De modo que fica estabelecido o sistema de duas equações de primeira ordem: )z,y,x(f dx dy )z,y,x(g dx dz E, finalmente, para concluir a resolução do problema, podemos usar qualquer dos métodos aplicados à resolução numérica de equações diferenciais apresentados nas seções anteriores. Adotando-se o método de Euler Padrão, por exemplo, resultariam as formas de recorrência: )zy,x(f.wyy i,iii1i )zy,x(g.wzz i,iii1i Optando-se por outro método adota-se filosofia semelhante. Introduzir Exercícios propostos.
Compartilhar