Вы находитесь на странице: 1из 8

Splines cbicos: propiedades y frmulas.

Prof. Alejandro Nasif Salum

Definiciones y frmulas de clculo


Definicin 1. Dados n N y x0 < x1 < . . . < xn , xi R:

un spline cbico de nodos x0 , x1 , . . . , xn es cualquier funcin S C 2 ([x0 , xn ])


de la forma

P0 (x) si x [x0 , x1 )

P1 (x) si x [x1 , x2 )

S(x) = .. (1)


.

Pn1 (x) si x [xn1 , xn ],

con Pi (x) P3 , 0 i n 1;1

si adems f es una funcin definida en [x0 , xn ] tal que S(xi ) = f (xi ), 0 i n,


entonces se dice que S interpola en sus nodos a f .

En general, usamos la representacin

Pi (x) = ai + bi (x xi ) + ci (x xi )2 + di (x xi )3 , (0 i n 1) (2)

para explicitar la forma de P0 (x), ..., Pn1 (x). Tambin se definen para aliviar la
notacin los incrementos hi = xi+1 xi y i = f (xi+1 ) f (xi ) = yi+1 yi .

Primer caso: splines cbicos naturales y con derivadas segundas fijas


en los extremos (S 00 (x0 ) = y S 00 (xn ) = ).
Lema 1. Dados n N; , R; x0 < . . . < xn , xi R; y0 , . . . , yn , yi R; si S es
un spline cbico de nodos x0 , ..., xn tal que

S(xi ) = yi , i = 0, . . . , n
1
Usamos aqu la notacin Pk para representar el conjunto de todos los polinomios de grado
menor o igual a k junto con el polinomio nulo. Tambin es usual la notacin Kk [X] si se quiere
destacar el cuerpo K en el que se toman los coeficientes: en nuestro caso, trabajando con polinomios
de coeficientes reales, P3 podra denominarse tambin R3 [X].

1
y
S 00 (x0 ) = , S 00 (xn ) = ,
con la notacin de las ecuaciones (1) y (2) se verifica:
 
i1
hi1 ci1 + 2(hi1 + hi )ci + hi ci+1 = 3 i
hi hi1 i = 1, . . . , n 1
a i = yi i = 0, . . . , n 1
i
bi = hi (ci+1 + 2ci ) h3i i = 0, . . . , n 1
di = 3h1 i (ci+1 ci ) i = 0, . . . , n 1
c0 = 2
cn = 2
donde cn es una incgnita adicional que se usa slo para simplificar las ecuaciones.

Definicin 2. Si S es un spline cbico de nodos x0 < . . . < xn tal que

S 00 (x0 ) = S 00 (xn ) = 0,

se dice que S es un spline cbico natural.

Observacin 1. En particular, lo anterior significa:


que los coeficientes ai surgen de inmediato a partir de los valores yi ;
que conocidos los coeficientes ci pueden calcularse a partir de clculos inme-
diatos los valores de los bi y los di ;
que c0 , c1 , . . . , cn son solucin de un sistema lineal cuadrado que puede repre-
sentarse matricialmente como M c = q, donde

1 0 0 0 0 0 0
h0 2(h0 + h1 )
h1 0 0 0 0
0 h 1 2(h 1 + h2 ) h 2 0 0 0
M = .

. . .
.. . . . . . .
.. .. .. .. .. ..

0 0 0 0 hn2 2(hn2 + hn1 ) hn1
0 0 0 0 0 0 1
(3)

c0

c1  2 
1 0
3

c2
 h1 h0 
2 1

c3 3

h2 h1

c= . y q= .

.. .
..

cn2 
n1

n2
3 hn1 hn2

cn1

cn 2

2
Luego el problema se reduce a verificar si es posible resolver el sistema y, desde
el punto de vista numrico, si es posible hacerlo en un tiempo razonable y con una
precisin adecuada.
Por un lado, es claro que la matriz M es estrictamente diagonal dominante, y
esto implica que es inversible. Adems, dado que M es tridiagonal el algoritmo de
eliminacin gaussiana puede sistematizarse de manera que la cantidad de clculos
necesarios para la resolucin del sistema sea muy inferior al caso general; adems,
que M sea diagonal dominante garantiza la estabilidad numrica de la solucin.
En particular, la inversibilidad de M garantiza que el sistema de ecuaciones es
compatible determinado, lo que prueba el siguiente
Teorema 1. Dados n N; , R; x0 < . . . < xn , (xi R); y0 , . . . , yn , (yi R);
existe un nico spline cbico S de nodos x0 , ..., xn tal que

S(xi ) = yi , i = 0, . . . , n

y
S 00 (x0 ) = , S 00 (xn ) = .

Ejemplo 1. Supongamos que se cuenta con la siguiente tabla y se busca un spline


cbico natural que la interpole con esos nodos:

x -2 0 1 3
y 0.25 1 2 8

Si calculamos los incrementos de x e y podemos ampliarla como

i 0 1 2 3
xi -2 0 1 3
yi = ai 0.25 1 2 8
hi 2 1 2
i 0.75 1 6

