Está en la página 1de 21

Capı́tulo 3

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?

Para dar respuesta a este tipo de problemas vamos a hablar de interpolación y


más concretamente de interpolación polinomial.

Podemos decir que la interpolación estudia el cálculo de funciones que pasan (in-
terpolan) por unos puntos (los datos) disponibles.

3.1 Interpolación polinomial

Aquı́ concretamente nos proponemos encontrar un polinomio P (x) que “aproxime”


una función “desconocida” f (x) de la que sabemos su valor en unos pocos de puntos
de su dominio.

La expresión “función desconocida” se debe interpretar como que efectivamente

71
72 3. Interpolación

no la conocemos, fenómeno que queremos investigar, o que conocida, nos interesa


sustituirla por otra (polinómica) más sencilla para facilitar el trabajo.

Por “aproximar” entendemos que debe coincidir con f (x) en los puntos del dominio
donde se conoce.

Los polinomios a que nos referimos son funciones de la forma:

P (x) = a0 + a1 x + a2 x2 + · · · + an xn

donde n es un número natural y los coeficientes ai , números reales. Como sabemos,


los polinomios son funciones continuas y derivables sucesivamente en toda la recta
real.

Partimos del conocimiento de los valores de una función f (x) en (n + 1) puntos


{x0 , x1 , . . . , xn } y queremos encontrar un polinomio de orden, a lo sumo n, que pase
por dichos puntos (i.e. interpole a f (x)) y que además sea único. ¿Será esto posible?
veamos:

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.

A Pn (x) se le llama polinomio interpolador de f (x) en el soporte S.

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.

En particular, si f (x) es un polinomio de grado n la interpolación de f (x) con un


soporte de al menos n + 1 puntos devolverá P (x) = f (x).

El polinomio de interpolación P (x) y la función f (x), cumplen que P (xi ) = f (xi )


en todos y cada uno de los puntos del soporte, pero en los valores intermedios no
tienen por qué coincidir, por lo que se genera un error que tendremos que controlar.
3.2. Error de interpolación 73

3.2 Error de interpolación

Sea el soporte S ={x0 , x1 , . . . , xn } donde ninguno de sus valores se repite y están


ordenados de menor a mayor y sea Pn (x) el polinomio interpolador de la función f (x)
según el soporte anterior. Si f (x) es continua y admite derivadas sucesivas hasta el
orden n+1, en el intervalo determinado por los valores extremos del soporte, podemos
afirmar que existe un valor c tal que:
n
f n+1) (c) Y
εn = f (x) − Pn (x) = (x − x0 )(x − x1 ) · · · (x − xn )
(n + 1)! i=0

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

Podemos realizar varias observaciones acerca del comportamiento del error de


interpolación:

1. No se mejoran los resultados tomando un número elevado de puntos en un


mismo intervalo, pues veremos que esto acarrea mejoras en determinadas zonas
pero notables mermas de precisión en otras, fenómeno Runge: el error de in-
terpolación es menor en la zona central del intervalo y mayor en los extremos.
Desde el punto de vista numérico es preferible, en vez de generar un único poli-
nomio interpolador en base a muchos puntos de un intervalo, dividir el intervalo
en otros de modo que por medio de varios polinomios lograr mejorar la precisión
en la interpolación.

2. Debemos seleccionar un intervalo de interpolación tal que el punto que queremos


aproximar se encuentre en la zona central del soporte.
74 3. Interpolación

3. No debemos usar el polinomio para aproximar valores que estén fuera del inter-
valo de interpolación.

Para ilustrar lo que hemos afirmado, iremos observando el comportamiento del


1
error con diversas pruebas al interpolar la función f (x) = 1+25x 2 en el intervalo

[−1, 1]. Ilustramos todo ello con gráficos.

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)

De cualquier modo, siempre es posible encontrar un soporte adecuado para que el


polinomio interpolador correspondiente aproxime con la precisión deseada a la función
original, según indica el siguiente resultado.
3.2. Error de interpolación 75

Figura 3.2: f (x) y P (x) con soporte equiespaciado, n = 3 y comportamiento del


error.

Figura 3.3: f (x) y P (x) con soporte equiespaciado, n = 6 y comportamiento del


error.

Figura 3.4: f (x) y P (x) con soporte equiespaciado, n = 12 y comportamiento del


