INTERPOLACIÓN 3ER CORTE 20%
En este capítulo estudiaremos el importantísimo tema de la interpolación de datos. Veremos dos tipos
de interpolación: la interpolación polinomial y la interpolación segmentaria (splines).
Comencemos dando la definición general.
Definición. Dados n 1 puntos que corresponden a los datos:
y los cuales se representan gráficamente como puntos en el plano cartesiano,
Si existe una función f (x) definida en el intervalo x0 , xn (donde suponemos que
x0 x1 x n ), tal que f ( xi ) yi para i 0,1,2,, n , entonces a f (x) se le llama una
función de interpolación de los datos, cuando es usada para aproximar valores dentro del intervalo
x0 , xn , y se le llama función de extrapolación de los datos, cuando está definida y es usada para
aproximar valores fuera del intervalo.
Evidentemente pueden existir varios tipos de funciones que interpolen los mismos datos; por ejemplo,
funciones trigonométricas, funciones exponenciales, funciones polinomiales, combinaciones de éstas,
etc.
El tipo de interpolación que uno elige, depende generalmente de la naturaleza de los datos que se están
manejando, así como de los valores intermedios que se están esperando.
Un tipo muy importante es la interpolación por funciones polinomiales. Puesto que evidentemente
pueden existir una infinidad de funciones polinomiales de interpolación para una misma tabla de
datos, se hace una petición extra para que el polinomio de interpolación , sea único.
Definición. Un polinomio de interpolación es una función polinomial que además de interpolar los datos,
es el de menor grado posible.
Caso n=0
Tenemos los datos:
En este caso, tenemos que f ( x) y0 (polinomio constante) es el polinomio de menor grado tal que
f ( x0 ) y0 , por lo tanto, es el polinomio de interpolación.
Caso n=1
Tenemos los datos:
En este caso, el polinomio de interpolación es la función lineal que une a los dos puntos dados. Por
lo tanto, tenemos que
y1 y0
f ( x) y0 ( x x0 )
x1 x0
es el polinomio de interpolación.
La siguiente gráfica representa este caso:
Observación.
Vemos que en el polinomio de interpolación del caso n=1 se encuentra como primer término, y0 , que
es el polinomio de interpolación del caso n=0.
Continuemos:
Caso n=2
Tenemos los datos:
Para este caso, el polinomio de interpolación va a ser un polinomio de grado 2. Tomando en cuenta
la observación anterior, intuímos que el polinomio de interpolación será como sigue:
término cuadrático
Por lo tanto, planteamos el polinomio de interpolación como sigue:
f ( x) b0 b1 ( x x0 ) b2 ( x x0 )( x x1 )
Si asignamos x x0 , se anulan los valores de b1 y b2 , quedándonos el resultado:
f ( x0 ) b0
Como se debe cumplir que f ( x0 ) y0 , entonces:
y0 b0
Si asignamos x x1 , el valor de b2 queda anulado, resultando lo siguiente:
f ( x1 ) b0 b1 ( x1 x0 )
Como se debe cumplir que f ( x1 ) y1 y ya sabemos que y0 b0 , entonces
y1 b0 b1 ( x1 x0 ) , de lo cual obtenemos el valor para b1 :
y1 y0
b1
x1 x0
Asignando x x2 , vamos a obtener :
f ( x2 ) b0 b1 ( x2 x0 ) b2 ( x2 x0 )( x2 x1 )
y1 y0
b1
Como se debe cumplir que f ( x2 ) y2 , y ya sabemos que y0 b0 y x1 x0 ,
sustituímos estos datos para después despejar el valor de b2 :
y1 y0
y2 y0 ( x2 x0 ) b2 ( x2 x0 )( x2 x1 )
x1 x0
De lo cual podemos hacer un despeje parcial para lograr la siguiente igualdad :
y1 y0
y2 y0 ( x2 x0 )
x1 x0
b2 ( x2 x0 )
x2 x1
Ahora en el numerador del miembro izquierdo de la igualdad, le sumamos un cero y1 y1 , de
tal manera que no se altere la igualdad:
A continuación, aplicamos un poco de álgebra para así obtener los siguientes resultados:
Y finalmente despejando a b2 vamos a obtener :
y2 y1 y1 y0
x2 x1 x1 x0
b2
x2 x0
Por lo tanto, el polinomio de interpolación para este caso es:
Observación.
Vemos que efectivamente el polinomio de interpolación contiene al del caso anterior, más un término
extra que es de un grado mayor, pero además vemos que cada uno de los coeficientes del polinomio de
interpolación, se forman a base de cocientes de diferencias de cocientes de diferencias, etc. Esto da
lugar a la definición de diferencias divididas finitas de Newton, como sigue:
DIFERENCIAS DIVIDIDAS FINITAS DE NEWTON
Las diferencias divididas finitas de Newton, se define de la siguiente manera:
Este método consiste en una aproximación de las derivadas parciales por
expresiones algebráicas con los valores de la variable dependiente en un
limitado número de puntos seleccionados. Como resultado de la
aproximación, la ecuación diferencial parcial que describe el problema es
reemplazada por un número finito de ecuaciones algebraicas, en términos
de los valores de la variable dependiente en puntos seleccionados.
El valor de los puntos seleccionados se convierte en las incógnitas. El
sistema de ecuaciones algebraicas debe ser resuelto y puede llevar un
número largo de operaciones aritmética
f ( xi ) f ( x j )
f [ xi , x j ]
xi x j
f [ xi , x j ] f [ x j , xk ]
f [ xi , x j , xk ]
xi xk
f [ xn ,, x1 ] f [ xn 1 ,, x0 ]
f [ xn , xn 1 ,, x1 , x0 ]
xn x0
A manera de ejemplo citemos el siguiente caso específico :
f [ x3 , x2 , x1 ] f [ x2 , x1 , x0 ]
f [ x3 , x2 , x1 , x0 ]
x3 x0
donde a su vez:
f=(x3,x2,x1.x0)=f(x3)-f(x2)
f [ x3 , x2 ] f [ x2 , x1 ]
f [ x3 , x2 , x1 ]
x3 x1
f [ x2 , x1 ] f [ x1 , x0 ]
f [ x2 , x1 , x0 ]
x2 x01
Y donde a su vez:
f ( x3 ) f ( x2 )
f [ x3 , x2 ]
x3 x2
etc.
Podemos ahora definir nuestro primer tipo de polinomio de interpolación.
POLINOMIO DE INTERPOLACIÓN DE NEWTON CON DIFERENCIAS
DIVIDIDAS
El método de NEWTON de diferencias divididas es otra forma de obtener el polinomio interpolador
Dado cierto número de puntos obtenidos pormuestreo o a partir de un experimento se prentede encontrar
un polinomio que pase por todos los puntos
Este método es muy algorítmico, por lo que resulta muy cómodo, más cuando se quiere calcular un
polinomio interpolador de grado elevad.
Dados n 1 datos:
- El polinomio de interpolación de Newton se define de la siguiente manera:
f x b0 b1 x x0 b2 x x0 x x1 bn x x0 x x1 x xn 1
donde :
b0 f x0
b1 f [ x1, x0 ]
b2 f x2 , x1, x0
bn f xn ,, x0
Para calcular los coeficientes b0 , b1 ,, bn , es conveniente construir una tabla de diferencias
divididas como la siguiente :
Obsérvese que los coeficientes del polinomio de interpolación de Newton, se encuentran en la parte
superior de la tabla de diferencias divididas.
Ejemplo 1. Calcular la tabla de diferencias divididas finitas con los siguientes datos :
Y utilizar la información de dicha tabla, para construir el polinomio de interpolación de Newton.
Solucion.
. Por
lo tanto, necesitaremos de cuatro coeficientes para tener nuestro polinomio definido
Procedemos como sigue:
F1= (y1-y0)/(x1-x0)=2 f4=f2-f1/x3-x0=-0.25 f6=f5-f4/x3-x0=0.3
F2= (y2-y1)/(x2-x1)=1 f5=f3-f2/x3-x1=-1.75
F3= (y3-y2)/(x3-x2)=-6
Note que para los valores de y se toma siempre los extremos
Nuestro objetivo es construir un polinomio que al agregar los valores de x nos de los valores de y. es
decir, un polinomio que pase por todos los puntos dados. Entonces estamos, a partir, de una tabla
construyendo un polinomio
Por lo tanto el polinomio de interpolación de Newton es :
Podemos ver que los valores de la primera fila serán los coeficientes obtenidos
de forma progresiva
Valores de b= Y Ó f(x)
b0=4, b1=2, b2=-0.25, b4=-0.3
f x b0 b1 x x0 b2 x x0 x x1 bn x x0 x x1 x xn 1
f ( x) 4 2( x 2) 0.25( x 2)( x 1) 0.3( x 2)( x 1)( x 2)
Ejemplo 2. Calcular la tabla de diferencias divididas finitas con los siguientes datos:
Y usar la información en la tabla, para construir el polinomio de interpolación de Newton.
Solución. Procedemos como sigue:
Por lo tanto el polinomio de interpolación de Newton nos queda :
f ( x) 5 3( x 3) 1.66667( x 3)( x 2) 0.20238( x 3)( x 2)( x)
Antes de ver el siguiente tipo de polinomio de interpolación, veamos como el imponer la restricción
del grado mínimo, implica la unicidad del polinomio de interpolación.
TEOREMA .
Si x0 , x1 ,, xn son números reales distintos, entonces para valores arbitrarios y0 , y1 ,, yn
existe un polinomio único f n x , de a lo más grado n, y tal que:
f n xi yi para toda i 0,1,2,, n
DEMOSTRACIÓN.
En realidad, no probaremos formalmente la existencia de un polinomio de interpolación, aunque
informalmente aceptamos que dada cualquier tabla de datos, el polinomio de Newton siempre existe.
Probemos la unicidad del polinomio de interpolación.
Supongamos que g n x es otro polinomio de interpolación de a lo más grado n,
Sea hn x f n x g n x
hn xi f n xi gn xi yi yi 0 para todo i 0,1,2, n
Por lo tanto, hn x tiene n 1 raíces distintas, y es un polinomio de grado a lo más n, esto
solamente es posible si hn x 0 .
f n x gn x
Que es lo que queríamos probar.
Sin embargo, aunque el polinomio de interpolación es único, pueden existir diversas formas de
encontrarlo. Una, es mediante el polinomio de Newton, otra mediante el polinomio de Lagrange.
POLINOMIO DE INTERPOLACIÓN DE LAGRANGE
Nuevamente tenemos los datos:
El polinomio de interpolación de Lagrange se plantea como sigue:
P( x) y0l0 ( x) y1l1 ( x) ynln ( x)
Donde los polinomios li (x) se llaman los polinomios de Lagrange, correspondientes a
la tabla de datos.
Como se debe satisfacer que P( x0 ) y0 , esto se cumple si l0 ( x0 ) 1 y li ( x0 ) 0 para
toda i 0 .
Como se debe satisfacer que P( x1 ) y1 , esto se cumple si l1 ( x1 ) 1 y li ( x1 ) 0 para
toda i 1 .
Y así sucesivamente, veremos finalmente que la condición Pn xn yn se cumple si
ln xn 1 y li xn 0 para toda i n .
Esto nos sugiere como plantear los polinomios de Lagrange. Para ser más claros,
analicemos detenidamente el polinomio l0 ( x) . De acuerdo al análisis anterior vemos
que deben cumplirse las siguientes condiciones para l0 ( x) :
l0 ( x0 ) 1 y l0 ( x j ) 0 , para toda j 0
Por lo tanto, planteamos l0 ( x) como sigue:
lo x cx x1 x x2 x xn
Con esto se cumple la segunda condición sobre l0 ( x) . La constante c se determinará
para hacer que se cumpla la primera condición:
l0 x0 1 1 cx0 x1 x0 x2 x0 xn
1
c
x0 x1 x0 x2 x0 xn
Por lo tanto el polinomio l0 ( x) queda definido como:
l0 x
x x1 x x2 x xn
x0 x1 x0 x2 x0 xn
Análogamente se puede deducir que:
(x x ) i
l j x
i j
(x j xi )
i j , para j 1,, n
Ejemplo 1
Calcular el polinomio de Lagrange usando los siguientes datos:
Solución. Tenemos que:
f ( x) y0l0 ( x) y1l1 ( x) y2l ( x) y3l3 ( x)
f ( x) 2l0 ( x) l1 ( x) 2l2 ( x) 3l3 ( x)
donde:
l0 x
x x1 x x2 x xn
x0 x1 x0 x2 x0 xn
Se obvia X0
( x 3)( x 5)( x 7) ( x 3)( x 5)( x 7)
l0 ( x)
(2)(4)(6) 48
Se obvia x1
( x 1)( x 5)( x 7) ( x 1)( x 5)( x 7)
l1 ( x)
(2)(2)(4) 16
Se obvia x2
( x 1)( x 3)( x 7) ( x 1)( x 3)( x 7)
l2 ( x)
(4)(2)(2) 16
Se obvia x3
( x 1)( x 3)( x 5) ( x 1)( x 3)( x 5)
l3 ( x)
(6)(4)(2) 48
Sustituyendo, el polinomio de Lagrange queda definido como sigue:
f ( x) 2l0 ( x) l1 ( x) 2l2 ( x) 3l3 ( x)
( x 3)( x 5)( x 7) ( x 1)( x 5)( x 7) ( x 1)( x 3)( x 7) ( x 1)( x 3)( x 5)
f ( x)
24 16 8 16
simplificar
Ejemplo 2.
Calcular el polinomio de Lagrange usando los siguientes datos:
Solución. Tenemos que:
f ( x) y0l0 ( x) y1l1 ( x) y2l ( x) y3l3 ( x)
f ( x) l0 ( x) l1 ( x) 3l2 ( x) 2l3 ( x)
donde:
( x 0)( x 2)( x 4) x( x 2)( x 4)
l0 ( x)
(2)(4)(6) 48
( x 2)( x 2)( x 4) ( x 2)( x 2)( x 4)
l1 ( x)
(2)(2)(4) 16
( x 2)( x 0)( x 4) x( x 2)( x 4)
l2 ( x)
(4)(2)(2) 16
( x 2)( x 0)( x 2) x( x 2)( x 2)
l3 ( x)
(6)(4)(2) 48
Sustituyendo arriba, el polinomio de Lagrange queda como sigue:
x( x 2)( x 4) ( x 2)( x 2)( x 4) x( x 2)( x 4) x( x 2)( x 2)
f ( x) 3
48 16 16 24
simplificando…si es requerido en el examen deben hacerlo
-0.3125x3 + 0.75x2 -1.75x-1
En el capítulo de integración numérica, usaremos nuevamente a los polinomios de Lagrange.
INTERPOLACIÓN DE SPLINES
Muy frecuentemente se dispone de una gran cantidad de datos relativos a una función,
conocida o no, que se desea aproximar. Las técnicas de interpolación polinómica dan
lugar en general a interpolantes que presentan grandes oscilaciones. La interpolación
spline desempeña un papel fundamental en el tratamiento de este tipo de problema
este tipo de interpolacion ha demostrado poseer una gran finura, y que inclusive es usado para el diseño
por computadora, por ejemplo, de tipos de letra.
Cabe mencionar que entre todas, las splines cúbicas han resultado ser las más adecuadas para
aplicaciones como la mencionada anteriormente.
Así pues, podemos decir de manera informal, que una funcion spline está formada por varios
polinomios, cada uno definido en un intervalo y que se unen entre si bajo ciertas condiciones de
continuidad.
Definición. (Splines de grado k)
Dada nuestra tabla de datos,
Donde suponemos que x0 x1 xn , y dado k un número entero positivo, una
función de interpolación spline de grado k, para la tabla de datos, es una función s(x)
tal que :
i) s( xi ) yi , para toda i 0,1,, n .
ii) s x es un polinomio de grado k en cada subintervalo xi 1 , xi .
iii ) s x tiene derivada contínua hasta de orden k 1 en x0 , xn .
FUNCIONES SPLINES DE GRADO 1
Dados los n 1 puntos
Una función spline de grado 1 que interpole los datos es simplemente unir cada uno de los puntos
mediante segmentos de recta, como sigue:
Claramente esta función cumple con las condiciones de la spline de grado 1. Así, tenemos que para
ested caso:
s1 x si x x0 , x1
s x s x x1 , x2
s ( x) 2
sn x si x xn 1 , xn
donde:
i) s j x es un polinomio de grado menor o igual que 1
ii) s x tiene derivada continua de orden k-1=0.
iii) sx j y j , para j 0,1,, n .
Por lo tanto, la spline de grado 1 queda definida como :
y0 f x1 , x0 x x0 si x x0 , x1
y f x , x x x si x x1 , x2
s x 1 2 1 1
yn 1 f xn , xn 1 x xn 1 si x xn 1 , xn
donde f [ xi , x j ] es la diferencia dividida de Newton.
FUNCIONES SPLINES DE GRADO 2
Para aclarar bien la idea, veamos un ejemplo concreto, consideremos los siguientes
datos :
Y procedamos a calcular la interpolación por splines de grado 2.
Primero que nada, vemos que se forman tres intervalos :
3,4.5
4.5,7
7,9
En cada uno de estos intervalos, debemos definir una función polinomial de grado 2,
como sigue:
a1 x 2 b1 x c1 si x 3,4.5
s x a2 x 2 b2 x c2 si x 4.5,7
a x2 b x c
3 3 3 si x 7,9
Primero, hacemos que la spline pase por los puntos de la tabla de datos. Es decir, se debe cumplir que:
s(3) 2.5, s(4.5) 1, s(7) 2.5, s(9) 0.5
Así, se forman las siguientes ecuaciones:
s(3) 2.5 9a1 3b1 c1 2.5
(4.5) 2 a1 4.5b1 c1 1
s(4.5) 1
(4.5) a2 4.5b2 c2 1
2
49a2 7b2 c2 2.5
s(7) 2.5
49a3 7b3 c3 2.5
s(9) 0.5 81a3 9b3 c3 0.5
Hasta aquí, tenemos un total de 6 ecuaciones vs. 9 incógnitas.
El siguiente paso es manejar la existencia de las derivadas contínuas. En el caso de las
splines de grado 2, necesitamos que la spline tenga derivada contínua de orden k-1=1,
es decir, primera derivada continua.
Calculamos primero la primera derivada:
2a1 x b1 si x 3,4.5
s x 2a2 x b2 si x 4.5,7
2a x b x 7,9
3 3 si
Vemos que esta derivada está formada por segmentos de rectas, que pudieran
presentar discontinuidad en los cambios de intervalo. Es decir, las posibles
discontinuidades son x 4.5 y x 7 . Por lo tanto para que s x sea contínua, se
debe cumplir que:
2a1 4.5 b1 2a2 4.5 b2
o lo que es lo mismo,
9a1 b1 9a2 b2
También debe cumplirse que:
2a2 7 b2 2a3 7 b3
o lo que es lo mismo,
14a2 b2 14a3 b3
Así, tenemos un total de 8 ecuaciones vs. 9 incognitas; esto nos da un grado de
libertad para elegir alguna de las incógnitas. Elegimos por simple conveniencia a1 0 .
De esta forma, tenemos un total de 8 ecuaciones vs. 8 incógnitas. Estas son las siguientes:
3b1 c1 2.5
4.5b1 c1 1
20.25a2 4.5b2 c2 1
49a2 7b2 c2 2.5
49a3 7b3 c3 2.5
81a3 9b3 c3 0.5
b1 9a2 b2
14a2 b2 14a3 b3
Para resolver este sistema de ecuaciones se uso un programa llamado Mathematica. El
cual no usaremos en esta clase, si bien quien lo domine puede comprobar las
soluciones .no hay problemas del resto. Con plantear las ecuaciones damos solución
Este sistema de ecuaciones tiene la siguiente forma matricial:
3 1 0 0 0 0 0 b1 2.5
0
4.5
1 0 0 0 0 0 0 c1 1
0 0 20.25 4.5 1 0 0 0 a2 1
0 0 49 7 1 0 0 0 b2 2.5
0 0 0 0 0 49 7 1 c2 2.5
0 0 0 0 0 81 9 1 a3 0.5
1 0 9 1 0 0 0 0 b3 0
0 0 14 1 0 14 1 0 c3 0
Para reswoilver est
Usando Mathematica se obtiene la siguiente solución:
b1 1
c1 5 .5
a2 0.64
b2 6.76
c2 18.46
a3 1.6
b3 24.6
c3 91.3
Sustituyendo estos valores (junto con a1 0 ), obtenemos la función spline cuadrática
que interpola la tabla de datos dada:
x 5.5 si x 3,4.5
s x 0.64 x 6.76 x 18.46 si x 4.5,7
2
1.6 x 2 24.6 x 91.3 si x 7,9
La gráfica que se muestra a continuación, contiene tanto los puntos iniciales de la
tabla de datos, así como la spline cuadrática. Esta gráfica se generó usando
Mathematica.
5
3 4.5 7 9
-1
El siguiente caso, que es el más importante en las aplicaciones, sigue exactamente los mismos pasos del
ejemplo que acabamos de resolver, solamente que en vez de trabajar con polinomios cuadráticos, lo hace
con polinomios cúbicos.
FUNCIONES SPLINES CUBICAS
Para hacer más firme el entendimiento, escribimos la definición correspondiente a este caso (k=3).
Dados los n 1 datos:
Una spline cúbica que interpola estos datos, es una función s(x) definida como sigue
:
s0 x si x x0 , x1
s x si x x , x
sx 1 1 2
sn 1 x si x xn 1 , xn
donde cada si x es un polinomio cúbico; si xi yi , para toda i 0,1,, n y tal
que s x tiene primera y segunda derivadas contínuas en x0 , xn .
Ejemplo 1.
Interpolar los siguientes datos mediante una spline cúbica :
Solución.
Definimos un polinomio cúbico en cada uno de los intervalos que se forman:
a x3 b x 2 c x d1 si x 2,3
s x 1 3 1 2 1
a2 x b2 x c2 x d 2 si x 3,5
A continuación, hacemos que se cumpla la condición de que la spline debe pasar por los puntos dados
en la tabla. Así, tenemos que:
s2 1 8a1 4b1 2c1 d1 1
s3 2 27a1 9b1 3c1 d1 2
s5 7 125a2 25b2 5c2 d2 7
Ahora calculamos la primera derivada de s x :
3a x 2 2b1 x c1 si x 2,3
s x 1 2
3a 2 x 2b2 x c2 si x 3,5
Al igual que en el caso de las splines cuadráticas, se presentan ecuaciones que pueden
presentar discontinuidad en los cambios de intervalo; las posibles discontinuidades son
los puntos donde se cambia de intervalo, en este caso x 3 . Para evitar esta
discontinuidad, evaluamos x 3 en los dos polinomios e igualamos:
3a1 3 2b1 3 c1 3a2 3 2b2 3 c2
2 2
o lo que es lo mismo:
27a1 6b1 c1 27a2 6b2 c2
Análogamente procedemos con la segunda derivada :
6a x 2b1 si x 2,3
s x 1
6a 2 x 2b2 si x 3,5
Para lograr que s x sea continua :
6a1 3 2b1 6a2 3 2b2
18a1 2b1 18a2 2b2
En este punto contamos con 6 ecuaciones y 8 incognitas, por lo tanto tenemos 2 grados de libertad;
en general, se agregan las siguientes 2 condiciones:
s x0 0
s x n 0
De lo cual vamos a obtener :
s2 0 6a1 2 2b1 0
12a1 2b1 0
s5 0 6a2 5 2b2 0
30a2 2b2 0
Con lo cual, hemos completado un juego de 8 ecuaciones vs. 8 incógnitas, el cual es el siguiente:
8a1 4b1 2c1 d1 1
27 a1 9b1 3c1 d1 2
27 a 2 9b2 3c 2 d 2 2
125a 2 25b2 5c 2 d 2 7
27 a1 6b1 c1 27 a 2 6b2 c 2
18a1 2b1 18a 2 2b2
12a1 2b1 0
30a 2 2b2 0
Cuya forma matricial es la siguiente :
8 4 2 1 0 0 0 0 a1 1
27
9 3 1 0 0 0 0 b1 2
0 0 0 0 27 9 3 1 c1 2
0 0 0 0 125 25 5 1 d1 7
27 6 1 0 27 6 1 0 a2 0
18 2 0 0 18 2 0 0 b2 0
12 2 0 0 0 0 0 0 c2 0
0 0 0 0 30 2 0 0 d 2 0
Usando Mathematica, obtenemos la siguiente solución:
a1 1.25
b1 7.5
c1 10.75
d1 0.5
a2 0.625
b2 9.375
c2 39.875
d2 50.125
Sustituyendo estos valores en nuestra función inicial, vemos que la spline cúbica para la tabla de datos
dada, queda definida como sigue:
1.25 x3 7.5 x 2 10.75 x 0.5 si x 2,3
s x
0.625 x 9.375 x 39.875 x 50.125 si x 3,5
3 2
Mostramos la gráfica correspondiente a este ejercicio, creada tambien en
Mathematica.
Obsérvese la finura con la que se unen los polinomios cúbicos que conforman a la spline. Prácticamente
ni se nota que se trata de dos polinomios diferentes!. Esto es debido a las condiciones que se impusieron
sobre las derivadas de la función. Esta finura casi artística, es la que permite aplicar las splines cúbicas,
para cuestiones como el diseño de letras por computadoras, o bien a problemas de aplicación donde la
interpolación que se necesita es de un caracter bastante delicado, como podría tratarse de datos médicos
sobre algún tipo de enfermedad.
Ejemplo 2.
Interpolar los siguientes datos utilizando splines cúbicas:
Solución.
Nuevamente, definimos un polinomio cúbico en cada uno de los intervalos:
a1 x3 b1 x 2 c1 x d1 si x 1,1
s( x) a2 x3 b2 x 2 c2 x d 2 si x 1,2
a x3 b x 2 c d
3 3 3 3 si x 2,4
Despues, hacemos que la spline pase por los puntos dados en la tabla. Así, tenemos que:
s(1) 1 implica que,
a1 b1 c1 d1 1
s(1) 1 implica que,
a1 b1 c1 d1 1
a2 b2 c2 d2 1
s(2) 5 implica que,
8a2 4b2 2c2 d2 5
8a3 4b3 2c3 d3 5
Y finalmente s(4) 2 implica que,
64a3 16b3 4c3 d3 2
Enseguida, calculamos la primera derivada:
3a1 x 2 2b1 x c1 si1 x 1,1
s( x) 3a2 x 2 2b2 x c2 si x 1,2
3a x 2 2b x c
3 3 3 si x 2,4
Vemos entonces, que las posibles discontinuidades de s(x) son x 1 y x 2 . Por
lo tanto, para hacer que s(x) sea contínua, igualamos las ecuaciones correspondientes
en ambos valores :
3a1 2b1 c1 3a2 2b2 c2
12a2 4b2 c2 12a3 4b3 c3
Ahora procedemos a calcular la segunda derivada:
6a1 x 2b1 si x 1,1
s( x) 6a2 x 2b2 si x 1,2
6a x 2b x 2,4
3 3 si
Nuevamente, las posibles discontinuidades son x 1 y x 2 . Por lo tanto, para que
s(x) sea contínua , se igualan las ecuaciones en ambos valores :
6a1 2b1 6a2 2b2 3a1 b1 3a2 b2
12a2 2b2 12a3 2b3 6a2 b2 6a3 b3
Finalmente, se agregan las condiciones de que la doble derivada se anule en los puntos inicial y final de
la tabla. En este caso,
s(1) 0 6a1 2b1 0 3a1 b1 0
s(4) 0 24a3 2b3 0 12a3 b3 0
Con esto tenemos un juego de doce ecuaciones vs. doce incógnitas:
a1 b1 c1 d1 1
a1 b1 c1 d1 1
a2 b2 c2 d2 1
8a2 4b2 2c2 d2 5
8a3 4b3 2c3 d3 5
64a3 16b3 4c3 d3 2
3a1 2b1 c1 3a2 2b2 c2
12a2 4b2 c2 12a3 4b3 c3
3a1 b1 3a2 b2
6a2 b2 6a3 b3
3a1 b1 0
12a3 b3 0
Este sistema tiene la siguiente forma matricial:
1 1 1 1 0 0 0 0 0 0 a1 1
0 0
1
1 1 1 0 0 0 0 0 0 0 0 b1 1
0 0 0 0 1 1 1 1 0 0 0 0 c1 1
0 0 0 0 8 4 2 1 0 0 0 0 d1 5
0 0 0 0 0 0 0 0 8 4 2 1 a2 5
0 0 0 0 0 0 0 0 64 16 4 1 b2 2
3 2 1 0 3 2 1 0 0 0 0 0 c2 0
0 0 0 0 12 4 1 0 12 4 1 0 d 2 0
3 1 0 0 3 1 0 0 0 0 0 0 a3 0
0 0 0 0 6 1 0 0 6 1 0 0 b3 0
3 1 0 0 0 0 0 0 0 0 0 0 c3 0
0 0 0 0 0 0 0 0 12 1 0 0 d3 0
Usando Mathematica, obtenemos la solución :
51 21 24
a1 a2 a3
140 , 10 , 35
153 297 288
b1 b2 b3
140 , 35 , 35
89 473 1867
c1 c2 c3
140 , 70 , 70
153 48 732
d1 d2 d3
40 , 35 , 35
Por lo tanto, la spline cúbica es:
140 x 140
51 3
x 140
153 2 89
x 153
40 si x 1,1
21 3 297 2 473 48
s( x) 10 x 35 x 70 x 35 si x 1,2
24 x 3 288 x 2 1867 x 732 si x 2,4
35 35 70 35
Finalmente, mostramos la gráfica correspondiente (creada en Mathematica):
-1 1 2 4
EJERCICIOS
NOTA: CUANDO SEA NECESARIO, REDONDEA A CINCO DECIMALES.
1. 1. Calcula el polinomio de interpolación de Newton para los siguientes datos:
x 2 2 1 4
i) i) y 0.5 3 2.4 7.8
x 0.3 0.6 0.9 1.2 1.5
ii) y 3 0 6 9 12
Soluciones:
i) f ( x) 0.5 0.875( x 2) 0.925( x 2)( x 2) 0.4625( x 2)( x 2)( x 1)
ii ) f ( x) 3 10( x 0.3) 50( x 0.3)( x 0.6) 185.18519( x 0.3)( x 0.6)( x 0.9)
447.53088( x 0.3)( x 0.6)( x 0.9)( x 1.2)
2. Calcula el polinomio de Lagrange para los siguientes datos:
x 1 2 3 5
i) y 1.56 3.54 2.57 8.9
x 1.5 0.5 1 2 4
ii) ii) y 9 2 5 33 0
Soluciones:
( x 2)( x 3)( x 5) ( x 1)( x 3)( x 5) ( x 1)( x 2)( x 5)
i) p( x) 1.56 3.54 2.57
36 45 80
( x 1)( x 2)( x 3)
8.9
144
( x 0.5)( x 1)( x 2)( x 4) ( x 1.5)( x 1)( x 2)( x 4)
ii ) p( x) 9 2
3.125 7.875
( x 1.5)( x 0.5)( x 2)( x 4) ( x 1.5)( x 0.5)( x 1)( x 4)
5 33
56.25 4.5
2. 3. Calcula las splines cúbicas para los siguientes datos:
x 2 1 3
i) i) y 40 5 20
x 5 2 3 7
ii) ii) y 20 4 6 40
Soluciones:
0.25 x 3 1.5 x 2 14.25 x 7.5 si x 2,1
i) s ( x)
0.375 x 3.375 x 16.125 x 8.125 si
3 2
x 1,3
526
5
x 3 526
75 2
x 4703
789 x 789
5860
si x 5,2
ii ) s ( x) 1241
7890 x 2630 x 3945 x 1315
3 2257 2 15619 8012
si x 2,3
299 x 3 2093 x 2 10511 x 860 si
1578 526 789 263 x 3,7