DMPA IM UFRGS Cálculo Numérico
Índice 1 2 3
Nesta seção vamos desenvolver métodos para estimar a derivada de uma função f calculada em um ponto x, f x ), a partir de valores conecidos de f em pontos próximos ao ponto x. Uma possível abordagem para encontrar a derivada em um ponto x consiste em determinar uma interpolação polinomial, px), a partir dos valores de f em pontos próximos a x e então estimar f x ) a partir de p x ). Essa abordagem é a mais indicada quando estamos interessados no valor da derivada para diversos pontos ou quando os pontos utilizados para construir a interpolação p não estão igualmente espaçados. Na situação em que a função f é conecida em uma sequência igualmente espaçada de pontos, dispomos de outras técnicas como o cálculo das derivadas a partir de operações de diferença finita.
Nesta seção vamos desenvolver métodos para estimar a derivada de uma função f calculada em um ponto x, f x ), a partir de valores conecidos de f em pontos próximos ao ponto x. Uma possível abordagem para encontrar a derivada em um ponto x consiste em determinar uma interpolação polinomial, px), a partir dos valores de f em pontos próximos a x e então estimar f x ) a partir de p x ). Essa abordagem é a mais indicada quando estamos interessados no valor da derivada para diversos pontos ou quando os pontos utilizados para construir a interpolação p não estão igualmente espaçados. Na situação em que a função f é conecida em uma sequência igualmente espaçada de pontos, dispomos de outras técnicas como o cálculo das derivadas a partir de operações de diferença finita.
Nesta seção vamos desenvolver métodos para estimar a derivada de uma função f calculada em um ponto x, f x ), a partir de valores conecidos de f em pontos próximos ao ponto x. Uma possível abordagem para encontrar a derivada em um ponto x consiste em determinar uma interpolação polinomial, px), a partir dos valores de f em pontos próximos a x e então estimar f x ) a partir de p x ). Essa abordagem é a mais indicada quando estamos interessados no valor da derivada para diversos pontos ou quando os pontos utilizados para construir a interpolação p não estão igualmente espaçados. Na situação em que a função f é conecida em uma sequência igualmente espaçada de pontos, dispomos de outras técnicas como o cálculo das derivadas a partir de operações de diferença finita.
Notação O Notação O ) A notação f x) = O gx)) quando x x 0 significa que existem constantes positivas ε e δ tais que f x) δ gx) para todo x no intervalo x x 0 ε. A mesma notação utilizada na situação x ou ) siginifica que existem constantes δ > 0 e x > 0 respectivamente x < 0) tal que a mesma desigualdade é válida para todo x > x respectivamente x < x).
A partir da definição da função f x) através do limite f f x + ) f x) x) = lim, 0 introduzimos a operação de diferença finita D +,, que transforma f em uma nova função g = D +, f ) : g x) = D +, f ) x) := No limite recuperamos a função derivada de f, f x + ) f x).op. diferença anterior) lim g x) = f x). 0
A função derivada de f pode ser definida a partir de outros limites e assim, determinar outras operações de diferença finita), por exemplo f x) = lim 0 f x) f x ) ou ainda f f x + ) f x ) x) = lim. 0 2
A função derivada de f pode ser definida a partir de outros limites e assim, determinar outras operações de diferença finita), por exemplo ou ainda f x) = lim 0 f x) f x ) f f x + ) f x ) x) = lim. 0 2 A cada uma dessas definições podemos associar naturalmente uma operação de diferença finita. A partir dos dois últimos limites, associamos as operações D, e D 0, : D, f ) x) := D0, f ) x) := f x) f x ),op. diferença posterior) f x + ) f x ),op. diferença central). 2
Erros de truncamento A diferença entre D +, f ) x) e f x) é dada por D+, f ) x) f x) = f x + ) f x) f x). Através da expansão em série de Taylor em torno de = 0 para f x + ), notamos que a diferença assume a forma
Erros de truncamento A diferença entre D +, f ) x) e f x) é dada por D+, f ) x) f x) = f x + ) f x) f x). Através da expansão em série de Taylor em torno de = 0 para f x + ), notamos que a diferença assume a forma D+, f ) x) f x) = f x) + f x) + 2 2 f x) + O 3 ) f x) f x) = 2 f x) + O 2 ) = O).
Erros de truncamento A diferença entre D +, f ) x) e f x) é dada por D+, f ) x) f x) = f x + ) f x) f x). Através da expansão em série de Taylor em torno de = 0 para f x + ), notamos que a diferença assume a forma D+, f ) x) f x) = f x) + f x) + 2 2 f x) + O 3 ) f x) f x) = 2 f x) + O 2 ) = O). De modo análogo, a diferença entre a operação D, e a derivada f x) também é O). Porém, a diferença entre a operação D 0, f e f x) é O 2 ):
Erros de truncamento D0, f ) x) f x) = = = f x + ) f x ) f x) 2 ) 1 [f x) + f x) + 2 2 2 f x) + O 3 ) )] f x) + )f x) + )2 f x) + O 3 ) f x) 2 1 [ 2f x) + O 3)] f x) 2 = O 2 ).
Erros de truncamento Exemplo Vamos estudar a derivação numérica da função exponencial f x) = e x, em particular f 1) = e = 2.718281... De acordo com a definição dos operadores de diferença finita podemos montar a seguinte tabela: g +, 1) g, 1) g 0, 1) g +, 1) e g, 1) e g 0, 1) e 0.4 3.3423 2.2404 2.791352 0.624-0.478 0.0731 0.2 3.0092 2.4637 2.736440 0.291-0.254 0.0182 0.1 2.8588 2.5865 2.722815 0.141-0.131 0.00453 0.05 2.7874 2.6514 2.719414 0.0691-0.0669 0.00113 onde g +, x) = D +, f ) x) e a mesma notação é utilizada nas demais aproximações.
Erros de arredondamento Vamos tomar como exemplo a operação de diferença finita D +, : D+, f ) x) = f x + ) f x) = f 1 f 0, onde, por economia de notação, representamos f x + ) = f 1 e f x) = f 0.
Erros de arredondamento Vamos tomar como exemplo a operação de diferença finita D +, : D+, f ) x) = f x + ) f x) = f 1 f 0, onde, por economia de notação, representamos f x + ) = f 1 e f x) = f 0. Se a operação for realizada em uma máquina, tipicamente, os valores f 1 e f 0 serão representados por pontos flutuantes ˆf 1 e ˆf 0 respectivamente.
Erros de arredondamento Vamos tomar como exemplo a operação de diferença finita D +, : D+, f ) x) = f x + ) f x) = f 1 f 0, onde, por economia de notação, representamos f x + ) = f 1 e f x) = f 0. Se a operação for realizada em uma máquina, tipicamente, os valores f 1 e f 0 serão representados por pontos flutuantes ˆf 1 e ˆf 0 respectivamente. Internamente a função D +, f ) x) é representada ) pelo resultado das operações em ponto flutuante ˆf 1 ˆf 0.
Erros de arredondamento Levando em conta que ˆf 1 f 1 δ e ˆf 0 f 0 δ, a diferença entre o valor da derivada de f em x e o ponto flutuante ˆf1 ˆf ) 0 é dada em valor absoluto por f x) ˆf 1 ˆf 0 = = f x) ˆf 1 ˆf 0 + f 1 f 1 f x) f 1 f 0 ˆf 1 f 1 f x) f 1 f 0 + ˆf 1 f 1 c 1 + K + f 0 f 0 + ˆf 0 f 0 ˆf1 f 1 + ˆf0 f 0 ) + ˆf 0 f 0 c 1 + K δ.
Extrapolação de Ricardson Vamos rever o caso do operador de diferença finita D 0, com um maior número de termos na expansão: D0, f ) x). = f x + ) f x ) 2 = f x) + c 2 2 + O 4 ) onde c 2 = f 3) x), ou seja, c 2 independe de. 3!
Extrapolação de Ricardson Vamos rever o caso do operador de diferença finita D 0, com um maior número de termos na expansão: D0, f ) x). = f x + ) f x ) 2 = f x) + c 2 2 + O 4 ) onde c 2 = f 3) x), ou seja, c 2 independe de. 3! Dessa forma, a operação de diferença finita com espaçamento 2, D0,2 f ) x), é tal que D0,2 f ) x). = f x + 2) f x 2) 22) = f x) + c 2 2) 2 + O 4 ).
Extrapolação de Ricardson A diferença entre a ação dessas duas operações aplicadas a uma função f pode ser descrita na segunda ordem em como D0,2 f ) x) D 0, f ) x) = 3c 2 2 + O 4 ). Ou seja, é possível descrever o termo c 2 2 através das duas operações de diferença finita mais termos de ordem 4 : c 2 2 D0,2 f ) x) D 0, f ) x) = + O 4 ). 3 A substituição desse último termo em qualquer das aproximações para a derivada de f resulta em uma operação de diferença finita envolvendo cinco pontos : x 2,x,x,x + e x + 2:
Extrapolação de Ricardson f x) = D 0, f ) D0,2 f ) x) D 0, f ) x) x) + O 4 ) 3 = 4 D 0, f ) x) D 0,2 f ) x) 3. = D 1, f ) x) + O 4 ). + O 4 )
Extrapolação de Ricardson f x) = D 0, f ) D0,2 f ) x) D 0, f ) x) x) + O 4 ) 3 = 4 D 0, f ) x) D 0,2 f ) x) 3. = D 1, f ) x) + O 4 ). + O 4 ) Essa técnica é denominada extrapolação de Ricardson, através dela é possível construir operações de diferença finita com maior precisão.
Extrapolação de Ricardson No exemplo que acabamos de estudar: D1, f ) x). = 4 D 0, f ) x) D 0,2 f ) x) 3 = f x + 2) + 8f x + ) 8f x ) + f x 2). 12
Extrapolação de Ricardson No exemplo que acabamos de estudar: D1, f ) x). = 4 D 0, f ) x) D 0,2 f ) x) 3 = f x + 2) + 8f x + ) 8f x ) + f x 2). 12 A diferença anterior pode ser escrita como f x) D 1, f ) x) = c 4 4 + O 6 ), onde c 4 é também um termo que independe de.
Extrapolação de Ricardson No exemplo que acabamos de estudar: D1, f ) x). = 4 D 0, f ) x) D 0,2 f ) x) 3 = f x + 2) + 8f x + ) 8f x ) + f x 2). 12 A diferença anterior pode ser escrita como f x) D 1, f ) x) = c 4 4 + O 6 ), onde c 4 é também um termo que independe de. E assim considerando a operação com espaçamento duplo D 1,2 f ) x) = f x) + c 4 2) 4 + O 6 ) podemos dar prosseguimento a extrapolação e determinar a operação D 2, tal que e f x) D 2, f ) x) = O 6 ). D2, f ) x). = 16 D 1, f ) x) D 1,2 f ) x) 15