UNIVERSIDAD DE EXTREMADURA Departamento de Matemáticas Matemáticas Manuel Fernández Garcı́a-Hierro Badajoz, Febrero 2008 Capı́tulo IX Interpolación 9.2 Introducción Interpolación es el proceso de encontrar y evaluar una función cuya gráfica pasa por un conjunto de puntos. Los puntos pueden ser mediciones en un proceso fı́sico, o pueden obtenerse a partir de una función conocida. La función de interpolación se elige dentro de una clase restringida de funciones, siendo las funciones polinómicas las usadas con mayor frecuencia y las únicas que utilizaremos. La primera parte del Capı́tulo se dedica a la evaluación polinómica desde el punto de vista numérico. En la segunda parte se presentan las formulaciones de Lagrange y Newton del polinomio de interpolación y la tercera parte se dedica al análisis del error que aparece en la interpolación polinómica. La interpolación se utiliza para resolver problemas dentro del área más general de la teorı́a de aproximación. Para hacernos una idea del papel de la interpolación, daremos una lista de problemas en los que interviene: 1. Dada una tabla de valores de una función, por ejemplo, f (x) = cos(x), usamos interpolación para extender la tabla a argumentos x que no están en la tabla. Éste fue un problema importante, aunque actualmente no lo es, debido a que el uso de ordenadores ha eliminado la necesidad de usar tablas. 2. Dado un conjunto de puntos (datos), encuentre una función diferenciable y no oscilatoria que se ajuste a dichos datos, bien de manera exacta, bien de forma aproximada. El caso exacto conduce a la interpolación mediante funciones spline y el caso aproximado se suele llevar a cabo mediante el método de los mı́nimos cuadrados. 3. Dada una función conocida, por ejemplo, f (x) = ln(x), se necesita un método para poder evaluarla en un odenador: la interpolación se usa para obtener una aproximación a la función que puede ser calculada en un ordenador. 4. Al integrar o derivar numéricamente una función, se suele reemplazar por un función más sencilla que la aproxima, que es la que se integra o deriva. Esta función más sencilla se obtiene por interpolación. 9.1 Evaluación polinómica Aunque la evaluación de un polinomio pueda parecer en principio un trabajo sencillo, no lo es. Para aclarar esta afirmación consideremos la evaluación del polinomio p(x) = 3 − 4x − 5x2 − 6x3 + 7x4 − 8x5. Desde el punto de vista de un programador, el método más sencillo es calcular cada término independientemente de los otros. Más concretamente, el término cxk se calcula como c ∗ xk lo que requiere k multiplicaciones. habrá Con esta aproximación 1 + 2 + 3 + 4 + 5 = 15 multiplicaciones en la evaluación de p(x). El segundo método de evaluación es más eficiente. Calculamos cada potencia de x multiplicando por x la precedente, como en x3 = x(x2), x4 = x(x3), x5 = x(x4). Entonces cada término cxk necesita dos multiplicaciones si k > 1. La evaluación de p(x) usa 1 + 2 + 2 + 2 + 2 = 9 multiplicaciones, bastantes menos que en el caso anterior, sobre todo si el grado del polinomio es alto. El tercer método se llama multiplicación anidada. Para ello escribimos y evaluamos p(x) en la forma p(x) = 3 − 4x − 5x2 − 6x3 + 7x4 − 8x5 = 3 + x(−4 + x(−5 + x(−6 + x(7 − 8x)))). El número de multiplicaciones es sólo 5. Este método de evaluación es el más usado y es tanto más ventajoso, cuanto más alto es el grado del polinomio. Considérese un polinomio de grado n, p(x) = a0 + a1x + · · · + anxn, an 6= 0. Si se utiliza el segundo método, el número de multiplicaciones es 1 + 2+ n−1 . . . +2 = 1 + 2(n − 1) = 2n − 1. Para el método de multiplicación anidada, se escribe p(x) = a0 + x(a1 + x(· · · + x(an−1 + anx) . . . ). Este método usa solamente n multiplicaciones, sobre el 50 % menos que el método anterior. Ambos usan n sumas. Supóngase que queremos evaluar p(x) en un punto z. Defı́nase la sucesión de coeficientes bi de la siguiente forma: bn = an bn−1 = an−1 + zbn bn−2 = an−2 + zbn−1 .. b0 = a0 + zb1. Entonces p(z) = b0 En la multiplicación anidada, los bi se corresponden con la operación entre pares de paréntesis correspondientes. Ası́ bn−1 es la operación más interior, mientras que b0 es el último cálculo. Cuando la multiplicación anidada se mira de esta manera, se llama método de Horner. Sea q(x) = b1 +b2x+· · ·+bnxn−1. Entonces comprobaremos que p(x) = b0 + (x − z)q(x). En efecto, b0 + (x − z)q(x) = b0 + b1x + . . . bnxn − b1z − b2zx − . . . bnzxn−1 = (b0 − b1z) + (b1 − b2z)x + · · · + (bn−1 − bnz)xn−1 + bnxn = a0 + a1x + · · · + anxn = p(x) Nótese que para el cálculo a mano de los coeficientes bi, se pueden disponer tal como se hace en la conocida regla de Ruffini. Es decir an z bn = an bn−1 an−1 zbn = an−1 + zbn ··· ··· ··· a1 zb2 b1 a0 zb1 b0 = a0 + zb1 9.2 Interpolación Polinómica A modo de introducción se describe la interpolación lineal. Dados dos puntos (x0, y0) y (x1, y1) con x0 6= x1, se considera la recta que pasa por dichos puntos. Esta recta es la gráfica del polinomio lineal y1 − y0 P1(x) = y0 + (x − x0) x1 − x0 Se dice que esta función interpola el valor yi en el punto xi, i = 0, 1, o P1(xi) = yi, i = 0, 1 Ejemplo Considérense los puntos (1, 1) y (4, 2). polinomio P1(x) es El 1 P1(x) = 1 + (x − 1). 3 Sea una tabla de valores de f (x). Queremos usar interpolación lineal para estimar los valores de f (x) cuando x no está en la tabla. Para ello se localizan dos valores x0, x1 en la tabla tales que x0 ≤ x ≤ x1. Se construye P1(x) que interpola f (xi) en xi y se utiliza P1(x) para estimar f (x). Ejemplo Sea la tabla: x .80 .81 .82 .83 .84 .85 .86 .87 .88 .89 ex 2.225541 2.247908 2.270500 2.293319 2.316367 2.339647 2.363161 2.386911 2.410900 2.435130 Obtener una estimación de e0.826 usando interpolación lineal en la tabla anterior. Se elige x0 = 0.82 y x1 = 0.83. Entonces P1(x) = 2.270500 + 2.293319 − 2.270500 (x − 0.82) 0.83 − 0.82 = 2.270500 + 2.2819(x − 0.82) En particular P1(0.826) = 2.2841914. El valor verdadero redondeado a ocho dı́gitos significativos es e 0.826 . = 2.2841638 Para mayor facilidad de cálculo resecribimos el polinomio lineal de interpolación como: P1(x) = y0 + µ(x)(y1 − y0), x − x0 µ(x) = x1 − x0 Interpolación cuadrática Cuando los datos provienen de gráficos que son curvados en lugar de rectos, es más conveniente aproximar tal comportamiento mediante polinomios de orden superior a 1. Supóngase que los datos son tres puntos (x0, y0), (x1, y1) y (x2, y2) siendo x0, x1, x2 distintos. Construimos el polinomio cuadrático que pasa por dichos puntos del modo siguiente: P2(x) = y0L0(x) + y1L1(x) + y2L2(x) con (x − x1)(x − x2) L0(x) = (x0 − x1)(x0 − x2) (x − x0)(x − x2) L1(x) = (x1 − x0)(x1 − x2) (x − x0)(x − x1) L2(x) = (x2 − x0)(x2 − x1) La fórmula para P2(x) se llama fórmula de Lagrange para el polinomio de interpolación cuadrático y los polinomios L0, L1 y L2 se llaman funciones base para interpolación de Lagrange. Cada polinomio Li(x) tiene grado 2. por tanto P2(x) tiene grado ≤ 2. Además Li(xj ) = 0 si i 6= j Li(xi) = 1 que puede escribirse de forma más compacta como Li(xj ) = δij donde δij , llamada función delta de Kronecker, está definida por δij = ( 1, i=j 0, i 6= j Ejemplo 1. El polinomio P2(x) para los puntos (0, −1), (1, −1) y (2, 7) es (x − 1)(x − 2) (−1) P2(x) = 2 x(x − 2) x(x − 1) + (−1) + (7) −1 2 En la interpolación lineal es obvia la unicidad del polinomio de interpolación, teniendo en cuenta que existe una única recta que pasa por dos puntos. Pero con tres puntos es menos obvio que hay un único polinomio cuadrático de interpolación que pasa por dichos puntos. Para ver la unicidad, supóngase que hay un segundo polinomio de interpolación Q2(x). Comprobaremos que es igual a P2(x). Sea Q2(x) un polinomio de grado ≤ 2 tal que su gráfica pasa por los puntos (x0, y0), (x1, y1) y (x2, y2). Considérese R(x) = P2(x) − Q2(x). Tiene grado ≤ 2 y se anula en los tres puntos anteriores, ya que R(xi) = P2(xi) − Q2(xi), i = 0, 1, 2. Entonces R(x) ≡ 0 (Teorema Fundamental del Álgebra) y, en consecuencia, P2(x) ≡ Q2(x). Deberı́amos esperar que el polinomio de interpolación cuadrático aproxime mejor la tabla de valores de una función. Al igual que antes, si queremos evaluar en x la función tabla f (x), se eligen tres puntos igualmente espaciados x0 < x1 < x2, x1 − x0 = x2 − x1, x0 < x < x 2 . La fórmula de Lagrange no es conveniente para los cálculos, por lo que usaremos la fórmula P2(x) = y0 + µ(x)(y1 − y0) µ(x)(µ(x) − 1) + (y2 − y1) − (y1 − y0) . 2 donde x − x0 µ(x) = x1 − x0 Nótese que µ(x)(µ(x) − 1) P2(x) = P1(x) + (y2 − y1) − (y1 − y0) . 2 Ası́ que P2(x) se obtiene añadiendo a P1(x) un término de corrección. Ejemplo 2. Calcule una interpolación cuadrática a e0.826 a partir de la tabla x .80 .81 .82 .83 .84 .85 .86 .87 .88 .89 ex 2.225541 2.247908 2.270500 2.293319 2.316367 2.339647 2.363161 2.386911 2.410900 2.435130 Se elige x0 = 0.82, x1 = 0.83 y x2 = 0.84. Entonces µ(0.826) = 0.6, y1 − y0 = 0.022819, y2 − y1 = 0.023048 P2(0.826) = P1(0.826) 1 + (0.6)(0.6 − 1)(0.023048 − 0.022819) 2 = 2.2841914 − 0.00002748 = 2.2841639 Puesto que e 0.826 . = 2.2841638 redondeado a ocho dı́gitos, . P2(0.826) − e = 0.0000001 . P1(0.826) − e0.826 = 0.0000276 0.826 el error usando interpolación cuadrática es sensiblemente menor que cuando se utiliza interpolación lineal. Interpolación de grado superior Ahora consideramos el caso general. Sean n + 1 puntos, (x0, y0), . . . , (xn, yn) con todos los xi’s distintos. El polinomio de interpolación de grado ≤ n es Pn(x) = y0L0(x) + y1L1(x) + · · · + ynLn(x), (1) donde cada Li(x) es el polinomio de grado n dado por Li(x) (x − x0) . . . (x − xi−1)(x − xi+1) . . . (x − xn) . = (xi − x0) . . . (xi − xi−1)(xi − xi+1) . . . (xi − xn) Es fácil comprobar que Li(xj ) = δij , de donde sigue Pn(xj ) = yj , j = 0, 1, . . . , n (2) La fórmula 1 se llama fórmula de Lagrange del polinomio de interpolación. El hecho de que hay un único polinomio de grado ≤ n que verifica 2 se prueba de la misma manera a como se hizo en el caso cuadrático. Debido a su importancia, establecemos los resultados de este apartado en forma de Teorema. Teorema 1. Sea n ≥ 0, supóngase que x0, x1, . . . , xn son números distintos y que y0, y1, . . . , yn son números no necesariamente distintos. Entre todos los polinomios de grado ≤ n hay exactamente uno, Pn(x) que verifica Pn(xj ) = yj , j = 0, 1, . . . , n Diferencias Divididas Vamos a definir una versión discreta de la derivada de una función f (x). Sean x0, x1 números distintos. Se define f (x1) − f (x0) f [x0, x1] = x1 − x0 y se llama diferencia dividida de primer orden de f (x). Si f (x) es derivable en un intervalo que contiene a x0 y x1, entonces el Teorema del Valor Medio implica f [x0, x1] = f 0(c) para algún c entre x0 y x1. Ésto justifica el considerar f [x0, x1] como un análogo a la derivada de f (x). También si x0 y x1 son suficientemente próximos, entonces . 0 x0 + x1 f [x0, x1] = f 2 que usualmente es una aproximación muy precisa. Ejemplo 3. Sea f (x) = cos(x), x0 = 0.2 y x1 = 0.3. Entonces cos(0.3) − cos(0.2) . = −0.2473009 f [x0, x1] = 0.3 − 0.2 . Se comprueba fácilmente que c = 0.2498936. Además f 0 x0 + x1 2 . = − sin(0.25) = −0.2474040 y f [x0, x1] es una buena aproximación de esta derivada. Se definen las diferencias divididas de orden superior de manera recurrente usando las de orden inferior. Sean x0, x1, x2 números distintos. Defı́nase f [x1, x2] − f [x0, x1] f [x0, x1, x2] = . x2 − x0 Se llama diferencia dividida de segundo orden. x0, x1, x2, x3 distintos, se define Para f [x1, x2, x3] − f [x0, x1, x2] . f [x0, x1, x2, x3] = x3 − x0 y se llama diferencia dividida de tercer orden. En general si x0, x1, . . . , xn son puntos distintos, la diferencia dividida de orden n es f [x0,x1, x2, . . . , xn] f [x1, x2, . . . , xn] − f [x0, x1, . . . , xn−1] = . x n − x0 La relación entre las diferencias divididas de orden superior y las derivadas del orden correspondiente viene dada por el siguiente resultado: Teorema 2. Supóngase que f (x) es n veces derivable con continuidad en un intervalo [α, β] = {x : α ≤ x ≤ β}. Sean x0, x1, . . . , xn, n + 1 números distintos de [α, β]. Entonces 1 n f [x0, x1, x2, . . . , xn] = f (c) n! donde c es un número comprendido entre el mı́nimo y el máximo de los números x0, x1, . . . , xn. Ejemplo 4. Sea f (x) = cos(x), x0 = 0.2, x1 = 0.3 y x2 = . 0.4. Ya hemos calculado f [x0, x1] = −0.2473009. Además cos(0.4) − cos(0.3) . f [x1, x2] = = −0.3427550 0.4 − 0.3 . −0.3427550 − (−0.2473009) f [x0, x1, x2] = 0.4 − 0.2 = −0.4772705 Por otra parte, del teorema anterior 1 00 f [x0, x1, x2] = f (c) 2! para algún c entre el mı́nimo y el máximo de x0, x1, x2. Puesto que f 00(x) = − cos(x) se tiene cos c . f [x0, x1, x2] = −0.4772705 = − 2 . Entonces c = 0.30268. Propiedades de las diferencias divididas Las diferencias divididas tienen propiedades que simplifican su utilización. La definición de diferencia dividida parece indicar que depende del orden de los puntos x0, x1, . . . , xn. Sin embargo se puede demostrar que si {i0, i1, . . . , in} es una permutación de {1, 2, . . . , n}, se cumple f [xi0 , xi1 , . . . , xin ] = f [x0, x1, . . . , xn]. La prueba no es trivial, por lo que sólo consideraremos los casos n = 1 y n = 2. Para n = 1 f (x0) − f (x1) f [x1, x0] = x0 − x1 f (x1) − f (x0) = = f [x0, x1] x1 − x0 Para n = 2 f [x1, x2] − f [x0, x1] f [x0,x1, x2] = x2 − x0 = f (x2)−f (x1) x2−x1 (x0) − f (xx11)−f −x0 x2 − x0 f (x2) f (x0) + = (x0 − x1)(x0 − x2) (x2 − x1)(x2 − x0) − f (x1) x2−x1 1) + xf1(x −x0 x2 − x0 f (x0) f (x1) = + (x0 − x1)(x0 − x2) (x1 − x0)(x1 − x2) f (x2) + . (x2 − x1)(x2 − x0) Si se intercambian los valores de x0, x1 y x2, entonces las fracciones del lado derecho intercambian su orden, pero la suma total permanece constante. Las definición de diferencia dividida se puede extender al caso en que alguno o todos los xi’s coinciden. Supóngase que f es suficientemente derivable. Entonces f [x0, x0] = lim f [x0, x1] x1→x0 f (x1) − f (x0) = lim = f 0(x0). x1→x0 x1 − x0 En el caso en que sólo alguno de los nodos coinciden también puede extenderse la definición del modo siguiente f [x0, x1, x0] = f [x0, x0, x1] f [x0, x1] − f [x0, x0] = x1 − x0 f [x0, x1] − f 0(x0) = . x1 − x0 La fórmula de interpolación de las diferencias divididas de Newton La fórmula de Lagrange del polinomio de interpolación no es conveniente a la hora de realizar cálculos. Además, el cálculo de Pn(x) es muy poco aprovechado cuando se tiene que calcular Pn+1(x) y los siguientes polinomios de interpolación. Para evitar estos problemas se utilizará otra fórmula para el polinomio de interpolación en la que intervienen las diferencias divididas de los datos xi a interpolar. Sea Pn(x) el polinomio que interpola f (xi) en xi, i = 0, 1, . . . , n. Entonces el grado de Pn(x) es menor o igual que ny Pn(xi) = f (xi). Se verifica: P1(x) = f (x0) + (x − x0)f [x0, x1] P2(x) = f (x0) + (x − x0)f [x0, x1] + (x − x0)(x − x1)f [x0, x1, x2] y en general Pn(x) = f (x0) + (x − x0)f [x0, x1] + . . . + (x − x0)(x − x1) . . . (x − xn−1)f [x0, x1, . . . , xn], que se llama fórmula de las diferencias divididas de Newton para el polinomio de interpolación. Nótese que Pn(x) = Pn−1(x) + (x − x0)(x − x1) . . . (x − xn−1)f [x0, x1, . . . , xn]. Ası́ que, una vez que las diferencias divididas han sido calculadas, podemos ir del grado n al grado n + 1 con un mı́nimo de cálculo. Únicamente presentaremos la demostración de los casos n = 1 y n = 2. Para n = 1. Desde luego P1(x0) = f (x0). f (x1) − f (x0) P1(x1) = f (x0) + (x1 − x0) x1 − x0 = f (x0) + (f (x1) − f (x0)) = f (x1). Puesto que el grado de P1(x) es menor o igual que 1 y cumple las condiciones de interpolación, es el polinomio de interpolación, ya que es único. Para el caso n = 2, nótese que P2(x) = P1(x) + (x − x0)(x − x1)f [x0, x1, x2] y es de grado menor o igual que 2. Además P2(x0) = P1(x0) = f (x0), P2(x1) = P1(x1) = f (x1), P2(x2) = f (x0) + (x2 − x0)f [x0, x1] + (x2 − x0)(x2 − x1)f [x0, x1, x2] = f (x0) + (x2 − x0)f [x0, x1] + (x2 − x1)(f [x1, x2] − f [x0, x1]) = f (x0) + (x1 − x0)f [x0, x1] + (x2 − x1)f [x1, x2] = f (x0) + (f (x1) − f (x0)) + (f (x2) − f (x1)) = f (x2) y de nuevo se aplica la unicidad del polinomio de interpolación. La deducción de la fórmula en el caso general es más complicada y sale fuera de los objetivos de este Capı́tulo. Error en la interpolación polinomial Supóngase que f (x) es n + 1 veces derivable con continuidad en el intervalo [a, b]. Sea Pn(x) el polinomio de interpolación a f (x) en los n + 1 puntos distintos de [a, b], x0, x1, . . . , xn. Entonces f (x) − Pn(x) (x − x0)(x − x1) . . . (x − xn) (n+1) = f (cx) (n + 1)! (3) () para a ≤ x ≤ b, donde cx es un punto entre el el mı́nimo y el máximo de x0, x1, . . . , xn y x. Ejemplo 5. Sea f (x) = ex con 0 ≤ x ≤ 1 y considérese el error en la interpolación lineal a f (x). De (3) (x − x0)(x − x1) cx e − P1(x) = e 2 x para algún cx entre el mı́nimo y el máximo de x0, x1 y x. Supóngase que x0 < x < x1, entonces el error de interplación es negativo y escribimos (x − x0)(x1 − x) cx e e − P1(x) = − 2 x lo que muestra que el error de interpolación es parecido a un polinomio cuadrático con raı́ces x0 y x1. Puesto que x0 < cx < x1 se tiene (x − x0)(x1 − x) x0 e ≤ |ex − P1(x)| 2 (x − x0)(x1 − x) x1 ≤ e . 2 Para obtener una cota independiente de x, utilice (x − x0)(x1 − x) h2 = max x0≤x≤x1 2 8 h = x1 − x0 . Nótese que la función (x − x0)(x1 − x) alcanza el máximo en el punto medio de x0 y x1. Por otra parte, téngase en cuenta que ex ≤ e para 0 ≤ x ≤ 1. Ası́ que 2 h e x |e − P1(x)| = , 8 En el ejemplo: 0 ≤ x0 ≤ x ≤ x1 ≤ 1. Sea la tabla: x .80 .81 .82 .83 .84 .85 .86 .87 .88 .89 Obtener una estimación de ex 2.225541 2.247908 2.270500 2.293319 2.316367 2.339647 2.363161 2.386911 2.410900 2.435130 e0.826 usando interpolación lineal en la tabla anterior. Se elige x0 = 0.82 y x1 = 0.83. Entonces P1(x) = 2.270500 + 2.293319 − 2.270500 (x − 0.82) 0.83 − 0.82 = 2.270500 + 2.2819(x − 0.82) En particular P1(0.826) = 2.2841914. El valor verdadero redondeado a ocho dı́gitos significativos es . e0.826 = 2.2841638. El error es e0.826 − P1(0.826) = −0.0000276. Tenemos en 2 h e x |e − P1(x)| = , 8 0 ≤ x0 ≤ x ≤ x1 ≤ 1. x = 0.826 y h = 0.01. Entonces 2 (0.01) (2.72) x = 0.0000340 |e − P1(x)| ≤ 8 Ejemplo 6. Sea f (x) = ex para 0 ≤ x ≤ 1. Considérese el error de interpolación cuadrático (x − x0)(x − x1)(x − x2) cx e − P2(x) = e 6 x para algún cx entre el mı́nimo y el máximo de x0, x1, x2, x. Supóngase que h = x1 − x0 = x2 − x1 y que x0 < x < x2. Suponiendo que todos los nodos x están en [0, 1], igual que en el ejemplo anterior, se obtiene (x − x0)(x − x1)(x − x2)) 1 x e |e − P2(x)| ≤ 6 Ahora tenemos en cuenta que 3 (x − x0)(x − x1)(x − x2)) h = √ . max 9 3 x0≤x≤x2 6 De donde se obtiene 3 h e . x |e − P2(x)| ≤ √ = 0.174h3. 9 3 Para h = 0.01, 0 ≤ x ≤ 1, |ex − P2(x)| ≤ 1.74 × 10−7. Si Pn+1(x) el polinomio de interpolación a f (x) en los n + 2 puntos distintos x0, x1, . . . , xn, xn+1, usando la forma de las diferencias divididas de Newton, se tiene Pn+1(x) = Pn(x) + (x − x0)(x − x1) . . . (x − xn)f [x0, x1, . . . , xn+1]. con Pn(x) interpolando f (x) en los puntos x0, x1, . . . , xn. Usando la propiedad de interpolación y haciendo x = xn+1, se obtiene f (xn+1) = Pn(xn+1) + (xn+1 − x0)(xn+1 − x1) . . . (xn+1 − xn)f [x0, x1, . . . , xn+1]. Considerando a xn+1 como un punto variable y renombrándolo como t, se tiene f (t) − Pn(t) + (t − x0)(t − x1) . . . (t − xn)f [x0, x1, . . . , t]. Éste es el error de interpolación al sustituir f (t) por Pn(t), que es cero cuando t es uno de los nodos x0, x1, . . . , xn. Comparando esta fórmula con la 3 en x = t, se llega a Ψn(t) (n+1) f (ct) (n + 1)! = Ψn(t)f [x0, x1, . . . , t], donde Ψn(t) = (t − x0)(t − x1) . . . (t − xn). Simplificando Ψn(t) en ambos lados de la igualdad f (n+1)(ct) = f [x0, x1, . . . , t], (n + 1)! donde ct está entre el mı́nimo y el máximo de x0, x1, . . . , xn y t. REFERENCIAS Kendall Atkinson, Elementary Numerical Analysis, Second Edition, Jhon Wiley & Sons, Inc. New York, 1993 A. Cordero Barbero, J.L. Hueso Pagoaga, E. Martı́nez Molada, J.R. Torregrosa Sánchez, Problemas resueltos de Métodos Numéricos, Edit. Thomson, Madrid, 2006, ISBN 84-9732-409-9.