error.
76 3. Interpolación

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.

3.3 Primeros pasos.

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).

Una manera de determinar dicho polinomio será mediante la resolución de un


sistema de (n+1) ecuaciones con (n+1) incógnitas formado a partir de que obliguemos
que se cumpla f (xi ) = P (xi ) en cada punto del soporte. Este planteamiento nos
proporcionará un sistema lineal de ecuaciones, donde las incógnitas son los coeficientes
del polinomio y donde su matriz es una matriz de Vandermonde, regular, lo que
garantiza que es un sistema compatible determinado y consecuentemente siempre
tendrá solución y además será única.

Recordemos el ejemplo inicial.

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?

Con esos datos, 4 puntos, podemos determinar un polinomio de grado 3 como


máximo:
P (x) = a0 + a1 x + a2 x2 + a3 x3
3.4. Interpolación por el método de Lagrange 77

que pase por dichos puntos:

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

Resolviendo el sistema queda el polinomio interpolador:

P (x) = 0 + 0.58x − 0.2166666x2 + 0.366666x3

Y por último para contestar a la pregunta, bastará con determinar el valor


numérico de dicho polinomio para x = 2 y obtenemos que la velocidad estimada
del móvil a los 2 segundos es de 0.586666 ms

Hemos omitido el detalle de resolver el sistema pero hemos de admitir que no


siempre es una tarea fácil y que debemos buscar métodos alternativos que faciliten la
determinación del polinomio interpolador, que no olvidemos, es único.

3.4 Interpolación por el método de Lagrange

Una manera de determinar el polinomio interpolador sin resolver un sistema de ecua-


ciones, es mediante el método que vamos a estudiar y que llamamos Método de
Lagrange. Este método tiene limitaciones, no permite la ampliación del soporte y
requiere un número importante de operaciones, pero no es difı́cil. Se basa en la
construcción del polinomio como iremos describiendo paso a paso.

3.4.1 Los polinomios auxiliares de Lagrange

Partimos de un soporte S ={x0 , x1 , . . . , xn } donde ninguno de sus valores se repite


y están ordenados de menor a mayor (aunque esto último no es imprescindible).
Definimos los Polinomios de Lagrange: Lj (x) para j = 0, 1, 2, . . . , n de la forma que
78 3. Interpolación

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

Ejemplo 3.4.1 Escribir los polinomios auxiliares de Lagrange para el soporte de 4


puntos:
S = {x0 , x1 , x2 , x3 }

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

3.4.2 El polinomio interpolador de Lagrange

Seguimos considerando un soporte S ={x0 , x1 , . . . , xn } donde ninguno de sus valo-


res se repite y están ordenados de menor a mayor. Con estos datos construimos los
polinomios auxiliares de Lagrange: Lj (x) para j = 0, 1, 2, . . . , n y también necesita-
remos conocer la familia de imágenes de los puntos del soporte: {y0 , y1 , . . . , yn }, para
yi = f (xi ).

Podemos afirmar que si se cumplen las condiciones arriba establecidas, el polino-


mio: n
X
Pn (x) = yj Lj (x)
j=0

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:

(x − 2)(x − 4)(x − 5) (x − 1)(x − 4)(x − 5)


P3 (x) = 0( ) + 6( )+
−12 6
(x − 1)(x − 2)(x − 5) (x − 1)(x − 2)(x − 4)
+12( ) + 24( )=
−6 12
= 0 + (x − 1)(x − 4)(x − 5)) − 2(x − 1)(x − 2)(x − 5) + 2(x − 1)(x − 2)(x − 4) ⇒

P3 (x) = x3 − 8x2 + 23x − 16

Una vez obtenido el polinomio interpolador por el Método de Lagrange P3 (x) =


x3 − 8x2 + 23x − 16 y con objeto de hacer hincapié en los conceptos explicados,
comprobamos que verifica la tabla de puntos:

P3 (1) = 13 − 8(12 ) + 23(1) − 16 = 0

P3 (2) = 23 − 8(22 ) + 23(2) − 16 = 6

P3 (4) = 43 − 8(42 ) + 23(4) − 16 = 12


80 3. Interpolación

P3 (5) = 53 − 8(52 ) + 23(5) − 16 = 24

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.