Notar que los ai estn dados por los valores de yi (aunque a3 = y3 no es un


coeficiente del spline). Ahora pueden obtenerse c0 , c1 , c2 y aunque no sea un
coeficiente del spline, sino una variable auxiliar c3 , mediante el sistema

1 0 0 0 c0 0
2 6 1 0 c1 15
8
0 1 6 2 c2 = 6

0 0 0 1 c3 0

y una vez que se resuelve el sistema pueden calcularse los valores de bi y di mediante
las expresiones dadas en el Lema, para lo cual puede ser ms cmodo y prolijo realizar
algunos clculos auxiliares como muestra la tabla:

3
i 0 1 2 3

xi -2 0 1 3
1
yi = ai 4 1 2 8
hi 2 1 2
3
i 4 1 6
i 3
hi 8 1 3
3 39
ci 0 20 40 0
3 33 39
ci+1 ci 20 40 40
3 51 39
ci+1 + 2ci 20 40 20
11 23 17
bi 40 40 10
1 11 13
di 40 40 80

Por lo tanto, el spline buscado es



1 11 1 3
4 + 40 (x + 2) + 40 (x + 2)
si x [2, 0)
S(x) = 1 + 23 3 2 11 3
40 x + 20 x + 40 x si x [0, 1)

2 + 17 39 2
10 (x 1) + 40 (x 1)
13
80 (x 1)3 si x [1, 3].

Segundo caso: splines cbicos sujetos en los extremos (S 0 (x0 ) = y


S 0 (xn ) = ).

Lema 2. Dados n N; , R; x0 < . . . < xn , (xi R); y0 , . . . , yn , (yi R); si S


es un spline cbico de nodos x0 , ..., xn tal que
S(xi ) = yi , i = 0, . . . , n
y
S 0 (x0 ) = , S 0 (xn ) = ,
se cumplen las mismas condiciones que en el Lema 1 excepto las dos ltimas, que se
reemplazan por:  
0
2h0 c0 + h0 c1 = 3
h0
y  
n1
hn1 cn1 + 2hn1 cn = 3
hn1
donde cn es, nuevamente, una incgnita adicional que se usa solo para simplificar las
ecuaciones del sistema.

4
Observacin 2. Por lo tanto, para resolver este caso se resuelve un sistema que
matricialmente puede escribirse M c = q, con

2h0 h0 0 0 0 0 0
h0 2(h0 + h1 )
h1 0 0 0 0
0 h1 2(h1 + h2 ) h2 0 0 0
M = .

.. .. .. . . .. .. ..
.. . . . . . . .

0 0 0 0 hn2 2(hn2 + hn1 ) hn1
0 0 0 0 0 hn1 2hn1
  (4)


c0 3 h0
0

c1 
1 0

3

c2
 h1 h0 

3

c3 2 1
h2 h1

c= . y q= .

.. .
.
.
cn2 
n1 n2

3

cn1 hn1 hn2


n1
cn 3 hn1

y luego se obtienen el resto de los coeficientes mediante las mismas ecuaciones que
en el caso anterior. Adems, aqu tambin M es tridiagonal y diagonal estrictamente
dominante, con las consecuencias ya mencionadas. En particular, queda probado el
siguiente

Teorema 2. Dados n N; , R; x0 < . . . < xn , (xi R); y0 , . . . , yn , (yi R);


existe un nico spline cbico S de nodos x0 , ..., xn tal que

S(xi ) = yi , i = 0, . . . , n

y
S 0 (x0 ) = , S 0 (xn ) = .

Ejemplo 2. Supongamos que para la tabla del ejemplo anterior se busca un spline
cbico (no necesariamente natural) que satisfaga las condiciones S 0 (2) = 12061
y
0 293
S (3) = 60 . En estas condiciones el nuevo sistema a resolver para hallar los coefi-
cientes ci es
2
4 2 0 0 c0 5
2 6 1 0 c1 15
8
0 1 6 2 c2 = 6

113
0 0 2 4 c3 20

(notar que solo cambian la primera y la ltima ecuacin). Una vez resuelto el sistema,
se obtienen los coeficientes restantes mediante las mismas ecuaciones ya utilizadas.
Los resultados se muestran en la tabla siguiente:

5
i 0 1 2 3

xi -2 0 1 3
1
yi = a i 4 1 2 8
hi 2 1 2
3
i 4 1 6
i 3
hi 8 1 3
ci 14 3
10
23
40
9
8
11 11 11
ci+1 ci 20 40 20

ci+1 + 2ci 15 47
40
91
40
61 73 89
bi 120 120 60
11 11 11
di 120 120 120

As que la solucin es

1 61 1 2 11 3
4 + 120 (x + 2) 4 (x + 2) + 120 (x + 2)
si x [2, 0)
73 3 2 11 3
S(x) = 1 + 120 x + 10 x + 120 x si x [0, 1)
89 23 11
2 + 60 (x 1) + 40 (x 1)2 + 120 (x 1)3 si x [1, 3].

Propiedades de curvatura mnima


