Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTERPOLACIÓN Polinomica
INTERPOLACIÓN Polinomica
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.
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
Caso n=1
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.
Observación.
y0 , que
Vemos que en el polinomio de interpolación del caso n=1 se encuentra como primer término,
es el polinomio de interpolación del caso n=0.
Continuemos:
Caso n=2
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
f ( x) b0 b1 ( x x0 ) b2 ( x x0 )( x x1 )
f ( x0 ) b0
f ( x0 ) y0 , entonces:
Como se debe cumplir que
y0 b0
Si asignamos
x x1 , el valor de b2 queda anulado, resultando lo siguiente:
f ( x1 ) b0 b1 ( x1 x0 )
f ( x1 ) y1 y y0 b0 ,
Como se debe cumplir que ya sabemos que 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 ) y 2 , y ya sabemos que
y0 b0 y x1 x0 ,
sustituímos estos datos para después despejar el valor de
b2 :
y1 y0
y 2 y0 ( x2 x0 ) b2 ( x2 x0 )( x2 x1 )
x1 x0
y1 y0
y2 y0 ( x2 x0 )
x1 x0
b2 ( x2 x0 )
x2 x1
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
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:
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
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.
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:
donde :
b0 f x0
b1 f [ x1 , x0 ]
b2 f x2 , x1 , x0
bn f xn ,, x0
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 :
Solucion.
Al tener cuatro puntos, sabemos que el grado del polinomio interpolante ser ́a tres. Por
lo tanto, necesitaremos de cuatro coeficientes para tener nuestro polinomio definido
F3= (y3-y2)/(x3-x2)=-6
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
Podemos ver que los valores de la primera fila serán los coeficientes obtenidos
de forma progresiva
Valores de b= Y Ó f(x)
Ejemplo 2. Calcular la tabla de diferencias divididas finitas con los siguientes datos:
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 .
x0 , x1 ,, xn son números reales distintos, entonces para valores arbitrarios y0 , y1 ,, yn
Si
f x , de a lo más grado n, y tal que:
existe un polinomio único n
DEMOSTRACIÓN.
hn x f n x g n x
Sea
f n x g n x
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.
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
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:
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
Ejemplo 2.
Calcular el polinomio de Lagrange usando los siguientes datos:
Solución. Tenemos que:
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.
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 :
s( xi ) yi , para toda i 0,1, , n .
i)
ii) s x es un polinomio de grado k en cada subintervalo xi 1 , xi .
iii ) sx 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:
s j x
i) es un polinomio de grado menor o igual que 1
ii) s x tiene derivada continua de orden k-1=0.
s x j y j
iii) , 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
f [ xi , x j ]
donde 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
sx a2 x 2 b2 x c2 si x 4.5,7
a x 2 b x c si x 7,9
3 3 3
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 2
(4.5) a2 4.5b2 c2 1
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
sx 2a2 x b2 si x 4.5,7
2a x b si x 7,9
3 3
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 sx 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 0 b1 2.5
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
sx 0.64 x 2 6.76 x 18.46 si x 4.5,7
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
4
3
2
1
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).
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
s x 1 1 2
sn 1 x si x xn 1 , xn
donde cada i s 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:
a1 x 3 b1 x 2 c1 x d1 si x 2,3
s x 3
a2 x b2 x c2 x d 2 si x 3,5
2
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 d 2 7
Ahora calculamos la primera derivada de x :
s
3a x 2 2b1 x c1 si x 2,3
s x 1 2
3a 2 x 2b2 x c 2 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 3a 2 3 2b2 3 c 2
2 2
o lo que es lo mismo:
27 a1 6b1 c1 27 a 2 6b2 c 2
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 6a 2 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 x 0 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 27a 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 x 3 b1 x 2 c1 x d1 si x 1,1
s( x) a2 x 3 b2 x 2 c2 x d 2 si x 1,2
a x3 b x2 c d si x 2,4
3 3 3 3
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 d 2 1
s (2) 5 implica que,
8a2 4b2 2c2 d 2 5
8a3 4b3 2c3 d3 5
Y finalmente s (4) 2 implica que,
64a3 16b3 4c3 d 3 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 si x 2,4
3 3 3
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 si x 2,4
3 3
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 d 2 1
8a2 4b2 2c2 d 2 5
8a3 4b3 2c3 d3 5
64a3 16b3 4c3 d 3 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 0 0 a1 1
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
51 3
140 153 2
x 140 x 140
89
x 153
40 si x 1,1
s( x) 1021 x 3 297 2
35 x 70 x 35
473 48
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):
8
6
4
2
-1 EJERCICIOS
1 2 4
-2
NOTA: CUANDO SEA NECESARIO, REDONDEA A CINCO DECIMALES.
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:
x 2 1 3
i) i) y 40 5 20
x 5 2 3 7
ii) ii) y 20 4 6 40
Soluciones: