Академический Документы
Профессиональный Документы
Культура Документы
Si existe una función f (x) definida en el intervalo x0 , xn (donde suponemos que
x 0 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
x ,x
valores dentro del intervalo 0 n , 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.
Caso n=0
f ( x) y0 (polinomio constante) es el polinomio de
En este caso, tenemos que
f ( x0 ) y0 , por lo tanto, es el polinomio de interpolación.
menor grado tal que
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.
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
y0 , que es el polinomio de interpolación del caso n=0.
término,
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 )
x x0 , se anulan los valores de b1 y b2 , quedándonos el resultado:
Si asignamos
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 )
A continuación, aplicamos un poco de álgebra para así obtener los siguientes
resultados:
b
Y finalmente despejando a 2 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:
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 ] f [ x2 , x1 ]
f [ x3 , x2 , x1 ]
x3 x1
y
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
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
b , b ,, bn , es conveniente construir una tabla de
Para calcular los coeficientes 0 1
diferencias divididas como la siguiente :
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.
Solución.
Procedemos como sigue:
Por lo tanto el polinomio de interpolación de Newton es :
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.
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 .
x0 , x1 ,, xn son números reales distintos, entonces para valores arbitrarios
Si
y0 , y1 ,, yn existe un polinomio único f n x , de a lo más grado n, y tal que:
f n xi yi i 0,1,2,, n
para toda
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.
hn x f n x g n x
Sea
hn xi f n xi g n xi yi yi 0 i 0,1,2, n
para todo
fn 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)
li (x) se llaman los polinomios de Lagrange, correspondientes a
Donde los polinomios
la tabla de datos.
P ( x0 ) y0 , esto se cumple si l0 ( x0 ) 1 y li ( x0 ) 0 para
Como se debe satisfacer que
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.
Pn xn yn
Y así sucesivamente, veremos finalmente que la condición 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,
l0 ( x ) . De acuerdo al análisis anterior vemos
analicemos detenidamente el polinomio
l ( x) :
que deben cumplirse las siguientes condiciones para 0
l0 ( x0 ) 1 y l0 ( x j ) 0 , para toda j 0
l0 ( x) como sigue:
Por lo tanto, planteamos
lo x c x x1 x x2 x xn
l ( x ) . La constante c se
Con esto se cumple la segunda condición sobre 0
determinará para hacer que se cumpla la primera condición:
l0 x0 1 1 c x0 x1 x0 x2 x0 xn
1
c
x0 x1 x0 x2 x0 xn
l0 ( x ) queda definido como:
Por lo tanto el polinomio
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
i j
j xi )
j 1, , n
, para
Ejemplo 1
Calcular el polinomio de Lagrange usando los siguientes datos:
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.
x x x
donde suponemos que 0 1 n , 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 )
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:
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 y
iii) j 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
i jf [x , x ]
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
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
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 x 3 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:
s 2 1 8a1 4b1 2c1 d1 1
s 3 2 27 a1 9b1 3c1 d1 2
s 5 7 125a2 25b2 5c2 d 2 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 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 x3 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álogamenete 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 x0 0
s x n 0
De lo cual vamos a obtener :
s 2 0 6a1 2 2b1 0
12a1 2b1 0
s 5 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 x 3 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
3 2
x 3,5
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 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 d 2 1
s(2) 5 implica que,
8a2 4b2 2c2 d 2 5
8a3 4b3 2c3 d 3 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
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
3 3 si x 2,4
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 d 3 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 0 a1 1
0
1
1 1 1 0 0 0 0 0 0 0 b1 1
0
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
x x x 153
51 3
140
153 2
14040 si x 1,1
89
140
s ( x) x x x 35
21 3
10
297 2
35
48
si x 1,2
473
70
x x
24 3
35 35
288 2
x 732
35 si x 2,4
1867
70
8
Finalmente, mostramos la gráfica correspondiente (creada en Mathematica):
6
4
2
-1 1 2 4
-2
EJERCICIOS
x 2 2 1 4
i) i) y 0.5 3 2.4 7.8
Soluciones:
x 2 1 3
i) i) y 40 5 20
x 5 2 3 7
ii) ii) y 20 4 6 40
Soluciones:
526
5
x 3 526
75 2
x 4703
789
x 5860
789
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