Documentos de Académico
Documentos de Profesional
Documentos de Cultura
QHDFWM 7WlE3Jo3Y t0CR1nHW5jQ9CEIH-Lectura Fundamental 3
QHDFWM 7WlE3Jo3Y t0CR1nHW5jQ9CEIH-Lectura Fundamental 3
Lectura fundamental
Polinomios interpoladores de
Newton y Lagrange
Contenido
1 Interpolación
Palabras Claves: ajuste de curvas, interpolación, mı́nimos cuadrados, polinomios, diferencias divididas.
1. Interpolación
Cuando se trata de ajustar una cierta cantidad de puntos de forma exacta, se usa interpolación polinomial, es
decir, se usan polinomios que pasan por cada uno de los puntos dados. Incluso es posible usar la interpolación
polinomial para aproximar funciones complicadas usando la sencillez de las funciones polinómicas.
f (x) = a0 + a1 x + a2 x2 + · · · + an xn ,
Dado un conjunto de n + 1 puntos, existe un único polinomio de grado (a lo sumo) n que interpola estos puntos.
Para los polinomios de grado 1 y 2 veamos los siguientes ejemplos:
Ejemplo 1. Dados dos puntos, existe un único polinomio de grado 1 que interpola estos puntos y es la recta.
Ejemplo 2. Dados tres puntos no alineados, existe un único polinomio de grado 2 que interpola estos puntos y es
la parábola.
Si bien existen distintas formas de obtener este polinomio, aquı́ exploraremos básicamente dos; el polinomio de
Newton y el polinomio de Lagrange.
Como anteriormente se mencionó, nuestro objetivo será encontrar el polinomio de menor grado que pase por un
conjunto de puntos dados (x0 , y0 ), (x1 , y1 ), · · · , (xn , yn ).
P0 (x) = y0 , (1)
pues P0 (x0 ) = y0 .
Ahora, agreguemos otro punto de la lista y preguntemos ¿cuál es el polinomio de menor grado que pasa por el
anterior punto (x0 , y0 ) y (x1 , y1 )?
POLITÉCNICO GRANCOLOMBIANO 1
Respuesta: el polinomio de grado 1 (polinomio lineal)
P1 (x) = y0 + c1 (x − x0 ), (2)
donde c1 es un valor a determinar, el cual calcularemos en detalle más adelante. De momento, podemos seguir
ampliando nuestra construcción del polinomio interpolador que pasa por los puntos anteriores y por cualquier otro
punto que se desee ir agregando.
Notemos que el polinomio P1 (x) en (2) es una extensión de P0 (x) de (1), en el sentido de que se agrega el término
lineal c1 (x − x0 ).
Ahora, a partir de P1 (x) obtengamos un polinomio P2 (x) que interpole los puntos anteriores (x0 , y0 ), (x1 , y1 ) y un
tercer punto (x2 , y2 ). Este, deberá tener la forma
c2 (x − x0 )(x − x1 ),
Bajo este mismo razonamiento, podemos construir el polinomio de menor grado n que pase por la lista de puntos
(x0 , y0 ), (x1 , y1 ), · · · , (xn , yn ) y sea una extensión de los polinomios anteriores. Teóricamente deberá tener la forma
Pn (x) = y0 +c1 (x−x0 )+c2 (x−x0 )(x−x1 )+c3 (x−x0 )(x−x1 )(x−x2 )+. . .+cn (x−x0 )(x−x1 )., . . . , .(x−xn−1 ) (4)
A continuación, nuestro propósito será encontrar los valores c1 y c2 (tan sólo los dos primeros, debido a la com-
plejidad que representa el cálculo algebraico a partir de éstos.)
Además, simplificaremos la notación, de tal forma que el polinomio interpolador buscado se pueda hallar de forma
sistemática. Esto es, se pueda definir de una forma más compacta y su algoritmo pueda ser mejor interpretado.
Siguiendo una didáctica construcción descrita en [1], obtendremos el polinomio interpolador de Newton.
Empezaremos por hacer coincidir un polinomio de grado 0 (una constante) P0 (x) = y0 que pase por el primer
punto dado (x0 , y0 ), es decir P0 (x0 ) = y0 . Ver figura 1
Ahora, construimos un polinomio de grado 1 P1 (x) (función lineal, ver figura 2 ) que una los puntos (x0 , y0 ), (x1 , y1 )
de la forma P1 (x) = P0 (x) + c1 (x − x0 ).
Al evaluar P1 (x0 ) = P0 (x0 ) = y0 es decir que obtenemos en x0 el primer punto (x0 , y0 ). Y como queremos hacer
pasar la recta por el otro punto (x1 , y1 ) entonces debemos calcular el valor del coeficiente c1 . Para esto, evaluamos
en x1
P1 (x1 ) = P0 (x1 ) + c1 (x1 − x0 ) = y1 ,
POLITÉCNICO GRANCOLOMBIANO 2
Figura 1. Polinomio de grado 0
Fuente: elaboración propia
POLITÉCNICO GRANCOLOMBIANO 3
El siguiente paso es involucrar el próximo punto (x2 , y2 ) a través de un polinomio de grado 2 (función cuadrática,
ver figura 3) el cual queremos que tome la forma
donde
f [x1 , x2 ] − f [x0 , x1 ]
f [x0 , x1 , x2 ] = = c2 ,
x2 − x0
es definida como diferencia dividida de orden 2 la cual resulta de seguir la construcción anterior, aplicar la nueva
condición P2 (x2 ) = y2 y cierta manipulación algebraica.
Cabe notar que la diferencia de orden 2 necesita las diferencias de orden 1 f [x0 , x1 ], f [x1 , x2 ] y las diferencias de
Pn (x) = f [x0 ]+f [x0 , x1 ](x−x0 )+f [x0 , x1 , x2 ](x−x0 )(x−x1 )+· · ·+f [x0 , x1 , · · · , xn ](x−x0 )(x−x1 ) · · · (x−xn ) (5)
Una forma práctica que resume cómo obtener cada diferencia dividida (al menos hasta de orden 3) lo muestra la
tabla 1
Ejemplo 3. Dados los puntos (−1, 2), (0, −1), (1, 1) y (2, −2) encontrar el polinomio interpolador de Newton.
Dado que son cuatro puntos, debemos calcular las diferencias divididas de orden 0, 1, 2 y 3. Sin embargo, las
diferencias divididas de orden 0 corresponden con los valores de la componente y en cada uno de los puntos.
Calculamos las diferencias divididas de primer orden:
y1 − y0 −1 − 2
f [x0 , x1 ] = = = −3
x1 − x0 0 − (−1)
POLITÉCNICO GRANCOLOMBIANO 4
Figura 4. Polinomio de grado 3
Fuente: elaboración propia
y2 − y1 1 − (−1)
f [x1 , x2 ] = = =2
x2 − x1 1−0
y3 − y2 −2 − 1
f [x2 , x3 ] = = = −3
x3 − x2 2−1
Organizamos estos valores en la correspondiente columna de la tabla 2.
Ahora calculamos las diferencias divididas de orden 2
f [x1 , x2 ] − f [x0 , x1 ] 2 − (−3) 5
f [x0 , x1 , x2 ] = = =
x2 − x0 1 − (−1) 2
f [x2 , x3 ] − f [x1 , x2 ] −3 − 2 5
f [x1 , x2 , x3 ] = = =−
x3 − x1 2−0 2
Luego, organizamos estos valores en la tabla 3.
Por último, calculamos la única diferencia de orden 3 dada por la fórmula
5 5
f [x1 , x2 , x3 ] − f [x0 , x1 , x2 ] − − 5
f [x0 , x1 , x2 , x3 ] = = 2 2 =−
x3 − x0 2 − (−1) 3
POLITÉCNICO GRANCOLOMBIANO 5
x Diferencia dividida 0 Diferencia dividida 1
−1 2
f [x0 , x1 ] = −3
0 −1
f [x1 , x2 ] = 2
1 1
f [x2 , x3 ] = −3
2 −2
P3 (x) = f [x0 ] + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 ) + f [x0 , x1 , x2 , x3 ](x − x0 )(x − x1 )(x − x2 ),
los coeficientes buscados los cuales son las diferencias divididas calculadas, corresponden a los primeros elementos
de cada columna de la tabla 4 completa.
POLITÉCNICO GRANCOLOMBIANO 6
x Diferencia Diferencia dividida 1 Diferencia dividida 2 Diferencia dividida 3
dividida 0
−1 2
f [x0 , x1 ] = −3
5
0 −1 f [x0 , x1 , x2 ] =
2
5
f [x1 , x2 ] = 2 f [x0 , x1 , x2 , x3 ] = −
3
5
1 1 f [x1 , x2 , x3 ] = −
2
f [x2 , x3 ] = −3
2 −2
Figura 5. Polinomio interpolador para los puntos (−1, 2), (0, −1), (1, 1) y (2, −2)
Fuente: Elaboración propia.
Al principio de esta unidad se presentó un problema de aplicación para motivar el tema de interpolación. En esta
sección, lo resolveremos usando el polinomio interpolador de Newton.
Problema de aplicación:
Un equipo de ingenieros está diseñando un abridor automático para paracaı́das de reserva, el cual se activa en
función de la velocidad y el tiempo de caı́da libre del paracaidista. Al realizar una primera prueba se pudieron
recolectar los datos del cuadro 5. ¿Cuál es la velocidad del paracaidista a los 10 segundos de haber saltado del
avión?. Utilice el polinomio interpolador de Newton de grado 3 para estimar este valor.
POLITÉCNICO GRANCOLOMBIANO 7
Tiempo x (segundos) 1 3 5 7 20
Velocidad (centı́metros/segundos) 800 2310 3090 3940 8000
Solución:
Dado que el polinomio interpolador de grado 3 requiere 4 puntos, escogeremos los más cercanos a x = 10 en
la lista. Esto son (3, 2310), (5, 3090), (7, 3940) y (20, 8000). Usando el algoritmo * descrito en la figura (6) y sus
correspondientes salidas en la figura (7), podemos reconstruir la tabla de diferencias divididas de orden 3. Ver
cuadro (6).
Ahora, podemos construir el polinomio interpolador de Newton de grado 3 a partir de la fórmula (5) como
P3 (x) = f [x0 ] + f [x0 , x1 ](x − x0 ) + f [x0 , x1 , x2 ](x − x0 )(x − x1 ) + f [x0 , x1 , x2 , x3 ](x − x0 )(x − x1 )(x − x2 ). (6)
P3 (x) = 2310 + (390)(x − 3) + (8.75)(x − 3)(x − 5) + (−0.956637)(x − 3)(x − 5)(x − 7). (7)
Al evaluar este polinomio en x = 10 se obtiene que P3 (10) ≈ 5245.803167. Es decir, la velocidad del paracaidista
es aproximadamente 5245.803167m/s a los 10 segundos de haber saltado del avión.
El algoritmo, los coeficientes del polinomio interpolador de Newton de la ecuación (5), resultan ser muy fáciles y
efectivos de calcular. Esto se debe a que las diferencias finitas de orden inferior sirven para calcular las diferencias
de orden superior en la medida que se avanza. Esta reutilización de cálculos anteriores es una de las bondades del
algoritmo. Además, se tiene una cualidad valiosa cuando se incorpora al algoritmo la posibilidad de determinar,
si al ir sumando términos (conforme aumenta el grado del polinomio), tal suma resulta significativa o no, y parar,
si el grado del polinomio aumenta y no aporta demasiada información al polinomio deseado.
*
El algoritmo es tomado originalmente y modificado del libro [1]
POLITÉCNICO GRANCOLOMBIANO 8
Figura 6. Algoritmo para el interpolador de Newton
Fuente: elaboración propia
POLITÉCNICO GRANCOLOMBIANO 9
3. Interpolación polinomial de Lagrange
¿Existe otra forma de encontrar el polinomio que interpola cualquier lista de n + 1 puntos dados (x0 , y0 ), (x1 , y1 ),
. . . , (xn , yn )? La respuesta es sı́, y puede ser encontrado a través de la siguiente construcción:
¿Cómo construir el polinomio de grado cero P0 (x) que pase por el primer punto dado (x0 , y0 )? Este polinomio
tendrá la forma
P0 (x) = y0 . (8)
Es decir, el polinomio constante tal que P0 (x0 ) = y0 .
¿Cómo construir el polinomio de grado 1 P1 (x) que pase por los puntos (x0 , y0 ), (x1 , y1 )? Este podrá tener la
forma
x − x1 x − x0
P1 (x) = y0 + y1 . (9)
x0 − x1 x1 − x0
Nótese que
P1 (x0 ) = 1.y0 + 0.y1 = y0 .
Con lo cual, el polinomio construido (9) pasa exactamente por y0 cuando lo evaluamos en x0 .
Análogamente,
P1 (x1 ) = 0.y0 + 1.y1 = y1 .
Ası́, el polinomio construido (9) pasa exactamente por y1 cuando lo evaluamos en x1 .
x − x1 x − x0
El lector notará que los términos y fueron construidos con la intención de que valgan 1 o 0 y esto
x0 − x1 x1 − x0
conlleve a que el polinomio esté obligado a pasar exactamente por y0 y y1 .
Ahora, ¿cómo construir el polinomio de grado 2 P2 (x) que pase por los puntos (x0 , y0 ), (x1 , y1 ), (x2 , y2 )?
Siguiendo la estrategia aplicada para la construcción del polinomio P1 (x), entonces podemos planetar el poli-
nomio buscado como
(x − x1 )(x − x2 ) (x − x0 )(x − x2 ) (x − x0 )(x − x1 )
P2 (x) = y0 + y1 + y2 . (10)
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
De esta forma, el polinomio (10) está obligado a pasar por los tres puntos dados, pues
POLITÉCNICO GRANCOLOMBIANO 10
Invitamos al lector a construir el polinomio de grado 3 P3 (x) que pasa por los puntos dados (x0 , y0 ), (x1 , y1 ), (x2 , y2 )
, (x3 , y3 ).
En este momento, resulta natural generalizar estas ideas para construir el polinomio de grado n que interpola
los n + 1 puntos dados (x0 , y0 ), (x1 , y1 ), . . . , (xn , yn ). Para esto, simplifiquemos un poco la notación usada, redefi-
niendo a P1 (x) en la expresión (9) como
donde
x − x1 x − x0
L0 (x) = y L1 (x) = .
x0 − x1 x1 − x0
Análogamente, para el polinomio P2 (x) en (10) lo podemos escribir como
donde
(x − x1 )(x − x2 ) (x − x0 )(x − x2 ) (x − x0 )(x − x1 )
L0 (x) = , L1 (x) = , L2 (x) = .
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
Además, se define los valores P2 (x0 ) = y0 , P2 (x1 ) = y1 y P2 (x2 ) = y2 . Esto quiere decir que el polinomio P2 (x)
pasará por los tres puntos dados (x0 , y0 ), (x1 , y1 ) y (x2 , y2 ). Cada una de las funciones L0 (x), L1 (x) y L2 (x) está
construida para que sea 1 cuando se evalúa en su subı́ndice correspondiente y sea 0 cuando se evalúa en cualquier
otro subı́ndice distinto. Es decir,
(x0 − x1 )(x0 − x2 )
L0 (x0 ) = = 1,
(x0 − x1 )(x0 − x2 )
pero
1− 1 )(x1 − x2 ) (x2 − x1 )( −x
(x x x2 2)
L0 (x1 ) = =0 y L0 (x2 ) = = 0.
(x0 − x1 )(x0 − x2 ) (x0 − x1 )(x0 − x2 )
Se invita al lector a verificar este mismo hecho para las funciones L1 (x) y L2 (x)
POLITÉCNICO GRANCOLOMBIANO 11
Una forma más compacta de escribir el producto de estos factores que describen las funciones Li (x) es usando la
notación de productoria **
n
Y (x − xj )
Li (x) = . (14)
(xi − xj )
j=0
j6=i
Con todo lo anterior y usando la notación de sumatoria podemos escribir el polinomio de interpolación de Lagrange
como
n
X
Pn (x) = Li (x)Pn (xi ), (15)
i=0
3.1. Ejemplo
Para comprender cómo utilizar este polinomio interpolador, veamos el siguiente ejemplo:
Ejemplo 4. Dados los puntos (0, −3), (1, 0), (3, 5) y (6, 7) encuentre el polinomio de Lagrange que los interpola.
Calcule ademas, el valor estimado para x = 1.8.
Organizamos los puntos dados en la tabla 7. Como se tiene cuatro puntos, entonces hay que obtener un polinomio
i xi yi
0 0 -3
1 1 0
2 3 5
3 6 7
de grado 3. Usando el polinomio interpolador de Lagrange en cualquiera de las dos versiones (13) o (15) se tiene,
POLITÉCNICO GRANCOLOMBIANO 12
como sigue
(x − x1 )(x − x2 )(x − x3 ) (x − 1)(x − 3)(x − 6) (x − 1)(x − 3)(x − 6)
L0 (x) = = = ,
(x0 − x1 )(x0 − x2 )(x0 − x3 ) (0 − 1)(0 − 3)(0 − 6) −18
(x − x0 )(x − x2 )(x − x3 ) (x − 0)(x − 3)(x − 6) x(x − 3)(x − 6)
L1 (x) = = = ,
(x1 − x0 )(x1 − x2 )(x1 − x3 ) (1 − 0)(1 − 3)(1 − 6) 10
(x − x0 )(x − x1 )(x − x3 ) (x − 0)(x − 1)(x − 6) x(x − 1)(x − 6)
L2 (x) = = = ,
(x2 − x0 )(x2 − x1 )(x2 − x3 ) (3 − 0)(3 − 1)(3 − 6) −18
(x − x0 )(x − x1 )(x − x2 ) (x − 0)(x − 1)(x − 3) x(x − 1)(x − 3)
L3 (x) = = = .
(x3 − x0 )(x3 − x1 )(x2 − x2 ) (6 − 0)(6 − 1)(6 − 3) 90
Recordando que por definición, los valores yi de la tabla se pueden escribir como
Podrı́a usarse directamente cualquier tipo de calculadora para obtener que P3(1.8) ≈ 2.2176 o bien, implementar el
pseudocódigo del cuadro (8) para calcular el polinomio interpolador de Lagrange evaluado en dicho punto. Esto
último se describe en la figura (9)***
***
Algoritmo tomado originalmente y módificado de [1]
POLITÉCNICO GRANCOLOMBIANO 13
3.2. Algoritmo para el polinomio de Lagrange
Cuando se pretende encontrar la interpolación de un dato a partir de otros dados, los algoritmos para los polinomios
de Newton y Lagrange son similares, sin embargo se destaca por su sencillez de programación el polinomio de
Lagrange. A continuación se muestra dicho pseudocódigo (ver cuadro 8).
POLITÉCNICO GRANCOLOMBIANO 14
Análisis del error en la aproximación polinomial
Hemos reservado la última parte de este escenario para discutir algunos detalles importantes sobre la estimación
del error. Como es natural, es de esperar la aparición de un error al intentar “imitar” una función desconocida con
un polinomio de grado n. En el caso de usar un polinomio de grado 1, la función f (x) puede escribirse como
f (x) = f [x0 ] + (x − x0 )f [x0 , x1 ] + R1 (x) = P1 (x) + R1 (x), (16)
donde P1 (x) es el polinomio de grado 1 y R1 (x) es el error cometido asociado a ese polinomio. Despejando R1 (x)
en (16)
Por lo tanto,
f (x) = P2 (x) + R2 (x) = f [x0 ] + (x − x0 )f [x0 , x1 ] + (x − x0 )(x − x1 )f [x0 , x1 , x2 ] + R2 (x) (21)
despejando R2 (x)
R2 (x) = f [x] − f [x0 ] − (x − x0 )f [x0 , x1 ] − (x − x0 )(x − x1 )f [x0 , x1 , x2 ], (22)
y análogamente como en el caso lineal, se llega a que
R2 (x) ≈ (x − x0 )(x − x1 )(x − x2 )f [x0 , x1 , x2 , x3 ]. (23)
con lo cual, de forma inductiva se puede demostrar la siguiente fórmula conocida como fórmula fundamental de
Newton en diferencias divididas
f (x) = Pn (x) + Rn (x), (24)
donde Pn (x) es el polinomio de grado n y Rn (x) es el error para tal polinomio
Rn (x) ≈ (x − x0 )(x − x1 )(x − x2 ) · · · (x − xn )f [x0 , x1 , x2 , . . . , xn , xn+1 ]. (25)
POLITÉCNICO GRANCOLOMBIANO 15
Algunas consideraciones sobre la fórmula (25)
1. Para poder aplicar esta fórmula, se debe conocer y usar un punto más, de los que requiere el polinomio que
se desea encontrar.
3. Si bien se espera que la aproximación mejore conforme aumente el grado del polinomio, deberá existir un
polinomio de grado óptimo, pues a partir de este, el producto (x−x0 )(x−x1 )(x−x2 ) · · · (x−xn ) se desbordará
en tamaño.
4. Tal fórmula establece una aproximación puntual del error, sin embargo, es posible determinar un intervalo
que acote el error. Par más detalles, el lector puede consultar el libro [3], páginas 402-405.
Referencias
[1] Arévalo, O. D., Bernal, Y. M. Á. y Posada, R. J. A. (2017). Matemáticas para ingenierı́a: métodos numéricos
con python. Retrieved from https://ebookcentral-proquest-com.loginbiblio.poligran.edu.co
[2] Chapra, S. C., y Canale, R. P. (2007). Métodos numéricos para ingenieros (5a. ed.). Retrieved from
https://ebookcentral-proquest-com.loginbiblio.poligran.edu.co
[3] Nieves, H. A. (2014). Métodos numéricos: aplicados a la ingenierı́a. Retrieved from https://ebookcentral-
proquest-com.loginbiblio.poligran.edu.co
[4] Burden, R. L., Faires, J. D. (2007). Análisis numérico (7a. ed.). Thomsom Learning.
[5] Vázquez, L., Jiménez, S. (2009). Métodos numéricos para la fı́sica y la ingenierı́a. Retrieved from
https://ebookcentral-proquest-com.loginbiblio.poligran.edu.co
POLITÉCNICO GRANCOLOMBIANO 16
INFORMACIÓN TÉCNICA
POLITÉCNICO GRANCOLOMBIANO 17