Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Interpolación
Capı́tulo 3
Interpolación
Supongamos que queremos estudiar cierto fenómeno del que tenemos una serie de
datos puntuales obtenidos por mediciones realizadas y que deseamos extraer una
información más completa a partir de los datos constatados. Una opción puede ser
la de “reconstruir” el fenómeno modelizándolo con una función que lo represente de
la manera más fiable posible.
Ejemplo 3.0.1 Un cuerpo se mueve de modo que conocemos los datos siguientes:
(0,0), (1,0.4), (4,1.2), (6,3.6) donde la primera coordenada señala el tiempo en se-
gundos y la segunda la velocidad en metros/segundo. ¿Podemos estimar la velocidad
que llevaba a los 2 segundos de iniciado el movimiento?
Podemos decir que la interpolación estudia el cálculo de funciones que pasan (in-
terpolan) por unos puntos (los datos) disponibles.
71
72 3. Interpolación
Por “aproximar” entendemos que debe coincidir con f (x) en los puntos del dominio
donde se conoce.
P (x) = a0 + a1 x + a2 x2 + · · · + an xn
Teorema 3.1.1
Dada una familia de n + 1 puntos {(x0 , f (x0 )), (x1 , f (x1 )), . . . , (xn , f (xn ))}, todos
distintos, existe un único polinomio Pn (x), de grado menor o igual a n, que interpola
a f (x) en dichos puntos.
Este teorema nos confirma que podemos encontrar un polinomio interpolador para
una función f (x) y que para determinarlo necesitaremos disponer de los n + 1 valo-
res correspondientes a las imágenes mediante f (x) de los puntos del SOPORTE : S
={x0 , x1 , . . . , xn }, donde no se repite ningún valor y normalmente están ordenados
de menor a mayor. Además dicho polinomio interpolador es único.
donde c es un punto que se encuentra en el menor intervalo que contenga a los puntos:
{x, x0 , x1 , . . . , xn }.
Se puede observar que el error viene expresado por un polinomio y que es cero en
cada elemento del soporte, pero si queremos conocer el error en puntos intermedios
es imprescindible conocer la función f (x) y enfrentarnos a la acotación de la derivada
de orden (n + 1) de la misma.
Si llamamos M al valor máximo de f n+1) (x) en I = [x0 , xn ], podemos acotar el
error según
n
M Y
εn ≤ |(x − x0 )(x − x1 ) · · · (x − xn )|
(n + 1)! i=0
3. No debemos usar el polinomio para aproximar valores que estén fuera del inter-
valo de interpolación.
1
Si tomamos como soporte uno no equiespaciado, por ejemplo: S1 = {−1, 0, , 1}
2
4 3 2 5
el polinomio queda P1 (x) = (x − x − x + ). Si después consideramos un soporte
5 4
1 1
del mismo tamaño pero equiespaciado: S2 = {−1, − , , 1} sale otro polinomio de
3 3
manera que en los siguientes gráficos podemos observar las diferencias entre f (x) y
el polinomio interpolador P (x) de cada cada caso: se aprecia que en el equiespaciado
se produce un error máximo de 0.7 unidades aproximadamente mientras que en el no
es equiespaciado el error es sobre 1.2 unidades, sensiblemente mayor (ver Figuras 1.4
y 1.5)
Figura 3.1: f (x) y P (x) con soporte no equiespaciado y comportamiento del error.
Por otro lado si optamos por tomar soportes equiespaciados pero vamos duplicando
la partición del intervalo [−1, 1]: primero n = 3,después n = 6 y por último n = 12, se
observa que al aumentar el número de puntos disminuye el error en la zona central del
intervalo pero aumenta en las zonas laterales de manera sensible, éste es el llamado
fenómeno de Runge (ver Figuras 1.5 , 1.6 y 1.7)
Teorema 3.2.1
Si f (x) es una función continua y sucesivamente derivable en un intervalo I = [a, b],
para todo ε > 0 existe un polinomio interpolador Pε (x) tal que para todo punto de I
se cumple: |f (x) − Pε (x)| < ε.
Una vez que hemos aclarado todo lo relacionado con el error de interpolación vamos
a proceder a detallar tres métodos para construir el (único) polinomio interpolador
asociado a un soporte dado.
Si disponemos de (n + 1) puntos del plano {(x0 , f (x0 )), (x1 , f (x1 )), . . . , (xn , f (xn ))}
todos ellos distintos, podemos encontrar un polinomio de grado máximo n: P (x) =
a0 + a1 x + a2 x2 + · · · + an xn que pase por todos y cada uno de dichos puntos y que
en definitiva, interpola a f (x).
Un cuerpo se mueve de modo que conocemos los datos siguientes: (0,0), (1,0.4),
(4,1.2), (6,3.6) donde la primera coordenada señala el tiempo en segundos y la segunda
la velocidad en metros/segundo. ¿Podemos estimar la velocidad que llevaba a los 2
segundos de iniciado el movimiento?
0 = a0 + a1 0 + a2 02 + a3 03
0.4 = a0 + a1 1 + a2 12 + a3 13
1.2 = a0 + a1 4 + a2 42 + a3 43
3.6 = a0 + a1 6 + a2 62 + a3 63
sigue:
n
Y x − xi
Lj (x) =
i=0
xj − xi
j6=i
Observa que tomando un soporte con n + 1 puntos, lo que hemos definido son
n + 1 polinomios de grado n que cumplen lo siguiente:
Lj (xi ) = 0; si i 6= j
Lj (xj ) = 1; si i = j
Serán:
(x − x1 )(x − x2 )(x − x3 )
L0 (x) =
(x0 − x1 )(x0 − x2 )(x0 − x3 )
(x − x0 )(x − x2 )(x − x3 )
L1 (x) =
(x1 − x0 )(x1 − x2 )(x1 − x3 )
(x − x0 )(x − x1 )(x − x3 )
L2 (x) =
(x2 − x0 )(x2 − x1 )(x2 − x3 )
(x − x0 )(x − x1 )(x − x2 )
L3 (x) =
(x3 − x0 )(x3 − x1 )(x3 − x2 )
Si concretamos el soporte:
S = {1, 2, 4, 5}
Serán:
(x − 2)(x − 4)(x − 5) (x − 2)(x − 4)(x − 5)
L0 (x) = =
(1 − 2)(1 − 4)(1 − 5) −12
(x − 1)(x − 4)(x − 5) (x − 1)(x − 4)(x − 5)
L1 (x) = =
(2 − 1)(2 − 4)(2 − 5) 6
(x − 1)(x − 2)(x − 5) (x − 1)(x − 2)(x − 5)
L2 (x) = =
(4 − 1)(4 − 2)(4 − 5) −6
(x − 1)(x − 2)(x − 4) (x − 1)(x − 2)(x − 4)
L3 (x) = =
(5 − 1)(5 − 2)(5 − 4) 12
3.4. Interpolación por el método de Lagrange 79
que tiene grado menor o igual que n, interpola la tabla de valores dada.
Ejemplo 3.4.2 Determinar el polinomio interpolador de Lagrange para los datos si-
guientes: S = {1, 2, 4, 5}, e Y = {0, 6, 12, 24} donde S es el soporte e Y sus imágenes
Como los polinomios auxiliares de Lagrange sólo dependen del soporte y éste
coincide con el del ejemplo anterior, no necesitaremos volverlos a calcular; por lo
tanto ya estamos en condiciones de escribir el polinomio interpolador de Lagrange:
Ahora podremos utilizar dicho polinomio para estimar los valores de las imágenes
de cualquier punto del intervalo (1,5); por ejemplo: P3 (3) = 33 −8(32 )+23(3)−16 = 8,
lo que nos permite decir que según los datos manejados, la función para x = 3 valdrı́a
8.
P (x) = 0L0 (x) + 2L1 (x) + 32L2 (x) + 162L3 (x) = 12x3 − 22x2 + 12x.
Con los datos obtenidos: P (1.5) = P (3/2) = 12(3/2)3 − 22(3/2)2 + 12(3/2) = 9; una
cota del error será:
Por último, para estimar el valor de sen(1.2) bastará con sustituir x = 1.2 en
el polinomio obtenido: P2 (1.2) = 0.930455446. Y si lo sustituimos en la función del
error, ε ≤ 0.003915125694 < 0.01.
Comenzamos:
Definición 3.5.1
Dada una familia de n + 1 puntos {(x0 , f (x0 )), (x1 , f (x1 )), . . . , (xn , f (xn ))}, todos con
abscisas distintas, definimos la base de Newton asociada a dicho soporte, como:
n−1
Y
{1, (x − x0 ), (x − x0 )(x − x1 ), (x − x0 )(x − x1 )(x − x2 ), . . . , (x − xi )}
i=0
a mayor.
Definición 3.5.2
Dada una familia de n + 1 puntos {(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )}, todos con abscisas
distintas, definimos el polinomio interpolador de Newton asociado a dicho soporte,
como:
(n−1)
Y
Pn (x) = A0 +A1 (x−x0 )+A2 (x−x0 )(x−x1 )+A3 (x−x0 )(x−x1 )(x−x2 )+· · ·+An (x−xi )
i=0
Es importante hacer notar que este polinomio que acabamos de definir, de grado
n, es una combinación lineal de la base de Newton, lo que nos permitirá ampliarlo
con facilidad; y además es el mismo que se obtiene por Lagrange para esos mismos
datos (recuérdese que el polinomio interpolador asociado a un soporte es único).
Definición 3.5.3
Dada una familia de n + 1 puntos {(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )}, todos con abscisas
distintas donde f (xi ) = yi definimos las DIFERENCIAS DIVIDIDAS de NEWTON
asociadas a dichos datos, de la manera siguiente:
para i = 0, 1, 2, . . . , (n − k) con 1 ≤ k.
3.5. Interpolación por el método de las diferencias divididas de Newton 85
f [x1 ,x2 ]−f [x0 ,x1 ] f [x2 ,x3 ]−f [x1 ,x2 ]
f [x0 , x1 , x2 ] = x2 −x0
; f [x1 , x2 , x3 ] = x3 −x1
Todos estos datos se pueden organizar según una tabla de las siguientes carac-
terı́sticas, en la que cada columna se puede rellenar a partir de la anterior y la primera,
según el esquema previo de diferencias divididas:
Nótese que:
• El orden en el que se toman los puntos del soporte para calcular una dife-
rencia dividida de orden p, no afecta al valor de ésta: f [x1 , x0 ] = f [x0 , x1 ] ó
f [x0 , x1 , x2 ] = f [x2 , x1 , x0 ] por ejemplo.
−1−1 −2 −2+1 −1
f [x0 , x1 , x2 ] = 4−1
= 3
; f [x1 , x2 , x3 ] = 5−2
= 3
.
−1
− −2 −1
f [x0 , x1 , x2 , x3 ] = 3
5−1
3
= 12
.
Teorema 3.5.6
Dada una familia de n + 1 puntos {(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )}, todos con abscisas
distintas, los coeficientes Ai del polinomio interpolador de Newton ,
(n−1)
Y
Pn (x) = A0 +A1 (x−x0 )+A2 (x−x0 )(x−x1 )+A3 (x−x0 )(x−x1 )(x−x2 )+· · ·+An (x−xi )
i=0
son:
A0 = f [x0 ]
A1 = f [x0 , x1 ]
A2 = f [x0 , x1 , x2 ]
en general:
Ai = f [x0 , x1 , . . . , xi ]
Conocido esto, el polinomio interpolador para los datos del ejemplo anterior será:
−2 1 25 5 1
P3 (x) = 4+1(x−1)+( )(x−1)(x−2)+ (x−1)(x−2)(x−4) = 1+ x− x2 + x3 .
3 12 6 4 12
Antes decı́amos que este método permitı́a ampliar el soporte sin necesidad de
volver a empezar, vamos a verlo:
Como son datos del soporte del ejercicio anterior y disponemos de las diferencias
divididas necesarias, respondemos directamente:
1)
P1 (x) = 4 + 1(x − 1) = 3 + x.
2)
2 5 2
P2 (x) = (3 + x) + (− )(x − 1)(x − 2) = + 3x − x2 .
3 3 3
3) Es el que ya calculamos antes:
5 2 1 25 5 1
P3 (x) = ( + 3x − x2 ) + (x − 1)(x − 2)(x − 4) = 1 + x − x2 + x3 .
3 3 12 6 4 12
También este método sufre los efectos del fenómeno de Runge, como queda refle-
jado en el siguiente ejemplo.
88 3. Interpolación
función del error y acotar el error cometido si usamos el polinomio interpolador para
evaluar f (3/4).
1−1 −1/5−1 −3
f [x0 , x1 , x2 ] = 1+1
= 0 ; f [x1 , x2 , x3 ] = 2−0
= 5
.
−3
−0 −1
f [x0 , x1 , x2 , x3 ] = 5
2+1
= 5
.