Cap´ıtulo 1 Introducción.
Transcripción
Cap´ıtulo 1 Introducción.
Capı́tulo 1 Introducción. 1 2 CAPÍTULO 1. INTRODUCCIÓN. Capı́tulo 2 Fórmula de Taylor. 3 4 CAPÍTULO 2. FÓRMULA DE TAYLOR. Capı́tulo 3 Interpolación. 3.1. Preliminares. En muchos problemas prácticos, se conocen unos cuantos valores de una función en una serie de puntos, pero no la función en sı́. Frecuentemente, se quiere conocer el valor de esa función en otros puntos intermedios. Por ejemplo, se conocen los valores y0 = f (x0 ), y1 = f (x1 ), y2 = f (x2 ), y3 = f (x3 ) y queremos determinar el valor f (x) donde x es un número entre x0 y x1 . El problema tı́pico de interpolación consiste en construir otra función, digamos g, que se “ajuste” a los datos, es decir, que coincida con f en los valores de x considerados (los x0 , x1 , ...) que se llaman nodos o abcisas de la interpolación. En una gran mayoria de casos se eligen funciones sencillas para ajustar, a saber, polinomios que son fáciles de manejar y evaluar. Este método se utilizaba en los años sesenta para construir tablas de las funciones: ex , cos x, sen x, etc. Por ejemplo, sabemos que sen 65◦ = 0,906308, sen 70◦ = 0,939693, sen 75◦ = 0,965926 y sen 80◦ = 0,984808, pero necesitamos sen 72◦ . La idea entonces es buscar un polinomio g(x) que se ajuste a los datos anteriores y aproximar sen 72◦ por g(72). Actualmente el uso de las calculadoras ha hecho innecesario interpolar para calcular los valores de estas funciones. Sin embargo, hoy en dı́a, en Bachillerato por ejemplo, cuando se utiliza una tabla de la distribucion normal para calcular P (z ≤ a); si resulta que a no es uno de los valores que aparecen en la tabla, sino que está entre dos de ellos, a0 < a < a1 , se hace interpolacion lineal entre P (z ≤ a0 ) y P (z ≤ a1 ) para aproximar el valor deseado. Es decir, se busca la recta que pasa por los dos puntos (a0 , P (z ≤ a0 )) y (a1 , P (z ≤ a1 )). Esta recta será la gráfica de un polinomio de grado 1, digamos g(x) y lo que se hace es aproximar P (z ≤ a) por g(a). 5 6 Capı́tulo 3 Interpolacion En muchos problemas prácticos, se realizan una serie de medidas, y se necesita predecir un caso del que no se tienen medidas. Por ejemplo, se toman medidas de la elongación de un material (en porcentaje) en función de la temperatura (en grados Farenheit) T E 400 500 11 13 600 13 700 800 15 17 900 1000 19 20 1100 23 y para predecir el porcentaje de elongación a una temperatura de 780◦ F se aplica interpolación. Otro caso, se toman datos del tiempo de fractura (en horas) en función de la presión aplicada a una pieza de acero (en kg/mm2 ) P T 5 10 40 30 15 20 25 40 25 30 35 18 20 22 40 15 Para aproximar el tiempo de fractura al aplicar una presión de 33 kg/mm2 se puede utilizar interpolación. Una forma de interpolacion que está de moda actualmente es la interpolacion con splines (funciones polinómicas a trozos bien encajadas), porque se utiliza en la construcción de figuras por ordenador. En este capı́tulo estudiaremos la interpolacion con polinomios y veremos las formas de Lagrange (importante para deducir resultados teóricos) y en el siguiente la forma de Newton (imprescindible para hacer cálculos). Estudiaremos además el error que se comete al aproximar una función por uno de estos polinomios. 3.2. Interpolación polinomial. La interpolación polinomial consiste en aproximar una función f tomando como función g que se ajusta a los datos, un polinomio: - si el polinomio es de grado 1, la interpolación se llama lineal - si el polinomio es de grado 2, la interpolación se llama cuadrática, etc. Si la función f es ya un polinomio, su polinomio interpolador g será la propia f . 3.2.1. Interpolacion lineal Este es el caso más sencillo de interpolación. Conocemos los valores y0 , y1 de una función y = f (x) en dos puntos x0 y x1 . Podemos suponer que x0 < x1 (si no es ası́, nombramos al revés los puntos). Buscamos entonces un polinomio P1 de grado 1 (ahora la g de antes se llamará ası́ por ser un polinomio), cuya gráfica será una recta, que se ajuste Interpolacion polinomica 7 a estos dos datos (los puntos (x0 , y0 ) y (x1 , y1 )). Como por dos puntos dados pasa una única recta, existe un único P1 que cumple lo que queremos. Para un punto a ∈ (x0 , x1 ), aproximaremos f (a) por P1 (a) (porque cuando x0 y x1 están cercanos, la gráfica de f se parecerá a la de P1 que es la recta que pasa por los dos puntos dados). Ejemplo. Supongamos que x0 = 3, y0 = f (x0 ) = 2 y x1 = 5, y1 = f (x1 ) = 6. Buscamos P1 (x) = a0 + a1 x tal que P1 (3) = 2 yP1 (5) = 6, esto nos da el sistema de ecuaciones lineales con incógnitas a0 y a1 : ¾ a0 + a1 3 = 2 a0 + a1 5 = 6 que podemos resolver fácilmente y obtener a0 = −4 y a1 = 2. (De hecho, sabemos de antemano que el sistema tiene solución única porque el determinante de la matriz de coeficientes es no nulo ¯ ¯ ¯ 1 3 ¯ ¯ ¯ ¯ 1 5 ¯ = 5 − 3 6= 0). Entonces P1 (x) = −4 + 2x y su gráfica es una recta que efectivamente pasa por los dos puntos dados (3, 2) y(5, 6). Aproximaremos un valor f (a) con a entre 3 y 5 por P1 (a). Por ejemplo, si a = 3, 2, diremos que f (3, 2) es aproximadamente P1 (3, 2) = −4 + 6, 4 = 2, 4. Lo que hemos visto en este ejemplo es que, dados dos puntos (distintos) (x0 , y0 ) y (x1 , y1 ), existe un único polinomio P1 de grado como mucho 1 que cumple P1 (x0 ) = y0 y P1 (x1 ) = y1 (decimos como mucho porque la expresión a0 + a1 x tiene grado 1 (el exponente de la x) si a1 6= 0 y grado 0, si a1 = 0 (porque en este último caso es simplemente el número a0 , es decir, la x aparece elevada a exponente 0). Este polinomio se llama polinomio interpolador lineal en los puntos (x0 , y0 ) y (x1 , y1 ). La gráfica de P1 es la recta que pasa por ambos puntos. Si y0 = f (x0 ) e y1 = f (x1 ) son los valores de una función f , aproximaremos f (a) cuando a está entre x0 y x1 con el valor P1 (a). 3.2.2. Interpolacion cuadrática. Tomemos ahora tres puntos (x0 , y0 ), (x1 , y1 ) y (x2 , y2 ) del plano, con x0 , x1 y x2 distintos y los yi = f (xi ). Salvo que estén alineados, una recta no puede pasar por los tres a la vez, pero sı́ lo hará un polinomio de grado 2 que, además es único y se llama polinomio interpolador cuadrático de la función f . Este hecho ya no es geométricamente evidente, pero tiene una demostración sencilla basada en resolver un sistema de ecuaciones lineales. 8 Capı́tulo 3 Interpolacion Veámoslo: escribimos el polinomio de grado 2 de la forma: P2 (x) = a0 + a1 x + a2 x2 , y buscamos los coeficientes a0 , a1 y a2 imponiendo las condiciones y0 = P2 (x0 ), y1 = P2 (x1 ) y y2 = P2 (x2 ). Tenemos el sistema de ecuaciones lineales en las incógnitas a0 , a1 , a2 : a0 + a1 x0 + a2 x20 = y0 a0 + a1 x1 + a2 x21 = y1 . 2 a0 + a1 x2 + a2 x2 = y2 El determinante de la matriz de coeficientes es: ¯ ¯ ¯ ¯ ¯ 1 x0 x20 ¯ ¯ 1 ¯ ¯ 0 0 ¯ ¯ ¯ ¯ ¯ ¯ 1 x1 x21 ¯ = ¯ 1 x1 − x0 x21 − x1 x0 ¯ = ¯ x1 − x0 x1 (x1 − x0 ) ¯ ¯ ¯ ¯ ¯ x2 − x0 x2 (x2 − x0 ) ¯ 1 x2 x22 ¯ ¯ 1 x2 − x0 x22 − x2 x0 ¯ ¯ ¯ 1 x1 (x1 − x0 )(x2 − x0 ) ¯¯ 1 x2 ¯ ¯ ¯ ¯ ¯ ¯ ¯ = (x1 − x0 )(x2 − x0 )(x2 − x1 ) = 6 0. ¯ Como el determinante de la matriz de coeficientes es no nulo, el sistema tiene solucion única (este resultado se llama Teorema de Rouché-Frobenius). Ejemplo Dados los puntos (1, 0), (2, −2) y (3, −2) (que corresponden a los valores que toma una función f en 1, 2 y 3 respectivamente), queremos aproximar f (1, 8). Buscamos P2 (x) = a0 + a1 x + a2 x2 y hallaremos los coeficientes a0 , a1 y a2 imponiendo las condiciones P2 (1) = 0, P2 (2) = −2 y P2 (3) = −2. Esto nos da el sistema de ecuaciones lineales con incógnitas a0 , a1 , a2 : a0 + a1 + a2 = 0 a0 + a1 2 + a2 4 = −2 . a0 + a1 3 + a2 9 = −2 Interpolacion polinomica El determinante ¯ ¯ 1 ¯ ¯ 1 ¯ ¯ 1 9 de la matriz de coeficientes es: ¯ 1 1 ¯¯ 2 4 ¯¯ = (2 − 1)(3 − 1)(3 − 2) = 2 6= 0. 3 9 ¯ Ası́ que el sistema tiene solución única, que resulta ser a0 = 4,a1 = −5, a2 = 1 (compruébalo). Entonces P2 (x) = 4 − 5x + x2 y aproximamos f (10 8) por P2 (10 8) = 4 − 9 + 3, 24 = −20 24. Ejercicio. Dibuja la gráfica de P2 (x) (la parábola que pasa por los puntos dados) e identifica el punto (10 8, −20 24). 3.2.3. Interpolacion polinómica. Método de los coeficientes indeterminados El método que hemos empleado para hallar el polinomio interpolador lineal y cuadrático se llama método de los coeficientes indeterminados (los coeficientes ai del polinomio). El caso general es similar; sólo hay que trabajar un poco más. Teorema 1 Dados n + 1 puntos del plano (x0 , y0 ), . . . , (xn , yn ) tales que las primeras coordenadas son todas distintas entre sı́, existe un polinomio de grado menor o igual que n, Pn (x), tal que Pn (xi ) = yi , i = 0, 1, . . . , n. Este polinomio es único entre todos los polinomios de grado menor o igual que n. La idea de la demostración es que la matriz de coeficientes del sistema que plantea el polinomio de coeficientes indeterminados Pn (x) = a0 + a1 x + . . . + an xn con datos iniciales (x0 , y0 ), . . . , (xn , yn ), tiene como determinante el llamado Determinante de Vandermonde: ¯ ¯ n 2 ¯ ¯ 1 x0 . . . x x 0 0 ¯ ¯ n 2 ¯ ¯ 1 x1 . . . x x 1 1 ¯ ¯ ¯ ¯ .. .. .. .. Vn (x) = ¯ . . ¯, . . ¯ ¯ n 2 ¯ 1 xn−1 xn−1 . . . xn−1 ¯ ¯ ¯ ¯ 1 x x2 . . . xn ¯ 10 Capı́tulo 3 Interpolacion Se puede demostrar trabajando con determinantes que Y Vn (xn ) = (xj − xi ). 0≤i<j≤n que será distinto de cero (porque los xi son todos distintos) con lo cual el sistema tiene solución única que nos consiste precisamente en los coeficientes del polinomio interpolador buscado. 3.3. Forma de Lagrange del polinomio interpolador Cuando el número de nodos de la interpolación (los xi ) es grande, el sistema que aparece al aplicar el método de los coeficientes indeterminados es largo de resolver y, además, de él no se pueden deducir resultados sobre el error que se comete al aproximar una función por su polinomio de interpolación. El método de Lagrange para calcular el polinomio interpolador resuelve estos problemas. Interpolación lineal: Empezamos con 2 puntos como datos, (x0 , y0 ), (x1 , y1 ). Este es un caso sencillo, y en el caso general la idea va a ser la misma. Calculamos primero el polinomio, de grado 1, L0 (x) que valga 1 en x0 y 0 en x1 . Éste es de la forma L0 (x) = C(x − x1 ) (porque se anula en x1 ), y la 1 constante C se calcula con la condicion L0 (x0 ) = 1 y sale C = x0 −x . Ası́: 1 L0 (x) = x − x1 . x0 − x1 Por ejemplo, si (x0 , y0 ) = (3, 2) y (x1 , y1 ) = (5, 6), entonces L0 (x) = C(x − 5) 1 y y como en 3 vale 1, tenemos C(3 − 5) = 1, es decir, C = 3−5 L0 (x) = x−5 . 3−5 A continuación calculamos el polinomio, de grado 1, L1 (x) que satisface L1 (x0 ) = 0 y L1 (x1 ) = 1. Se obtiene L1 (x) = x − x0 . x1 − x0 3.3. FORMA DE LAGRANGE DEL POLINOMIO INTERPOLADOR 11 En nuestro e mplo,L1 debe valer 0 en 3 y 1 en 5 ası́ que, igual que antes, L1 (x) = x−3 . 5−3 Ahora se construye el polinomio: P1 (x) = y0 L0 (x) + y1 L1 (x) que resulta ser el polinomio interpolador para (x0 , y0 ) y (x1 , y1 ), ya que P1 (x0 ) = y0 L0 (x0 ) + y1 L1 (x0 ) = y0 , P1 (x0 ) = y0 L0 (x1 ) + y1 L1 (x1 ) = y1 , y ya sabı́amos que el polinomio interpolador es único (por el método de los coeficientes indeterminados que vimos anteriormente). Volviendo al ejemplo, P1 (x) = 2 x−5 x−3 +6 3−5 5−3 (comprueba que coincide con el que habı́amos calculado por el método de los coeficientes indeterminados: −4 + 2x). En general, para dos nodos cualesquiera x0 , x1 en los que se conoce el valor de una función f , el polinomio interpolador lineal de f en forma de Lagrange es: P1 (x) = f (x0 ) x − x0 x − x1 + f (x1 ) x0 − x1 x1 − x0 Ejercicio. Interpolación cuadrática. Dados los puntos (1, 0), (2, −2) y (3, −2), que corresponden a los valores de una función f en los nodos 1, 2 y 3; comprobar que el polinomio interpolador cuadrático de f en forma de Lagrange es: P2 (x) = 0 (x − 2)(x − 3) (x − 1)(x − 3) (x − 1)(x − 2) + (−2) + (−2) . (1 − 2)(1 − 3) (2 − 1)(2 − 3) (3 − 1)(3 − 2) (Indicación: P2 (x) = y0 L0 (x) + y1 L1 (x) + y2 L2 (x) con Li (x) polinomios de grado 2 que valen 1 en xi (en su nodo) y 0 en el resto de los nodos.) En general, el polinomio interpolador cuadrático de f en forma de Lagrange en los nodos x0 , x1 , x2 es P2 (x) = f (x0 ) (x − x1 )(x − x2 ) (x − x0 )(x − x2 ) (x − x0 )(x − x1 ) +f (x1 ) +f (x2 ) . (x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 ) 12 Capı́tulo 3 Interpolacion El procedimiento es similar en el caso general. Consideremos los n + 1 puntos: (x0 , y0 ), (x1 , y1 ), . . . , (xn , yn ) con los xj distintos entre sı́. Para cada i = 0, 1, . . . , n, sea Li (x) el único polinomio de grado n que satisface ¾ Li (xi ) = 1 Li (xj ) = 0 si j 6= i Que este polinomio exista y que sea único se deduce del Teorema (1). El mismo teorema muestra que Pn (x) = y0 L0 (x) + y1 L1 (x) + . . . + yn Ln (x) es el polinomio interpolador, ya que Pn (xi ) = yi para todo i = 0, 1, . . . , n. Además, la expresión del polinomio Li (x) se encuentra fácilmente. Como Li (x) tiene ceros en xj con j 6= i, sera de la forma Li (x) = C(x − x0 ) · . . . · (x − xi−1 )(x − xi+1 ) · . . . · (x − xn ). La constante C se calcula con la condición Li (x1 ) = 1: C= 1 . (xi − x0 ) · . . . · (xi − xi−1 )(xi − xi+1 ) · . . . · (xi − xn ) Por tanto, Li (x) = Y (x − xj ) . (x i − xj ) j6=i Ejemplo: Calcula el polinomio interpolador que pasa por los puntos (0, −1), (1, 2) y (2, 7) usando la forma de Lagrange. Puesto que (x − 1)(x − 2) (x − 1)(x − 2) = (0 − 1)(0 − 2) 2 (x − 0)(x − 2) x(x − 2) L1 (x) = = (1 − 0)(1 − 2) −1 (x − 0)(x − 1) x(x − 1) L2 (x) = = , (2 − 0)(2 − 1) 2 L0 (x) = el polinomio interpolador es: P2 (x) = −1L0 (x) + 2L1 (x) + 7L2 (x) −x2 + 3x − 2 − 4x2 + 8x + 7x2 − 7x = 2 2 = x + 2x − 1. Formula del error 3.4. 13 Error de Interpolacion Como es habitual al hacer cualquier aproximación, nos gustarı́a controlar el error cometido: en este caso, el que se produce al aproximar una función por su polinomio interpolador. Supongamos que hemos calculado Pn (x), el polinomio de interpolación de grado menor o igual que n que interpola una función f (x) en los puntos x0 , x1 , . . . , xn , distintos entre sı́. ¿Qué error cometemos al usar Pn (x) en vez de f (x) para un número x que está entre los nodos x0 , x1 , . . . , xn ? El error absoluto cometido será ∆(x) = |f (x) − Pn (x)| y lo que queremos es encontrar una fórmula para estimar cuánto puede valer como mucho este error absoluto, es decir, queremos acotar el error absoluto. Como ocurrı́a con las aproximaciones por Taylor, el error está relacionado con las derivadas de la función f . Veámoslo. Teorema 2 Sea f (x) una funcion con n derivadas continuas en un intervalo [a, b], tal que existe la derivada de orden n + 1 en (a, b). Sean x0 , x1 , . . . , xn , (n + 1) nodos distintos en a, b y Pn (x) el polinomio interpolador de f en esos nodos. Entonces, si x ∈ [a, b] f (x)−Pn (x) = (x − x0 )(x − x1 ) · . . . · (x − xn ) (n+1) f (θ), para algun θ ∈ (a, b). (n + 1)! No sabemos qué número es θ pero sı́ que vive en (a, b) y eso nos permitirá acotar el error, igual que hicimos en el capı́tulo anterior con el error de Taylor. Si, por ejemplo, encontramos un número, digamos Kn+1 , que acote el tamaño de la derivada de orden (n + 1) de f en el intervalo (a, b); es decir, si cuando θ se mueve en (a, b) |f (n+1) (θ)| ≤ Kn+1 , entonces ∆(x) = |f (x) − Pn (x)| ≤ |x − x0 ||x − x1 | · . . . · |x − xn |Kn+1 (n + 1)! Observación: En la fórmula anterior Pn (x) es un valor exacto pero en la práctica puede que sea uno aproximado debido a la precisión finita en los coeficientes de este polinomio y a los errores de operación al evaluarlo en x. 14 Capı́tulo 3 Interpolacion Ejemplo: Interpolación lineal. Supongamos que tenemos una cota K2 para la derivada segunda de la función f en (a, b) y que los nodos son x0 = 3 y x1 = 5, entonces |x − 3||x − 5|K2 2 Ahora, si el punto x donde evaluamos está en el intervalo (3, 5), ¿dónde se alcanzará el mayor valor de |x − 3||x − 5|? Como |x − 3||x − 5| = |x2 − 8x + 5|, esta expresión es el valor absoluto de un polinomio de segundo grado Q(x) = x2 − 8x + 5. La primera derivada Q0 (x) = 2x−8 se anula en x = 4, y entonces en x = 4 hay un posible máximo o mı́nimo de Q(x). La gráfica de Q(x) es una parábola que corta al eje x en x = 3 y x = 5 y tiene las ramas hacia arriba, ası́ que de todos los x en (3, 5), x = 4 nos da el mı́nimo valor de Q(x),−1, que cuando tomamos valor absoluto es el máximo valor de |Q(x)|, es decir, 1. En definitiva, tendremos que ∆(x) = |f (x) − P1 (x)| ≤ ∆(x) = |f (x) − P1 (x)| ≤ K2 . 2 En general, en el caso de interpolación lineal, si tenemos una cota K2 para la derivada segunda de la función f en (a, b) y los nodos son x0 < x1 , entonces |x − x0 ||x − x1 |K2 2 2 y el valor máximo de |x − x0 ||x − x1 | = |x − (x0 + x1 )x + x0 x1 = Q(x)| se alcanza en el x que anula la primera derivada de Q(x), Q0 (x) = 2x−(x0 +x1 ), 2 0) 1 1 es decir, en x = x0 +x . Como Q( x0 +x ) = (x1 −x , entonces para x ∈ (x0 , x1 ), 2 2 4 se cumple: ∆(x) = |f (x) − P1 (x)| ≤ ∆(x) = |f (x) − P1 (x)| ≤ (x1 − x0 )2 K2 8 Ejemplo. Supongamos que queremos hacer una tabla de valores de la función f (x) = ln(1 + x) 0 < x < 1 en una serie de números reales x separados por una distancia fija h. ¿Cómo debe ser h para que la interpolación lineal dé un error absoluto máximo de 10−6 ? Formula del error 15 Sabemos que en la interpolación lineal (2 nodos x0 y x1 ) (x1 − x0 )2 |f (00 )(θ)| , θ ∈ (x0 , x1 ) 8 y como la distancia entre los valores de x es h, entonces x1 = x0 + h, luego: ∆(x) = |f (x) − P1 (x)| ≤ h2 |f (00 )(θ)| , θ ∈ (x0 , x0 + h) 8 1 y f 00 (x) = − (1+x) 2 , con lo cual: ¯ ¯ ¯ ¯ 1 00 ¯ ¯<1 |f ( )(θ)| = ¯− (1 + θ)2 ¯ ∆(x) ≤ Ahora, f 0 (x) = 1 1+x puesto que, como θ > 0 (porque en la tabla los x son mayores que 0), 2 entonces 1 + θ > 1 y por tanto, (1 + θ)2 > 1. Entonces ∆(x) < h8 , ası́ que pedimos que h2 ≤ 10−6 8 es decir h≤ √ 8 · 10−6 ≈ 20 8284 · 10−3 < 10−2 . Por ejemplo, si x0 = 00 3 y h = 1 · 10−3 , que es menor que 10−2 , entonces 2 −6 ∆(x) < h8 = 108 = 00 125 · 10−6 = 10 25 · 10−7 que es menor que 10−6 . Ejemplo. Dados los valores de la función f (x) = sen x x sen x 00 30 00 32 00 29552 00 31457 00 35 00 34290 construir el polinomio de interpolación de Lagrange de grado menor o igual que 2. Aproximar sen x con x ∈ (00 30, 00 35) y acotar el error cometido. (x − 00 32)(x − 00 35) (x − 00 30)(x − 00 35) 0 P2 (x) = 0 29552 0 +0 31457 0 (0 30 − 00 32)(00 30 − 00 35) (0 32 − 00 30)(00 32 − 00 35) 0 +00 34290 (x − 00 30)(x − 00 32) (00 35 − 00 30)(00 35 − 00 32) Si simplificamos este polinomio, se obtendrı́a 16 Capı́tulo 3 Interpolacion P2 (x) = −00 16333x2 + 10 0537667x + 00 00590997, pero, para minimizar errores, aproximamos sen x con x ∈ (00 30, 00 35) sustituyendo dicho x en la expresión con denominadores. Por ejemplo, si x = 00 34: sen 00 34 ≈ P2 (00 34) ≈ 00 345309304. En cuanto a la cota para el error, sabemos que: ∆(x) = |f (x) − P2 (x)| = ≤ 1 |(x − 00 30)(x − 00 32)(x − 00 35)||f 000 (θ)| 3! 1 máx |(x − 00 30)(x − 00 32)(x − 00 35)| máx |f 000 (θ)|. 0 0 0 0 x∈[0 30,0 35] θ∈[0 30,0 35] 6 Ahora f 000 (x) = −cos x, luego máx θ∈[00 30,00 35] |f 000 (θ)| = máx θ∈[00 30,00 35] (porque la función cos x decrece entre 0 y K3 = cos 00 30 = √ 1 − sen2 00 30 = π 2 √ cos θ = cos 00 30 = 10 57...). Ası́ que en este ejemplo 1 − 00 295522 = 00 955336553. Por otro lado, queremos el máximo de |Q(x)| = |(x − 00 30)(x − 00 32)(x − 00 35)| = |x3 − 00 97x2 + 00 3130x − 00 3360|. Para encontrarlo, calculamos la derivada Q0 (x) = 3x2 − 2 · 00 97x + 00 3130 y buscamos los x donde se anula, que resultan ser x = 00 338 y x = 00 309. Pero Q(00 338) = −00 821 · 10−5 y Q(00 309) = 00 406 · 10−5 , ası́ que el máximo valor absoluto se alcanza en x = 00 338 y es 00 821 · 10−5 . Con todo esto: ∆(x) = |f (x) − P2 (x)| =≤ 1 0 0 821 · 10−5 00 955336553 ≈ 10 31 · 10−6 6 En general, si se usa interpolación de orden n superior a 1, para acotar el error de interpolación necesitaremos estimar el máximo de la funcion |(x − x0 )(x − x1 ) · . . . · (x − xn )| cuando x ∈ [x0 , xn ], supuesto que x0 < x1 < . . . < xn . 3.5. OTROS TIPOS DE INTERPOLACION 17 En el caso de la interpolación cuadrática (n = 2) con tres nodos equiespaciados, es decir, x0 , x1 = x0 + h, x2 = x0 + 2h, se puede comprobar que: 2h3 2h3 máx |(x − x0 )(x − x1 )(x − x2 )| = √ < . x∈[x0 ,x2 ] 3 3 3 con lo cual 1 |(x − x0 )(x − x1 )(x − x2 )||f 000 (θ)| 3! 1 ≤ máx |(x − x0 )(x − x1 )(x − x2 )| máx |f 000 (θ)| θ∈[x0 ,x2 ] 6 x∈[x0 ,x2 ] 3 3 1 2h K3 h K3 ≤ = . 6 3 9 ∆(x) = |f (x) − P2 (x)| = 3.5. Otros tipos de interpolacion Hasta ahora, en los problemas de interpolación para aproximar lo que vale una función f en un número x, los datos consistı́an en unos cuantos valores de f en ciertos x0 , x1 , ..., xn , llamados nodos de la interpolación. Con esos datos se buscaba un polinomio que se ajustara a ellos. Veamos otras posibilidades. 1. Interpolación trigonométrica En este caso, conocidos f (x0 ), f (x1 ), f (x2 ), · · · , f (x2n ) (un número impar de valores de f ), se busca una función trigonométrica de la forma: g(x) = a0 + a1 cos x + a2 cos 2x + · · · + an−1 cos (n − 1)x + an cos nx+ b1 sen x + b2 sen 2x + · · · + bn−1 sen (n − 1)x + bn sen nx que se ajuste a los (2n + 1) datos. Ası́ se obtiene un sistema de (2n + 1) ecuaciones lineales en las (2n+1) incógnitas a0 , a1 , · · · , an , b1 , b2 , · · · , bn , en el que la matriz de coeficientes tiene determinante no nulo si los x0 , x1 , x2 , · · · , x2n son distintos (de hecho, se puede demostrar que este 18 Capı́tulo 3 Interpolacion determinante es igual a uno de Vandermonde dividido por un número complejo). Ejemplo. Dados los valores de una función f x 10 003 f (x) 00 0265 10 004 00 0292 10 005 00 0319 Aproximar f (10 0045) usando interpolación trigonométrica. Tenemos 3 = 2n + 1 datos, es decir, n = 1 y buscaremos una función trigonométrica de la forma g(x) = a0 + a1 cos x + b1 sen x que se ajuste a los datos, es decir: g(10 003) = a0 + a1 cos 10 003 + b1 sen 10 003 = 00 0265 g(10 004) = a0 + a1 cos 10 004 + b1 sen 10 004 = 00 0292 . g(10 005) = a0 + a1 cos 10 005 + b1 sen 10 005 = 00 0319 El determinante de la matriz de coeficientes del sistema anterior es: ¯ ¯ 1 cos 10 003 sen 10 003 ¯ ¯ 1 cos 10 004 sen 10 004 ¯ ¯ 1 cos 10 005 sen 10 005 ¯ ¯ ¯ ¯ ¯ ¯ que resulta ser 10−9 . Resolviendo el sistema de ecuaciones, por ejemplo, por la regla de Cramer, se obtiene: 20 92 · 10−11 −20 27 · 10−9 10 45 · 10−9 0 0 a0 = = 0 0292, a1 = = −2 27, b1 = = 10 45. −9 −9 −9 10 10 10 Entonces g(x) = 00 0292 − 20 27cos x + 10 45sen x y aproximamos f (10 0045) ≈ g(10 0045) = 00 0292−20 27cos 10 0045+10 45sen 10 0045 ≈ 00 03497. 3.5. OTROS TIPOS DE INTERPOLACION 19 2. Dados x0 , x1 , · · · , xn , con x1 , · · · , xn distintos (ya veremos por qué en esta última lista no hace falta incluir a x0 ) y conocidos los (n+1) datos: f (x0 ), f 0 (x1 ), f 0 (x2 ), · · · , f 0 (xn ), se busca un polinomio de grado como mucho n, p(x) = a0 +a1 x+a2 x2 +· · ·+an xn , que se ajuste a esos datos: p(x0 ) = f (x0 ) ↔ a0 + a1 x0 + a2 x20 + · · · + an xn0 = f (x0 ) p0 (x1 ) = f 0 (x1 ) ↔ a1 + 2a2 x1 + 3a3 x21 + · · · + nan xn−1 = f 0 (x1 ) 1 ··· = f 0 (xn ) p0 (xn ) = f 0 (xn ) ↔ a1 + 2a2 xn + 3a3 x2n + · · · + nan xn−1 n . con lo cual se obtiene un sistema de (n + 1) ecuaciones lineales en las (n + 1) incógnitas a0 , a1 , · · · , an . En el determinante de la matriz de coeficientes, la primera columna tiene un 1 como primer elemento seguido de ceros, ası́ que desarrollando por ella, el determinante es ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ 1 1 .. . 2x1 2x2 .. . 3x21 3x22 .. . . . . nxn−1 1 . . . nxn−1 2 .. . 1 2xn−1 3x2n−1 . . . nxn−1 n−1 1 2xn 3x2n . . . nxn−1 n ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ = 1·2·3 · · · n ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ 1 1 .. . x21 x22 .. . x1 x2 .. . . . . x1n−1 . . . xn−1 2 .. . 1 xn−1 x2n−1 . . . xn−1 n−1 1 xn x2n . . . xn−1 n que es de tipo Vandermonde y será no nulo si los x1 , x2 , · · · , xn son distintos. En ese caso, la solución del sistema es única y, por lo tanto, también lo es el polinomio buscado (por eso no hacı́a falta incluir a x0 en la lista de nodos distintos entre sı́). Ejemplo. Si conocemos los datos f (1) = 2, f 0 (0) = −1, f 0 (1) = 2, f 0 (2) = −1, encontrar un polinomio de grado menor o igual que 3 se ajuste a ellos. El polinomio buscado será de la forma p(x) = a0 + a1 x + a2 x2 + a3 x3 y por tanto su derivada será p0 (x) = a1 + 2a2 x + 3a3 x2 . Queremos que se cumpla: p(1) p0 (0) p0 (1) p0 (2) = = = = f (1) f 0 (0) f 0 (1) f 0 (2) ↔ a0 + a1 + a2 + a3 = 2 ↔ a1 = −1 ↔ a1 + 2a2 + 3a3 = 2 ↔ a1 + 4a2 + 12a3 = −1 . ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ 20 Capı́tulo 3 Interpolacion Esto nos da un sistema de 4 ecuaciones lineales en las incógnitas a0 , a1 , a2 , a3 cuya matriz de coeficientes tiene determinante ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ 1 0 0 0 1 1 1 1 1 1 0 0 2 3 4 12 ¯ ¯ ¯ ¯ 1 0 0 ¯ ¯ ¯ ¯ = 1 · 2 · 3¯ 1 1 1 ¯ ¯ ¯ 1 2 4 ¯ ¯ ¯ ¯ ¯ ¯ = 6 · (1 − 0) (2 − 0) (2 − 1) = 12, ¯ ¯ ası́ que el sistema tiene solución única que resulta ser: a0 = 1, a1 = −1, a2 = 3, a3 = −1 (comprobarlo). Luego el polinomio buscado es P (x) = 1 − x + 3x2 − x3 . 3. Conocidos (n + 1) valores de f : f (x0 ), f (x1 ), f (x2 ), · · · , f (xn ), se busca un polinomio especial de grado par, p(x) = a0 + a1 x2 + a2 x4 + · · · + an x2n , que se ajuste a esos datos: p(x0 ) = f (x0 ) ↔ a0 + a1 x20 + a2 x40 + · · · + an x2n 0 = f (x0 ) 2 4 2n p(x1 ) = f (x1 ) ↔ a0 + a1 x1 + a2 x1 + · · · + an x1 = f (x1 ) ··· p(xn ) = f (xn ) ↔ a0 + a1 x2n + a2 x4n + · · · + an x2n n = f (xn ) . con lo cual se obtiene un sistema de (n + 1) ecuaciones lineales en las (n + 1) incógnitas a0 , a1 , · · · , an . El determinante de la matriz de coeficientes es ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ 1 1 .. . x20 x21 .. . x40 . . . x41 . . . .. . x2n 0 x2n 1 .. . 1 x2n x4n . . . x2n n ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯=¯ ¯ ¯ ¯ ¯ ¯ ¯ 1 1 .. . y0 y1 .. . ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯ n ¯ . . . yn y02 . . . y12 . . . .. . 1 yn yn2 y0n y1n .. . llamando yi = x2i para i = 0, 1, · · · , n. Este último determinante es de tipo Vandermonde y su valor es Y (yj − yi ) = 0≤i<j≤n Y (x2j − x2i ) 0≤i<j≤n y será no nulo si los cuadrados de los nodos son números distintos entre sı́, ası́ que la solución será única si |xi | 6= |xj | cuando i 6= j. Ejemplo. Si conocemos los datos 3.5. OTROS TIPOS DE INTERPOLACION 21 f (1) = 2, f (−3) = −1, f (2) = 1, encontrar un polinomio de grado 4 que se ajuste a ellos. El polinomio buscado será de la forma p(x) = a0 + a1 x2 + a2 x4 y queremos que se cumpla: p(1) = f (1) ↔ a0 + a1 + a2 = 2 p(−3) = f (−3) ↔ a0 + 9a1 + 81a2 = −1 . p(2) = f (2) ↔ a0 + 4a1 + 16a2 = 1 Esto nos da un sistema de 3 ecuaciones lineales en las incógnitas a0 , a1 , a2 cuya matriz de coeficientes tiene determinante ¯ ¯ 1 1 1 ¯ ¯ 1 9 81 ¯ ¯ 1 4 16 ¯ ¯ ¯ ¯ = (9 − 1) · (4 − 1) · (4 − 9) = −120, ¯ ¯ ası́ que el sistema tiene solución única: búscala como ejercicio. 4. Interpolación osculatoria o de Hermite. En muchos problemas es conveniente considerar los polinomios que interpolen una funcion f (x) y que, ademas, su derivada interpole la derivada f 0 (x) (ası́ la gráfica de f y la del polinomio interpolador serán más parecidas, porque no sólo pasan las dos por ciertos puntos, sino que en ellos tienen la misma tangente). El problema general es el siguiente: dados x1 , . . . , xn (distintos) queremos encontrar un polinomio p(x) tal que p(xi ) = f (xi ) y p0 (xi ) = f 0 (xi ), i = 1, . . . , n. Como se dan 2n datos, se busca un polinomio p(x) de grado como mucho 2n − 1 que se ajuste a los datos, llamado polinomio osculador o de Hermite. Para obtenerlo hay que resolver un sistema de 2n ecuaciones lineales con 2n incógnitas, en el que se puede demostrar que la matriz de coeficientes tiene determinante no nulo y, por tanto, la solución del sistema es única. Ejemplo Supongamos dados 2 nodos x0 = 1, x1 = 2, y los datos f (1) = 2 , f 0 (1) = −4 f (2) = 6 , f 0 (2) = 12. 22 Capı́tulo 3 Interpolacion Queremos encontrar p(x) de grado como mucho 3 que se ajuste a estos 4 datos, ası́ que buscamos un polinomio p(x) = a0 + a1 x + a2 x2 + a3 x3 que cumpla p(1) = 2 , p0 (1) = −4 p(2) = 6 , p0 (2) = 12. Esto da un sistema lineal de 4 ecuaciones con 4 incógnitas cuya solución es única y corresponde al polinomio p(x) = 14 − 20x + 8x2 (es decir a0 = 14, a1 = −20, a2 = 8 y a3 = 0).