Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Oscar Segura
Splines
En anlisis numrico, un spline es una curva definida en porciones mediante polinomios. Se le llama interpolacin segmentaria o interpolacin por splines. La idea central es que en vez de usar un solo polinomio para interpolar los datos, podemos usar segmentos de polinomios y unirlos adecuadamente para formar nuestra interpolacin. Cabe mencionar que entre todas, las splines cbicas han resultado ser las ms adecuadas para aplicaciones
Se utiliza a menudo porque da lugar a resultados que requieren solamente el uso de polinomios de bajo grado, evitando as las oscilaciones, indeseables en la mayora de las aplicaciones, encontradas al interpolar mediante polinomios de grado elevado. Definicin. (Splines de grado k) Dada la tabla de datos,
Suponemos que x0 x1 xn , y dado k un nmero entero positivo, una funcin de interpolacin spline de grado k, para la tabla de datos, es una funcin s(x) tal que : i) s ( para toda i=0,1,,n ii) s(x) es un polinomio de grado en cada subintervalo [ . iii) s(x) tiene derivada contnua hasta de orden k-1 en [
Splines cbicos naturales: La derivada segunda s(x) se hace 0 para el primer y ltimo punto sobre el que est definido el conjunto de Splines [
sx
a1 x 2 b1 x c1 a2 x 2 b2 x c2 a3 x 2 b3 x c3
si si si
x x x
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
s(3)
2.5
9a1 3b1 c1
2.5
s(4.5) 1
s (7 )
s(9)
2.5
0.5
c2 c3
2.5 2.5
0.5
Tenemos 6 ecuaciones y 9 incgnitas. El siguiente paso es manejar la existencia de las derivadas continuas. En el caso de las splines de grado 2, necesitamos que la spline tenga derivada contnua de orden k-1=1, es decir, primera derivada continua. Calculamos primero la primera derivada:
si si si
x x x
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 x =7 y. Por lo tanto para que sea contnua, se debe cumplir que:
2a1 4.5
b1
2a2 4.5
b2
O lo que es lo mismo,
9a1 b1
9a2
b2
o lo que es lo mismo,
14 a2 b2 14 a3 b3
As, tenemos un total de 8 ecuaciones y 9 incgnitas; esto nos da un grado de libertad para elegir alguna de las incgnitas. Elegimos por conveniencia
a1
0.
De esta forma, tenemos un total de 8 ecuaciones vs. 8 incgnitas. Estas son las siguientes:
9 a2 b2
3 4.5 0 0 0 0 1 0
0 0 1 1 0
0 0 0 0 49 81 0 14
0 0 0 0 7 9 0
1 0 0 0 20.25 4.5 0 49 7 0 0 0 0 0 0 0 9 14
0 b1 0 c1 0 a2 0 b2 1 c2
0 0 1 0 1 0
1 a3 0 b3 1 0 c3
b1 c1 a2 b2 c2 a3 b3 c3
Sustituyendo estos valores obtenemos la funcin spline cuadrtica que interpola la tabla de datos dada:
x 5.5 sx 0.64 x
2 2
si si
x x x
1.6 x
La grfica que se muestra a continuacin, contiene tanto los puntos iniciales de la tabla de datos, as como la spline cuadrtica.
5 4 3 2 1
3 -1
4.5
El siguiente caso, que es el ms importante en las aplicaciones, sigue exactamente los mismos pasos del ejemplo que acabamos de resolver, solamente que en vez de trabajar con polinomios cuadrticos, lo hace con polinomios cbicos.
Una spline cbica que interpola estos datos, es una funcin definida como sigue :
s0 x sx s1 x sn
1
si si si
x x x
x0 , x1 x1 , x2 xn 1 , xn
cada
si x si xi
es un polinomio cbico;
yi ,
0,1,, n
Solucin.
sx
a1 x3 b1 x 2 a2 x3 b2 x 2
c1 x d1 c2 x d 2
si si
x x
2,3 3,5
A continuacin, hacemos que se cumpla la condicin de que la spline debe pasar por los puntos dados en la tabla. As, tenemos que:
s2
s3 2
s5
125 a2
25b2
5c2
d2
s x
3a1 x 2 3a 2 x 2
2b1 x c1 2b2 x c2
si si
x x
2,3 3,5
Al igual que en el caso de las splines cuadrticas, 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
3a1 3
2b1 3
c1
3a 2 3
2b2 3
c2
27 a1
6b1
c1
27 a 2
6b2
c2
s x
si si
x x
2,3 3,5
s x
6a1 3 2b1 6a 2 3 2b2
18 a1 2b1
18 a2
2b2
En este punto contamos con 6 ecuaciones y 8 incgnitas, por lo tanto tenemos 2 grados de libertad; en general, se agregan las siguientes 2 condiciones:
s x0 s xn
De lo cual vamos a obtener:
0 0
s 2
6a1 2
0
2b1
12 a1 2b1
s 5
6a2 5 2b2 0
2b2
30 a2
2c1 3c1 3c 2
d1 d1 d2
1 2 2 d2 2b2 7 6b2 c2
5c 2
27a 2
18a 2 0 0
8 27 0 0 27 18 12 0
4 9 0 0 6 2 2 0
2 3 0 0 1 0 0 0
1 1 0 0 0 0 0 0
0 0 27 125 27 18 0 30
0 0 9 25 6 2 0 2
0 0 3 5 1 0 0 0
0 0 1 1 0 0 0
a1 b1 c1 d1 a2 b2
1 2 2 7 0 0 0 0
c2 0 d2
a1 b1 c1 d1 a2 b2 c2 d2
Sustituyendo estos valores en nuestra funcin inicial, vemos que la spline cbica para la tabla de datos dada, queda definida como sigue:
sx
x x
2,3 3,5
Prcticamente ni se nota que se trata de dos polinomios diferentes! Esto es debido a las condiciones que se impusieron sobre las derivadas de la funcin. Esta finura casi artstica, es la que permite aplicar las splines cbicas, para cuestiones como el diseo de letras por computadoras, o bien a problemas de aplicacin donde la interpolacin que se necesita es de un carcter bastante delicado, como podra tratarse de datos mdicos sobre algn tipo de enfermedad.
Solucin.
s ( x)
c1 x d1 c2 x d 2 c3 d3
si si si
x x x
Despus, hacemos que la spline pase por los puntos dados en la tabla. As, tenemos que: s( 1) 1
a1 b1 c1 d1
s(1) 1
a1 b1 c1 d1 1
a2 b2
s(2) 5
c2
d2
8a2
8a3
4b2
4b3
2c2
2c3
d2
d3
5
5
s(4)
64 a3 16 b3
4c3
d3
s ( x)
si1 si si
x x x
Vemos entonces, que las posibles discontinuidades son x 1 y x 2 . Por lo tanto, para hacer que sea contina, igualamos las ecuaciones correspondientes en ambos valores:
3a1 2b1 c1
12 a2 4b2 c2
3a2
2b2
c2
4b3 c3
12 a3
La segunda derivada:
si si si
x x x
Nuevamente, las posibles discontinuidades son x 1 y x sea continua, se igualan las ecuaciones en ambos valores:
6a1 2b1
12 a2 2b2
6a2
12 a3
2b2
2b3
3a1 b1
6a2
3a2
b2
b2
b3
6a3
Finalmente, se agregan las condiciones de que la doble derivada se anule en los puntos inicial y final de la tabla.
s ( 1)
s (4)
0
0
6a1 2b1
24 a3 2b3
0
0
3a1 b1
12 a3 b3
0
0
a1 b1 c1 d1 a2 b2
8a2
8a3
1 1
d2
d3 d3
c2
d2
2c2
2c3 4c3
4b2
4b3
5
5 2
64 a3 16 b3
3a1 2b1 c1
12 a2 4b2 c2
3a2
2b2
c2
4b3 c3
12 a3
3a1 b1
6 a2 b2
3a2
6a3
b2
b3
3a1 b1
12 a3 b3
0
0
0 3 0 12 0 0 0 0 3 6 0 0
1 0 1 0 0 0 0 0 0 0 0 0
0 1 0 d2 0 0 a3 0 0 0 0 b3 0 c3 0 d3
3 1
Obtenemos la solucin:
a1
a2
21 10 , 297 35 ,
a3
24 35 288 35
b1
b2
b3
c1
89 140 ,
c2
473 70 ,
c3
1867 70
d1
153 40 ,
d2
48 35 ,
d3
732 35
s( x)
x x
x x
x x x
153 40 48 35 732 35
si x si x si x
Mostramos la grfica
8 6
4 2
-1 -2