Una de las principales motivaciones de la interpolacin mediante splines es la
obtencin de funciones de interpolacin simples, como es el caso de los polinomios
interpoladores, pero que resulten en cierto sentido ms estables aun cuando aque-
llos no los son.
Una de las formas de analizar este comportamiento es mediante el concepto de
curvatura; desde un punto de vista local, la curvatura representa en cada punto la
tendencia de la curva a enrollarse sobre s misma, y desde un punto de vista global
se relaciona en parte con el grado de oscilacin de la curva, as como con cunto
dista la misma de comportarse como una recta (a la que uno le asignara intuitiva-
mente una curvatura nula). Si bien existen diferentes definiciones alternativas, para
el caso de curvas que son el grfico de funciones sobre un intervalo [a, b] resulta til
a la vez que simple la siguiente definicin:
Definicin 3. Dada f C 2 ([a, b]), se define la curvatura total de f sobre [a, b] (o la
curvatura total de f o curvatura de f si no es necesario aclarar ms), como
Z b
2
C (f ) = f 00 (x) dx.
a

6
Es claro que con esta defincin la curvatura est bien definida para funciones
C 2 y es no negativa. De hecho, es fcil probar que en tales condiciones las nicas
funciones con curvatura total nula son las funciones lineales lo cual coincide con la
idea intuitiva de curvatura que se buscaba definir.
El siguiente teorema establece en qu sentido los splines cbicos naturales y los
sujetos resultan funciones de curvatura mnima.

Teorema 3. Dados nodos x0 < . . . < xn , y una funcin f C 2 ([x0 , xn ]), si S(x)
es el spline cbico natural de nodos {xi } que interpola a f en x0 , ..., xn y S(x) es el
spline cbico con los mismos nodos que tambin interpola en ellos a f y a f 0 en los
extremos (es decir, verifica S 0 (x0 ) = f 0 (x0 ) y S 0 (xn ) = f 0 (xn )), entonces

C (S) C (S) C (f ).

Observacin 3. Del teorema anterior se deducen varias consecuencias:

Si g es cualquier funcin C 2 que interpola a f en los nodos x0 < . . . < xn ,


entonces surge de reemplazar g por f en el enunciado del teorema, que C (S)
C (g).

En particular, si P (x) = f (x|x0 , ..., xn ) (es decir, el polinomio interpolador en


esos nodos), C (S) C (P ).

Si g es cualquier funcin que interpola a f en los nodos x0 < . . . < xn y a su


derivada en los extremos (por ejemplo, el polinomio de Hermite que satisface
tales condiciones), entonces C (S) C (g).

Ejemplo 3. Consideremos los dos splines obtenidos en los ejemplos anteriores, a


los que denominamos S0 y S1 , respectivamente. Notar que la tabla de valores en
que se basan se verifica para la funcin f (x) = 2x . Es fcil tambin verificar que el
polinomio interpolador de f en los nodos dados es
73 3 11 3
P (x) = 1 + x + x2 + x
120 10 120
y adems, que las derivadas de P en los extremos del intervalo son P 0 (2) = 61
120 =
S10 (2) y P 0 (3) = 293 0
60 = S1 (3).
En base a todo esto y por el teorema anterior, podemos prever que:

C (S0 ) C (S1 )

C (S0 ) C (f )

C (S0 ) C (P )

C (S1 ) C (P )

7
Todas relaciones simples de verificar mediante el clculo de las curvaturas respec-
tivas, que resultan:
Z 0  2 Z 1 2 Z 3 2
3 3 32 39 39
C (S0 ) = (x + 2) dx+ + x dx+ (x 1) dx = 4,0875
2 20 0 10 20 1 20 40
2
3 11 2
Z 0 Z 1  Z 3 2
1 11 23 11 335
C (S1 ) = + (x + 2) dx+ + x dx+ + (x 1) dx =
2 2 20 0 5 20 1 20 20 48
4x 3
Z 3
2
C (f ) =
 2
ln (2)2x dx = ln4 (2) = 10,646 . . .
2 ln(4) 2

3 11 2
Z 3 
335
C (P ) = + x dx = .
2 5 20 48
Lo nico llamativo en este ejemplo es que las curvaturas de S1 y P resultaron
iguales, pero esto no es ninguna casualidad; en realidad es una consecuencia inme-
diata de algo que a simple vista no se not acerca de S1 y P . Se sugiere pensarlo
un poco ms en profundidad, pero en cualquier caso, la respuesta est al pie de esta
pgina.2

2
En realidad resulta que, a pesar de las diferentes expresiones que presentamos, P (x) = S1 (x)
en todo el intervalo. Y no hace falta ningn clculo para chequearlo, sino un simple razonamiento:
S1 (x) es el nico spline cbico es decir, la nica funcin C 2 formada por polinomios de grado
menor o igual a 3 en cada intervalo que tiene en los extremos las mismas derivadas que P y que
interpola a P (as como a f ) en los nodos. Pero es claro que P (x), por ser un polinomio de grado
3, es en s una funcin que cumple con todas esas condiciones. Por lo tanto, teniendo en cuenta la
unicidad del spline que asegura el Teorema 2, P S1 .

Вам также может понравиться