Analicemos ahora otro ejemplo de interpolación por Lagrange, incluyendo en este


caso de manera adicional un estudio explı́cito del error.

Ejemplo 3.4.3 Determinar el polinomio interpolador de Lagrange para la función


f (x) = 2x4 con el soporte: S = {0, 1, 2, 3}. Determinar la función del error y acotar
el error cometido si usamos el polinomio interpolador para evaluar f(1.5)

Los polinomios auxiliares de Lagrange serán:


(x − 1)(x − 2)(x − 3) (x − 1)(x − 2)(x − 3)
L0 (x) = =
(0 − 1)(0 − 2)(0 − 3) −6
(x − 0)(x − 2)(x − 3) (x − 0)(x − 2)(x − 3)
L1 (x) = =
(1 − 0)(1 − 2)(1 − 3) 2
(x − 0)(x − 1)(x − 3) (x − 0)(x − 1)(x − 3)
L2 (x) = =
(2 − 0)(2 − 1)(2 − 3) −2
(x − 0)(x − 1)(x − 2) (x − 0)(x − 1)(x − 2)
L3 (x) = =
(3 − 0)(3 − 1)(3 − 2) 6
Como: f (0) = 0 ; f (1) = 2 ; f (2) = 32 ; f (3) = 162 , el polinomio interpolador será:

P (x) = 0L0 (x) + 2L1 (x) + 32L2 (x) + 162L3 (x) = 12x3 − 22x2 + 12x.

Para acotar el error, buscamos la derivada cuarta de la función: f 4) (x) = 48 de


modo que al ser una constante es fácil acotar: M = 48 y consecuentemente: ε ≤
48
4!
|(x − 0)(x − 1)(x − 2)(x − 3)| = 2|x(x − 1)(x − 2)(x − 3)|

ε ≤ 2|x(x − 1)(x − 2)(x − 3)|

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á:

ε ≤ 2|(3/2)((3/2) − 1)((3/2) − 2)((3/2) − 3)| = 1.125


3.4. Interpolación por el método de Lagrange 81

Ejemplo 3.4.4 Determinar el polinomio interpolador de Lagrange para la función


f (x) = sen(x) con el soporte: S = { π4 , π3 , π2 } Determinar la función de acotación
del error y acotar el error cometido si usamos el polinomio interpolador para evaluar
sen(1.2). ¿Servirı́a este polinomio para evaluar sen(3)?

Al disponer de un soporte de tres puntos, obtendremos un polinomio interpolador de


segundo grado. Comenzaremos por calcular los polinomios de Lagrange:
(x − π3 )(x − π2 ) 48(x − π3 )(x − π2 )
L0 (x) = =
( π4 − π3 )( π4 − π2 ) π2

(x − π4 )(x − π2 ) −72(x − π4 )(x − π2 )


L1 (x) = =
( π3 − π4 )( π3 − π2 ) π2
(x − π4 )(x − π3 ) 24(x − π4 )(x − π3 )
L2 (x) = =
( π2 − π3 )( π2 − π3 ) π2
√ √
Ahora evaluamos las imágenes del soporte: Y = { 22 , 23 , 1} y calculamos el polinomio
interpolador:
√ √ √ √ √
−36 3 24 2 24 2 −20 2 27 3 14 √ 9 3
P2 (x) = ( + + 2 )x + ( + − )x + 4 2 + 2 −
π2 π2 π π π π 2
El polinomio interpolador con coeficientes decimales es:

P2 (x) = −0.447100350x2 + 1.426378617x − 0.137374388

Puesto que disponemos de la función original y el polinomio que la interpola, podemos


ver sus gráficos comparados de forma que nos ayude a valorar lo que acabamos de
hacer: Figura 3.1 Con la Figura 3.2 podemos ver que si ampliamos el intervalo hasta
sobrepasar el definido por el soporte, la similitud entre la función y el polinomio que
la interpola se pierde pues sólo se aproximan en el intervalo de interpolación.

Ahora calcularemos la función de acotación del error. Como f 3) (x) = − cos(x) es


fácil de acotar en valor absoluto; M = 1 y con ello:
|(x − π4 )(x − π3 )(x − π2 )|
ε≤
6
Al representar el gráfico de la función cota del error, podemos visualizar cómo el error
es nulo en los puntos del soporte y va en aumento hasta alcanzar el máximo en los
puntos intermedios de los anteriores; los peores resultados se dan en los puntos más
alejados de los del soporte. ( Figura 3.3 )
82 3. Interpolación

