Professional Documents
Culture Documents
Splines
En las clases anteriores, estudiamos la aproximación de una función arbitraria por medio de un
polinomio interpolante en un intervalo cerrado. Sin embargo, la naturaleza oscilatoria de los
polinomios de alto grado y la propiedad de que una fluctuación en una parte pequeña de un
intervalo puede ocasionar importantes fluctuaciones de manera que los valores "reales" o
esperados de la función no correspondan con los que se obtienen con el polinomio interpolante, lo
cual limita su utilización.
La aproximación por funciones lineales muestra una desventaja: no se tiene seguridad de que haya
diferenciabilidad en los extremos de los subintervalos, lo cual dentro de un contexto geométrico
significa que la función no es “suave” en dicho punto. Seria deseable disponer de un esquema de
interpolación segmentaría que permitiera construir una aproximación a una función que no solo
coincida con los valores funcionales en los puntos tabulados, sino que también coincidan con las
derivadas de la función en esos puntos. Obviamente, la aproximación segmentaría lineal no
cumple estas condiciones, por lo que se deben emplear polinomios de mayor grado.
Un ejemplo es el uso de polinomios de Hermite. Para una funcion dada, estos polinomios no solo
coinciden con f(x) en los puntos x0, x1, ... , xn, sino que también lo hacen con la derivada primera de
f(x) en esos puntos. El problema es que en la mayoría de los casos no se conoce la función,
mucho menos las derivadas de la misma.
La interpolación polinómica segmentaría, más común utilizada entre cada par de nodos
consecutivos, recibe el nombre de interpolación de trazadores cúbicos (Splines). Un trazador
cúbico ofrece suficiente flexibilidad para garantizar que el interpolante no sólo sea continuamente
diferenciable en el intervalo, sino que además tenga una segunda derivada continua en el intervalo.
Ver figura 1.
Figura 1
Definición:
Sea una función f(x) en un intervalo [a,b], donde f(x) es conocida para un conjunto de puntos
pertenecientes a dicho intervalo, a = x0 < x1 < ... < xn = b, llamados nodos. Un spline, denotado por
la letra S, para f(x) es una función que satisface las siguientes condiciones:
a) S(x) es un polinomio cúbico, que denotado Sj(x), en el intervalo [xj, xj+1] para cada
j=0,1,...,n-1;
b) S(xj)=f(xj) para cada j=0,1,...,n;
c) Sj+1(xj+1)=Sj(xj+1) para cada j=0,1,...,n-2; Condición de Continuidad
Los splines que cumplen la condición de frontera libre se conocen con el nombre de splines
naturales. A menos que conozcamos los valores de f'(x) en los extremos, emplearemos splines
naturales.
Nota: Si bien la construcción de splines cúbicos nos asegura continuidad en las derivadas primera
y segunda en los nodos, no necesariamente se cumple que S'(xj)=f'(xj) ni S''(xj)=f''(xj).
Para construir el spline cúbico para una función f(x) dada, debemos aplicar las condiciones de la
definición:
S j ( x) = a j + b j ( x − x j ) + c j ( x − x j ) 2 + d j ( x − x j ) 3 (1)
Obviamente S j (x j ) = a j = f (x j ) (2)
a j +1 = S j +1 ( x j +1 ) = S j ( x j +1 ) = a j + b j ( x j +1 − x j ) + c j ( x j +1 − x j ) 2 + d j ( x j +1 − x j ) 3 (3)
Puesto que los términos x j +1 − x j se utilizarán varias veces en este desarrollo, conviene introducir
la notación más simple es
h j = x j +1 − x j (4)
S ' j ( x) = b j + 2c j ( x − x j ) + 3d j ( x − x j ) 2 (6)
Significa que S ' j ( x j ) = b j para cada j = 0, 1, 2, ……….n-1. Al aplicar la condición (d) se obtiene:
b j +1 = b j + 2c j h j + 3d j h 2j (7)
Al definir c n = S ' ' n ( x n ) / 2 y aplicando la condición (e), se obtiene otra relación entre los
coeficientes de S j . En este caso, para cada j = 0,1,...,n-1 se obtiene
c j +1 = c j + 3d j h j (8)
Al despejar d j de las ecuación (8) y sustituirlo en las ecuaciones (5) y (6) para cada j =
0,1,...,n-1 se obtienen las ecuaciones
h 2j
a j +1 = a j + b j h j + (2c j + c j +1 ) (9)
3
b j +1 = b j + h j (c j + c j +1 ) (10)
1 hj
Despejando b j de (9) se obtiene: b j = (a j +1 − a j ) − ( 2c j + c j +1 ) (11)
hj 3
1 h j −1
Si se reduce el índice j en (11) se obtiene b j −1 = (a j − a j −1 ) − ( 2c j −1 + c j ) (12)
h j −1 3
Cuando se sustituyen estos valores en la ecuación (10) con el índice reducido en 1, se obtiene el
sistema de ecuaciones lineales
3 3
h j −1c j −1 + 2(h j −1 + h j )c j + h j c j +1 = (a j +1 − a j ) − (a j − a j −1 ) (13)
hj h j −1
y de {a }
j
n
j =0
están dados por el espaciado de los nodos {x }
j
n
j =0
y los valores de f. Observe que
ecuación (11) y {d }j
n
j =0
de la ecuación (8) para construir los polinomios cúbicos {S j ( x)}j =0 es
n −1
fácil.
TEOREMA: Si definimos f en a = x0 < x1 < ... < xn = b, entonces f tendrá un interpolante único de
trazador natural en los nodos x0, x1, ... xn ; es decir, un interpolante de trazador que cumple con las
condiciones de frontera S’’(a) = 0 y S’’(b) = 0.
Demostración: En este caso, la condiciones de frontera significan que c n = S ' ' n ( x n ) / 2 = 0 y que
Las dos ecuaciones c 0 = 0 y c n = 0 junto con las ecuaciones de (13) conducen al siguiente
sistema de ecuaciones, que escribiremos en notación matricial:
Ax = b
donde
Bibliografía