Cap´ıtulo 3
Cap´ıtulo 3
Interpolaci´
on
Supongamos que queremos estudiar cierto fen´omeno del que tenemos una serie de datos puntuales obtenidos por mediciones realizadas y que deseamos extraer una informaci´on m´as completa a partir de los datos constatados. Una opci´on puede ser la de “reconstruir” el fen´omeno modeliz´andolo con una funci´on que lo represente de la manera m´as 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˜nala 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´on y m´as concretamente de interpolaci´on polinomial.
Podemos decir que la interpolaci´on estudia el c´alculo de funciones que pasan (in-terpolan) por unos puntos (los datos) disponibles.
3.1
Interpolaci´
on polinomial
Aqu´ı concretamente nos proponemos encontrar un polinomio P(x) que “aproxime” una funci´on “desconocida” f(x) de la que sabemos su valor en unos pocos de puntos de su dominio.
La expresi´on “funci´on desconocida” se debe interpretar como que efectivamente 71
no la conocemos, fen´omeno que queremos investigar, o que conocida, nos interesa sustituirla por otra (polin´omica) m´as sencilla para facilitar el trabajo.
Por “aproximar” entendemos que debe coincidir conf(x) en los puntos del dominio donde se conoce.
Los polinomios a que nos referimos son funciones de la forma: P(x) =a0+a1x+a2x2 +· · ·+anxn
donde n es un n´umero natural y los coeficientes ai, n´umeros 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´on 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 af(x)) y que adem´as sea ´unico. ¿Ser´a 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 ´unico polinomio Pn(x), de grado menor o igual a n, que interpola
a f(x) en dichos puntos.
A Pn(x) se le llamapolinomio interpolador def(x) en el soporteS.
Este teorema nos confirma que podemos encontrar un polinomio interpolador para una funci´onf(x) y que para determinarlo necesitaremos disponer de los n+ 1 valo-res corvalo-respondientes a las im´agenes mediante f(x) de los puntos del SOPORTE : S ={x0, x1, . . . , xn}, donde no se repite ning´un valor y normalmente est´an ordenados
de menor a mayor. Adem´as dicho polinomio interpolador es ´unico.
En particular, sif(x) es un polinomio de gradon la interpolaci´on def(x) con un soporte de al menosn+ 1 puntos devolver´aP(x) =f(x).
El polinomio de interpolaci´onP(x) y la funci´onf(x), cumplen queP(xi) =f(xi)
en todos y cada uno de los puntos del soporte, pero en los valores intermedios no tienen por qu´e coincidir, por lo que se genera un error que tendremos que controlar.
3.2. Error de interpolaci´on 73
3.2
Error de interpolaci´
on
Sea el soporte S ={x0, x1, . . . , xn} donde ninguno de sus valores se repite y est´an
ordenados de menor a mayor y seaPn(x) el polinomio interpolador de la funci´onf(x)
seg´un el soporte anterior. Si f(x) es continua y admite derivadas sucesivas hasta el ordenn+1, en el intervalo determinado por los valores extremos del soporte, podemos afirmar que existe un valor ctal que:
εn=f(x)−Pn(x) = fn+1)(c) (n+ 1)! n Y i=0 (x−x0)(x−x1)· · ·(x−xn)
dondeces 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´onf(x) y enfrentarnos a la acotaci´on de la derivada de orden (n+ 1) de la misma.
Si llamamos M al valor m´aximo de f n+1)(x) en I = [x0, xn], podemos acotar el error seg´un εn≤ M (n+ 1)! n Y i=0 |(x−x0)(x−x1)· · ·(x−xn)|
Podemos realizar varias observaciones acerca del comportamiento del error de interpolaci´on:
1. No se mejoran los resultados tomando un n´umero elevado de puntos en un mismo intervalo, pues veremos que esto acarrea mejoras en determinadas zonas pero notables mermas de precisi´on en otras, fen´omeno Runge: el error de in-terpolaci´on es menor en la zona central del intervalo y mayor en los extremos. Desde el punto de vista num´erico es preferible, en vez de generar un ´unico 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´on en la interpolaci´on.
2. Debemos seleccionar un intervalo de interpolaci´on tal que el punto que queremos aproximar se encuentre en la zona central del soporte.
3. No debemos usar el polinomio para aproximar valores que est´en fuera del inter-valo de interpolaci´on.
Para ilustrar lo que hemos afirmado, iremos observando el comportamiento del error con diversas pruebas al interpolar la funci´on f(x) = 1+251x2 en el intervalo
[−1,1]. Ilustramos todo ello con gr´aficos.
Si tomamos como soporte uno no equiespaciado, por ejemplo: S1 ={−1,0,
1 2,1} el polinomio quedaP1(x) = 4 5(x 3−x2−x+5
4). Si despu´es consideramos un soporte del mismo tama˜no pero equiespaciado: S2 = {−1,−
1 3,
1
3,1} sale otro polinomio de manera que en los siguientes gr´aficos podemos observar las diferencias entre f(x) y el polinomio interpoladorP(x) de cada cada caso: se aprecia que en el equiespaciado se produce un error m´aximo 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) yP(x) con soporte no equiespaciado y comportamiento del error.
Por otro lado si optamos por tomar soportes equiespaciados pero vamos duplicando la partici´on del intervalo [−1,1]: primeron = 3,despu´esn = 6 y por ´ultimon = 12, se observa que al aumentar el n´umero de puntos disminuye el error en la zona central del intervalo pero aumenta en las zonas laterales de manera sensible, ´este es el llamado
fen´omeno 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´on deseada a la funci´on original, seg´un indica el siguiente resultado.
3.2. Error de interpolaci´on 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.
Teorema 3.2.1
Si f(x) es una funci´on 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´on vamos a proceder a detallar tres m´etodos para construir el (´unico) 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´aximo n: P(x) = a0+a1x+a2x2+· · ·+anxn que pase por todos y cada uno de dichos puntos y que
en definitiva, interpola af(x).
Una manera de determinar dicho polinomio ser´a mediante la resoluci´on de un sistema de (n+1) ecuaciones con (n+1) inc´ognitas formado a partir de que obliguemos que se cumpla f(xi) = P(xi) en cada punto del soporte. Este planteamiento nos
proporcionar´a un sistema lineal de ecuaciones, donde las inc´ognitas 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´a soluci´on y adem´as ser´a ´unica.
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˜nala 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´aximo:
3.4. Interpolaci´on por el m´etodo de Lagrange 77
que pase por dichos puntos:
0 =a0+a10 +a202+a303
0.4 =a0+a11 +a212+a313
1.2 =a0+a14 +a242+a343
3.6 =a0+a16 +a262+a363
Resolviendo el sistema queda el polinomio interpolador: P(x) = 0 + 0.58x−0.2166666x2+ 0.366666x3
Y por ´ultimo para contestar a la pregunta, bastar´a con determinar el valor num´erico de dicho polinomio para x = 2 y obtenemos que la velocidad estimada del m´ovil a los 2 segundos es de 0.586666ms
Hemos omitido el detalle de resolver el sistema pero hemos de admitir que no siempre es una tarea f´acil y que debemos buscar m´etodos alternativos que faciliten la determinaci´on del polinomio interpolador, que no olvidemos, es ´unico.
3.4
Interpolaci´
on por el m´
etodo de Lagrange
Una manera de determinar el polinomio interpolador sin resolver un sistema de ecua-ciones, es mediante el m´etodo que vamos a estudiar y que llamamos M´etodo de Lagrange. Este m´etodo tiene limitaciones, no permite la ampliaci´on del soporte y requiere un n´umero importante de operaciones, pero no es dif´ıcil. Se basa en la construcci´on 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´an ordenados de menor a mayor (aunque esto ´ultimo no es imprescindible). Definimos los Polinomios de Lagrange: Lj(x) para j = 0,1,2, . . . , n de la forma que
sigue: Lj(x) = n Y i=0 j6=i x−xi xj −xi
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 i6=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´an: L0(x) = (x−x1)(x−x2)(x−x3) (x0−x1)(x0−x2)(x0 −x3) L1(x) = (x−x0)(x−x2)(x−x3) (x1−x0)(x1−x2)(x1 −x3) L2(x) = (x−x0)(x−x1)(x−x3) (x2−x0)(x2−x1)(x2 −x3) L3(x) = (x−x0)(x−x1)(x−x2) (x3−x0)(x3−x1)(x3 −x2) Si concretamos el soporte: S={1,2,4,5} Ser´an: L0(x) = (x−2)(x−4)(x−5) (1−2)(1−4)(1−5) = (x−2)(x−4)(x−5) −12 L1(x) = (x−1)(x−4)(x−5) (2−1)(2−4)(2−5) = (x−1)(x−4)(x−5) 6 L2(x) = (x−1)(x−2)(x−5) (4−1)(4−2)(4−5) = (x−1)(x−2)(x−5) −6 L3(x) = (x−1)(x−2)(x−4) (5−1)(5−2)(5−4) = (x−1)(x−2)(x−4) 12
3.4. Interpolaci´on por el m´etodo 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´an ordenados de menor a mayor. Con estos datos construimos los polinomios auxiliares de Lagrange: Lj(x) para j = 0,1,2, . . . , n y tambi´en
necesita-remos conocer la familia de im´agenes 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: Pn(x) = n X j=0 yjLj(x)
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´agenes
Como los polinomios auxiliares de Lagrange s´olo dependen del soporte y ´este 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:
P3(x) = 0( (x−2)(x−4)(x−5) −12 ) + 6( (x−1)(x−4)(x−5) 6 )+ +12((x−1)(x−2)(x−5) −6 ) + 24( (x−1)(x−2)(x−4) 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´etodo de Lagrange P3(x) =
x3 − 8x2 + 23x −16 y con objeto de hacer hincapi´e 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(5) = 53 −8(52) + 23(5)−16 = 24
Ahora podremos utilizar dicho polinomio para estimar los valores de las im´agenes 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´un los datos manejados, la funci´on parax= 3 valdr´ıa 8.
Analicemos ahora otro ejemplo de interpolaci´on 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´on
f(x) = 2x4 con el soporte: S ={0,1,2,3}. Determinar la funci´on del error y acotar
el error cometido si usamos el polinomio interpolador para evaluar f(1.5)
Los polinomios auxiliares de Lagrange ser´an: L0(x) = (x−1)(x−2)(x−3) (0−1)(0−2)(0−3) = (x−1)(x−2)(x−3) −6 L1(x) = (x−0)(x−2)(x−3) (1−0)(1−2)(1−3) = (x−0)(x−2)(x−3) 2 L2(x) = (x−0)(x−1)(x−3) (2−0)(2−1)(2−3) = (x−0)(x−1)(x−3) −2 L3(x) = (x−0)(x−1)(x−2) (3−0)(3−1)(3−2) = (x−0)(x−1)(x−2) 6
Como: f(0) = 0 ;f(1) = 2 ;f(2) = 32 ; f(3) = 162 , el polinomio interpolador ser´a: P(x) = 0L0(x) + 2L1(x) + 32L2(x) + 162L3(x) = 12x3−22x2+ 12x.
Para acotar el error, buscamos la derivada cuarta de la funci´on: f4)(x) = 48 de modo que al ser una constante es f´acil 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´a:
3.4. Interpolaci´on por el m´etodo de Lagrange 81
Ejemplo 3.4.4 Determinar el polinomio interpolador de Lagrange para la funci´on
f(x) = sen(x) con el soporte: S = {π
4,
π
3,
π
2} Determinar la funci´on de acotaci´on
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:
L0(x) = (x− π 3)(x− π 2) (π4 − π 3)( π 4 − π 2) = 48(x− π 3)(x− π 2) π2 L1(x) = (x− π 4)(x− π 2) (π3 − π 4)( π 3 − π 2) = −72(x− π 4)(x− π 2) π2 L2(x) = (x− π 4)(x− π 3) (π 2 − π 3)( π 2 − π 3) = 24(x− π 4)(x− π 3) π2
Ahora evaluamos las im´agenes del soporte: Y ={
√ 2 2 , √ 3 2 ,1}y calculamos el polinomio interpolador: P2(x) = ( −36√3 π2 + 24√2 π2 + 24 π2)x 2+ (−20 √ 2 π + 27√3 π − 14 π )x+ 4 √ 2 + 2− 9 √ 3 2 El polinomio interpolador con coeficientes decimales es:
P2(x) =−0.447100350x2+ 1.426378617x−0.137374388
Puesto que disponemos de la funci´on original y el polinomio que la interpola, podemos ver sus gr´aficos 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´on y el polinomio que la interpola se pierde pues s´olo se aproximan en el intervalo de interpolaci´on.
Ahora calcularemos la funci´on de acotaci´on del error. Como f3)(x) =−cos(x) es
f´acil de acotar en valor absoluto; M = 1 y con ello: ε ≤ |(x− π 4)(x− π 3)(x− π 2)| 6
Al representar el gr´afico de la funci´on cota del error, podemos visualizar c´omo el error es nulo en los puntos del soporte y va en aumento hasta alcanzar el m´aximo en los puntos intermedios de los anteriores; los peores resultados se dan en los puntos m´as alejados de los del soporte. ( Figura 3.3 )
Figura 3.5: Gr´aficas comparadas de f(x) y P2(x)
3.5. Interpolaci´on por el m´etodo de las diferencias divididas de Newton 83
Figura 3.7: Gr´afica de la funci´on error, el eje de ordenadas nos lo mide.
Por ´ultimo, para estimar el valor de sen(1.2) bastar´a con sustituir x = 1.2 en el polinomio obtenido: P2(1.2) = 0.930455446. Y si lo sustituimos en la funci´on del
error,ε ≤0.003915125694 <0.01.
3.5
Interpolaci´
on por el m´
etodo de las diferencias
divididas de Newton
Si el m´etodo de Lagrange ten´ıa la dificultad de que al modificar el soporte hab´ıa que comenzar de nuevo, el m´etodo que vamos a describir permite reutilizar el polinomio Pn para calcular el Pn+k consecuencia de ampliar enk puntos el soporte.
Comenzamos: Definici´on 3.5.1
Dada una familia den+ 1puntos {(x0, f(x0)),(x1, f(x1)), . . . ,(xn, f(xn))}, todos con
abscisas distintas, definimos la base de Newton asociada a dicho soporte, como:
{1,(x−x0),(x−x0)(x−x1),(x−x0)(x−x1)(x−x2), . . . ,
n−1
Y
i=0
(x−xi)}
a mayor.
Definici´on 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: Pn(x) = A0+A1(x−x0)+A2(x−x0)(x−x1)+A3(x−x0)(x−x1)(x−x2)+· · ·+An (n−1) Y i=0 (x−xi)
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´on lineal de la base de Newton, lo que nos permitir´a ampliarlo con facilidad; y adem´as es el mismo que se obtiene por Lagrange para esos mismos datos (recu´erdese que el polinomio interpolador asociado a un soporte es ´unico).
S´olo hay que explicitar c´omo calcular los coeficientes Ai.
Definici´on 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[xi, x(i+1)] =
f[x(i+1)]−f[xi]
x(i+1)−xi
, para i= 0,1,2, . . . ,(n−1).
Y en general, diferencias divididas de orden k < n:
f[xi, x(i+1), . . . , x(i+k)] =
f[x(i+1), . . . , x(i+k)]−f[xi, x(i+1), . . . , x(i+k−1)]
x(i+k)−xi
3.5. Interpolaci´on por el m´etodo 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[x0, x1] = f[x1] −f[x0] x1−x0 ; f[x1, x2] = f[x2]−f[x1] x2−x1 ;f[x2, x3] = f[x3]−f[x2] x3−x2 f[x0, x1, x2] = f[x1,x2] −f[x0,x1] x2−x0 ;f[x1, x2, x3] = f[x2,x3]−f[x1,x2] x3−x1 f[x0, x1, x2, x3] = f[x1,x2,x3] −f[x0,x1,x2] x3−x0 .
Todos estos datos se pueden organizar seg´un 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´un 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´otese 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 ´esta: f[x1, x0] = f[x0, x1] ´o
f[x0, x1, x2] =f[x2, x1, x0] por ejemplo.
• Las diferencias divididas se pueden expresar en funci´on de los valoresxiyf(xi),
esto es f´acil de comprobar.
Adelantamos que la primera fila de la tabla previamente calculada, jugar´a un papel fundamental en nuestro objetivo: determinar el polinomio interpolador para esa familia de puntos.
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. f[x0, x1] = 52−−4]1 = 1 ; f[x1, x2] = 34−−52 =−1 ; f[x2, x3] = 51−−34 =−2. f[x0, x1, x2] = −41−−11 = −32 ; f[x1, x2, x3] = −52+1−2 = −31. f[x0, x1, x2, x3] = −1 3 − −2 3 5−1 = −1 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] =−2 3 f[1,2,4,5] =− 1 12 2 f(2) = 5 f[2,4] =−1 f[2,4,5] =−1 3 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 ,
Pn(x) = A0+A1(x−x0)+A2(x−x0)(x−x1)+A3(x−x0)(x−x1)(x−x2)+· · ·+An (n−1) Y i=0 (x−xi) son: A0 =f[x0] A1 =f[x0, x1] A2 =f[x0, x1, x2] en general: Ai =f[x0, x1, . . . , xi]
3.5. Interpolaci´on por el m´etodo de las diferencias divididas de Newton 87
Conocido esto, el polinomio interpolador para los datos del ejemplo anterior ser´a:
P3(x) = 4+1(x−1)+( −2 3 )(x−1)(x−2)+ 1 12(x−1)(x−2)(x−4) = 1+ 25 6 x− 5 4x 2+ 1 12x 3.
Antes dec´ıamos que este m´etodo 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) P2(x) = (3 +x) + (− 2 3)(x−1)(x−2) = 5 3+ 3x− 2 3x 2.
3) Es el que ya calculamos antes: P3(x) = ( 5 3+ 3x− 2 3x 2) + 1 12(x−1)(x−2)(x−4) = 1 + 25 6 x− 5 4x 2+ 1 12x 3.
A poco que nos fijemos en la construcci´on vemos c´omo funciona; si a˜nadimos un punto a los datos, bastar´a con completar el conjunto de diferencias divididas hasta conseguir los coeficientes que faltan.
Tambi´en este m´etodo sufre los efectos del fen´omeno de Runge, como queda refle-jado en el siguiente ejemplo.
Ejemplo 3.5.8 Determinar el polinomios interpolador por Newton para la funci´on ( Serpentina de Newton) f(x) = 1+2xx2 con el soporte: S ={−1,0,1,2}. Determinar la
funci´on 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. f[x0, x1] = 0+1]0+1 = 1 ; f[x1, x2] = 11−−00 = 1 ; f[x2, x3] = 4/5 −1 2−1 =−1/5. f[x0, x1, x2] = 1+11−1 = 0 ; f[x1, x2, x3] = −12/−50−1 = −53. f[x0, x1, x2, x3] = −3 5 −0 2+1 = −1 5 .
Por lo tanto el polinomio interpolador ser´a: P3(x) =−1+1(x+1)+0(x+1)(x−0)− 1 5(x+1)(x)(x−1) = 6 5x− 1 5x 3 = 1.2x−0.2x3. Como disponemos de la funci´on y el polinomio que la interpola podemos comparar sus gr´aficos: figura 1.8
Figura 3.8: Gr´aficos de f(x) y P(x) comparados.
Para la funci´on del error necesitamos acotar la derivada cuarta de la funci´on: f4)(x) = 48x5−(x102+1)x3+55 x.
Para lograrlo un m´etodo ser´a analizar su derivada que es la quinta de la funci´on inicial: f5)(x) = 240−x6+15x4−15x2+1
(x2+1)6 ; igualada a cero nos ofrece sus puntos de
3.5. Interpolaci´on por el m´etodo de las diferencias divididas de Newton 89
Si hacemosx2 =t bastar´a con resolver t3−15t2+ 15t−1 = 0 y comot= 1 es una
de sus soluciones, las otras son las soluciones de la ecuaci´on de segundo grado que queda;t = 7 + 4q(3) yt= 7−4q(3) de modo que los extremos buscados estar´an 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´an fuera del intervalo de interpolaci´on. Tras unos c´alculos se llega a la conclusi´on de que |f4)(x)| es m´axima parax = +0.2679 y
x=−0.2679, siendoM =|f4)(x)|= 38.98557159<39.
Con ello, la funci´on que acota el error es: ε ≤ 39
4!|(x+ 1)(x−0)(x−1)(x−2)|= 1.625|(x+ 1)x(x−1)(x−2)|
Figura 3.9: Gr´afico del error.
La aproximaci´on solicitada ser´a: P3(x) = −1 + 1(x + 1) + 0(x + 1)(x −0) − 1 5(x + 1)(x)(x−1) = 6 5x− 1 5x 3 = 1.23 4 −0.2( 3 4)
3 = 0.815625. y la cota del error: