Diferenciación Numérica Computación / Matemáticas MA2008 Computación / Matemáticas Diferenciación Numérica Diferenciación Numérico La derivada de la función f (x) en x = xo es por definición matemática: f (xo + h) − f (xo ) f 0 (xo ) = lim h→0 h aunque esta fórmula da una manera obvia de generar una aproximación de f 0 (xo ) dándo valores de paqueños de h y calcular f (xo + h) − f (xo ) h tenemos el problema de que f (xo + h) y f (xo ) tendrán valores muy cercanos y en la operación de resta en la computadora habrá pérdidas de cı́fras significativas. Computación / Matemáticas Diferenciación Numérica Fórmulas alternativas de aproximación Usando polinomios de Lagrange de ajuste a tres puntos (sección 3.1) para aproximar f 0 (xo ): Teniendo como datos tres puntos igualmente espaciados en x (h es el paso): f 0 (xo ) = f 0 (xo ) = f 0 (xo ) = 1 2h 1 2h 1 2h 2 (−3 f (xo ) + 4 f (xo + h) − f (xo + 2 h)) + h3 f (3) (ξo ) 2 (−f (xo − h) + f (xo + h)) − h6 f (3) (ξ1 ) 2 (f (xo − 2 h) − 4 f (xo − h) + 3 f (xo )) + h3 f (3) (ξo ) Computación / Matemáticas Diferenciación Numérica Fórmulas alternativas de aproximación Usando polinomios de Lagrange de ajuste a cinco puntos (sección 3.1) para aproximar f 0 (xo ): Teniendo como datos tres puntos igualmente espaciados en x (h es el paso): f 0 (xo ) = 1 12 h (f (xo − 2 h) − 8 f (xo − h) +8 f (xo + h) − f (xo + 2 h)) + f 0 (xo ) = 1 12 h f 0 (xo ) = 1 12 h h4 30 f (5) (ξ) (−25 f (xo ) + 48 f (xo + h) − 36 f (xo + 2 h) 4 +16 f (xo + 3 h) − 3 f (xo + 4 h)) + h5 f (5) (ξ1 ) (+25 f (xo ) − 48 f (xo − h) + 36 f (xo − 2 h) 4 −16 f (xo − 3 h) + 3 f (xo − 4 h)) + h5 f (5) (ξ1 ) Computación / Matemáticas Diferenciación Numérica Ejemplo Considere la función f (x) = e x − 2 x 2 + 3 x − 1. Realice una tabla con los valores de x desde 0.0 hasta 1.0 con un paso de h = 0.1. Determine y aproxime la derivada usando fórmulas de tres y cinco puntos calculando los errores y las cotas para el error. Computación / Matemáticas Diferenciación Numérica Ln,k (x) Sean x0 , x1 ,. . . ,xn un conjunto de valores diferentes, se define Ln,k (x) = (x − x0 )(x − x1 ) · · · (x − xk−1 )(x − xk+1 ) · · · (x − xn ) (xk − x0 )(xk − x1 ) · · · (xk − xk−1 )(xk − xk+1 ) · · · (xk − xn ) Es un polinomio en x que cumple Ln,k (xi ) = 0 para todo i = 0, . . . , n pero diferente de k y Ln,k (xk ) = 1. 1 xk Computación / Matemáticas Diferenciación Numérica Polinomio Interpolante de Lagrange Dados una serie de puntos con diferente abscisa (x0 , y0 ), (x1 , y1 ), . . . , (xn , yn ) el polinomio interpolante de Lagrange de grado n se define como P(x) = y0 · Ln,0 (x) + y1 · Ln,1 (x) + · · · + yn · Ln,n (x) Si las ordenadas de los puntos provienen de una función f (x) que tiene n + 1 derivadas continuas en un intervalo que contiene a los puntos [a, b], entonces para todo x en [a, b] f (x) = n X i=0 f (xi ) Ln,i (x) + f n+1 (ξ(x)) (x − x0 )(x − x1 ) · · · (x − xn ) (n + 1)! Computación / Matemáticas Diferenciación Numérica Fórmula de (n + 1) puntos para aproximar f 0 (x) Derivando la fórmula anterior: f 0 (x) = Pn 0 i=0 f (xi ) Ln,i (x) + Dx f n+1 (ξ(x)) (n+1)! h f n+1 (ξ(x)) (n+1)! i (x − x0 )(x − x1 ) · · · (x − xn )+ Dx [(x − x0 )(x − x1 ) · · · (x − xn )] Evaluando en x = xk y observando que hay términos que se hacen cero en la evaluación: f 0 (xk ) = n X f (xi ) L0n,i (xk ) + i=0 Computación / Matemáticas f n+1 (ξ(x)) (n + 1)! n Y i =0 i 6= k Diferenciación Numérica (xk − xi )