Figura 3.5: Gráficas comparadas de f (x) y P2 (x)

Figura 3.6: Gráficas comparadas de f (x) y P2 (x) ampliando el dominio


3.5. Interpolación por el método de las diferencias divididas de Newton 83

Figura 3.7: Gráfica de la función error, el eje de ordenadas nos lo mide.

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.

3.5 Interpolación por el método de las diferencias


divididas de Newton

Si el método de Lagrange tenı́a la dificultad de que al modificar el soporte habı́a que


comenzar de nuevo, el método que vamos a describir permite reutilizar el polinomio
Pn para calcular el Pn+k consecuencia de ampliar en k puntos el soporte.

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

Aunque no es necesario, nosotros trabajaremos con el soporte ordenado de menor


84 3. Interpolación

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

siempre que Pn (xi ) = yi para i = 0, 1, 2, . . . , n.

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).

Sólo hay que explicitar cómo calcular los coeficientes Ai .

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:

Diferencias divididas de orden 0:

f [xi ] = f (xi ), para i = 0, 1, 2, . . . , n.

Diferencias divididas de orden 1:


f [x(i+1) ] − f [xi ]
f [xi , x(i+1) ] = , para i = 0, 1, 2, . . . , (n − 1).
x(i+1) − xi

Y en general, diferencias divididas de orden k < n:


f [x(i+1) , . . . , x(i+k) ] − f [xi , x(i+1) , . . . , x(i+k−1) ]
f [xi , x(i+1) , . . . , x(i+k) ] =
x(i+k) − xi

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

Ejemplo 3.5.4 Escribir las diferencias divididas para los datos:

{(x0 , y0 ), (x1 , y1 ), (x2 , y2 ), (x3 , x3 )}

f [x0 ] = f (x0 ) ; f [x1 ] = f (x1 ) ; f [x2 ] = f (x2 ) ; f [x3 ] = f (x3 )

f [x1 ]−f [x0 ] f [x2 ]−f [x1 ] f [x3 ]−f [x2 ]


f [x0 , x1 ] = x1 −x0
; f [x1 , x2 ] = x2 −x1
; f [x2 , x3 ] = x3 −x2

f [x1 ,x2 ]−f [x0 ,x1 ] f [x2 ,x3 ]−f [x1 ,x2 ]
f [x0 , x1 , x2 ] = x2 −x0
; f [x1 , x2 , x3 ] = x3 −x1

f [x1 ,x2 ,x3 ]−f [x0 ,x1 ,x2 ]


f [x0 , x1 , x2 , x3 ] = x3 −x0
.

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:

xi f [xi ] f [xi , xi+1 ] f [xi , xi + 1, xi+2 ] f [xi , xi+1 , xi+2 , xi+3 ]


x0 f (x0 ) f [x0 , x1 ] f [x0 , x1 , x2 ] f [x0 , x1 , x2 , x3 ]
x1 f (x1 ) f [x1 , x2 ] f [x1 , x2 , x3 ]
x2 f (x2 ) f [x2 , x3 ]
x3 f (x3 )

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.

• Las diferencias divididas se pueden expresar en función de los valores xi y f (xi ),


esto es fácil de comprobar.

Adelantamos que la primera fila de la tabla previamente calculada, jugará un


papel fundamental en nuestro objetivo: determinar el polinomio interpolador para
esa familia de puntos.

Siguiendo nuestro objetivo de clarificar las cosas, hagamos un ejemplo numérico.


86 3. Interpolación

Ejemplo 3.5.5 Escribir las diferencias divididas para los datos:

{(1, 4), (2, 5), (4, 3), (5, 1)}

f [x0 ] = f (1) = 4 ; f [x1 ] = f (2) = 5 ; f [x2 ] = f (4) = 3 ; f [x3 ] = f (5) = 1.

5−4] 3−5 1−3


f [x0 , x1 ] = 2−1
= 1 ; f [x1 , x2 ] = 4−2
= −1 ; f [x2 , x3 ] = 5−4
= −2.

−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
.

Resumimos todo anterior en forma de tabla:

