You are on page 1of 5

CÁLCULO NUMERICO CARACAS, 3 DE SEPTIEMBRE DE 2007

TRAZADOR CÚBICO (SPLINES)

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.

Un procedimiento alterno consiste en dividir el intervalo de interpolación en una colección de


subintervalos y construir polinomios interpolantes para cada subintervalo. Esta técnica se conoce
con el nombre de aproximación polinómica segmentaría.

Obviamente la aproximación más cruda es la interpolación lineal segmentaría, en la que


simplemente se unen puntos sucesivos del conjunto de datos con una serie de líneas rectas. Ver
figura 1.

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

Prof. Froilan Lozada


CÁLCULO NUMERICO CARACAS, 3 DE SEPTIEMBRE DE 2007
TRAZADOR CÚBICO (SPLINES)

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

d) S'j+1(xj+1)=S'j(xj+1) para cada j=0,1,...,n-2; Condición de derivabilidad

e) S''j+1(xj+1)=S''j(xj+1) para cada j=0,1,...,n-2;

f) Una de las siguientes condiciones de frontera se satisface:

o S''(x0)=S''(xn)=0 (frontera libre)


o S'(x0)=f'(x0) y S'(xn)=f'(xn) (frontera sujeta)

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:

Sea el polinomio cúbico siguiente, en el intervalo [xj,xj+1]

S j ( x) = a j + b j ( x − x j ) + c j ( x − x j ) 2 + d j ( x − x j ) 3 (1)

para cada j = 0, 1, 2, ……….n-1

Obviamente S j (x j ) = a j = f (x j ) (2)

Si se aplica la condición (c) se obtiene:

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)

para cada j = 0, 1, 2, ……….n-1

Prof. Froilan Lozada


CÁLCULO NUMERICO CARACAS,3 DE SEPTIEMBRE DE 2007
TRAZADOR CÚBICO (SPLINES)

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)

para cada j = 0, 1, 2, ……….n-1. Si también definimos a n = f ( x n ) , entonces la ecuación (3) se


transforma en
a j +1 = a j + b j h j + c j h 2j + d j h 3j (5)

En forma similar, definiendo bn = S ' n ( x n ) se tiene que

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)

para cada j = 0,1,...,n-1

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

Prof. Froilan Lozada


CÁLCULO NUMERICO CARACAS, 26 DE SEPTIEMBRE DE3 2007
TRAZADOR CÚBICO (SPLINES)

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

j = 0,1,...,n-1. Este sistema contiene sólo {c }j


n
j =0
como incógnitas, ya que los valores de {h }
j
n −1
j =0

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

una vez que se conocen los valores de {c }


j
n
j =0
, encontrar las constantes {b }
j
n
j =0
partiendo de la

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

0 = S ' ' ( x o ) = 2c0 + 6d 0 ( x 0 − x 0 ) ; así que c0 = 0

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

es una matrix tridiagonal (n+1)x(n+1) y donde b y x son los vectores

Prof. Froilan Lozada


CÁLCULO NUMERICO CARACAS, 3 DE SEPTIEMBRE DE 2007
TRAZADOR CÚBICO (SPLINES)

La matriz A es estrictamente dominante diagonalmente, por lo tanto es no singular y este sistema


tiene una solución única.

Bibliografía

1.- Burden-Faires “Análisis Numérico”

2.- Kincaid-Cheney “Análisis Numérico”

Prof. Froilan Lozada

You might also like