xi f [xi ] f [xi , xi+1 ] f [xi , xi + 1, xi+2 ] f [xi , xi+1 , xi+2 , xi+3 ]


1 f (1) = 4 f [1, 2] = 1 f [1, 2, 4] = − 23 f [1, 2, 4, 5] = − 12 1

2 f (2) = 5 f [2, 4] = −1 f [2, 4, 5] = − 13


4 f (4) = 3 f [4, 5] = −2
5 f (5) = 1

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 ]

Es decir, son las diferencias divididas de la primera fila de la tabla.


3.5. Interpolación por el método de las diferencias divididas de Newton 87

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:

Ejemplo 3.5.7 1) Determinar el polinomio interpolador por diferencias divididas


para los datos: {(1, 4), (2, 5)}

2) Determinar el polinomio interpolador por diferencias divididas para los datos:


{(1, 4), (2, 5), (4, 3)}

3) Determinar el polinomio interpolador por diferencias divididas para los datos:


{(1, 4), (2, 5), (4, 3), (5, 1)}

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

A poco que nos fijemos en la construcción vemos cómo funciona; si añadimos un


punto a los datos, bastará con completar el conjunto de diferencias divididas hasta
conseguir los coeficientes que faltan.

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

Ejemplo 3.5.8 Determinar el polinomios interpolador por Newton para la función (


2x
Serpentina de Newton) f (x) = 1+x 2 con el soporte: S = {−1, 0, 1, 2}. Determinar la

función del error y acotar el error cometido si usamos el polinomio interpolador para
evaluar f (3/4).

f [x0 ] = f (−1) = −1 ; f [x1 ] = f (0) = 0 ; f [x2 ] = f (1) = 1 ; f [x3 ] = f (2) = 45 .

0+1] 1−0 4/5−1


f [x0 , x1 ] = 0+1
= 1 ; f [x1 , x2 ] = 1−0
= 1 ; f [x2 , x3 ] = 2−1
= −1/5.

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
.

Por lo tanto el polinomio interpolador será:


1 6 1
P3 (x) = −1+1(x+1)+0(x+1)(x−0)− (x+1)(x)(x−1) = x− x3 = 1.2x−0.2x3 .
5 5 5
Como disponemos de la función y el polinomio que la interpola podemos comparar
sus gráficos: figura 1.8

Figura 3.8: Gráficos de f(x) y P(x) comparados.

Para la función del error necesitamos acotar la derivada cuarta de la función:


5 3 +5x
f (x) = 48 x −10x
4)
(x2 +1)5
.

Para lograrlo un método será analizar su derivada que es la quinta de la función


6 4 −15x2 +1
inicial: f 5) (x) = 240 −x +15x
(x2 +1)6
; igualada a cero nos ofrece sus puntos de tangen-
cia horizontal, donde están sus extremos.
3.5. Interpolación por el método de las diferencias divididas de Newton 89

Si hacemos x2 = t bastará con resolver t3 − 15t2 + 15t − 1 = 0 y como t = 1 es una


de sus soluciones,
q
las otras son q
las soluciones de la ecuación de segundo grado que
queda; t = 7 + 4 (3) y t = 7 − 4 (3) de modo que los extremos buscados estarán en:
x = +1; x = −1; x = +3.7320; x = −3.7320; x = +0.2679 y x = −0.2679, de modo
que se observa que los dos intermedios están fuera del intervalo de interpolación. Tras
unos cálculos se llega a la conclusión de que |f 4) (x)| es máxima para x = +0.2679 y
x = −0.2679, siendo M = |f 4) (x)| = 38.98557159 < 39.

Con ello, la función que acota el error es:


39
ε≤ |(x + 1)(x − 0)(x − 1)(x − 2)| = 1.625|(x + 1)x(x − 1)(x − 2)|
4!

Figura 3.9: Gráfico del error.

La aproximación solicitada será: P3 (x) = −1 + 1(x + 1) + 0(x + 1)(x − 0) −


1
5
(x + 1)(x)(x − 1) = 56 x − 15 x3 = 1.2 34 − 0.2( 34 )3 = 0.815625. y la cota del error:
ε ≤ 1.625|( 43 + 1) 34 ( 34 − 1)( 34 − 2)| = 0.666504

También podría gustarte