Sie sind auf Seite 1von 21

Captulo 5

Interpolacin polinomial a trozos. Funciones spline


5.1 Introduccin.
Con la tecnica de la interpolacion polinomial clasica al aumentar el numero de
puntos de interpolacion. aumenta el grado del polinomio. Como se ha visto (seccion
3.4). los polinomios de grado alto plantean problemas de estabilidad. por su caracter
oscilatorio. Ademas su calculo exige un numero de operaciones relativamente grande.
con el consiguiente aumento de los errores de redondeo.
Funcin de Runge y spline de grado 1 interpolador
Una estrategia alternativa consiste en dividir el intervalo original en
subintervalos y sobre ellos utilizar polinomios de grado baio sobre subconiuntos de
coniunto total de datos.
Supongamos que se quiere interpolar la Iuncion f en el intervalo | | b a. . Se divide
dicho intervalo en subintervalos de extremos
i
x .
1
x
+ i
con b a
N
= < < < = x ... x x
1 0
.
A { }
N
x ..... x
0
= A se le llama particion del intervalo| | b a. y a los puntos
i
x . N i ..... 0 =
nodos. Sobre la particion considerada se trabaia con Iunciones interpolantes de la Iorma
| )
| )
| |

e
e
e
=

b P
P
a P
g
N
N
d
d
d
N
. x x . ) x (
x . x x . ) x (
x . x . ) x (
) x (
1
2 1
2
1
1
2
1

donde ) x (
i
d
i
P es un polinomio de grado
i
d baio. Se dice que ) x ( g es una Iuncion
polinomial a trozos asociada a la particion A.
La eleccion de la particion del intervalo de trabaio y de los grados de los
polinomios
i
d . depende de inIormacion disponible de la Iuncion f a simular. El uso de
Iunciones a trozos permite gran Ilexibilidad para adaptarse a las caracteristicas y datos
de la Iuncion f. Permitiendo por eiemplo considerar subintervalos de longitud pequea.
mas nodos en aquellas regiones donde la Iuncion tiene un perIil muy cambiante. o
pendiente o curvatura grande.
La Iuncion g se dice que es un polinomio a trozos de grado n si lo son los
'trozos de polinomios que la Iorman. esto es. N i n d
i
..... 1 . = = . Notese que en este
caso g no es. en general globalmente un polinomio de grado n. Es localmente. en cada
subintervalo deIinido. un polinomio de grado n.

Hay que hacer notar que la Iuncion g deIinida 'a trozos. en general no tiene que
ser continua. En la practica se suelen utilizar Iunciones continuas y con ciertos grados
de regularidad. Esto es. se suele pedir en los nodos. 'puntos de enganche. ciertas
propiedades de continuidad de la Iuncion y sus derivadas.
En este capitulo nos centraremos en el estudio de Iunciones polinomiales a
trozos con propiedades de regularidad en los nodos. llamadas Iunciones spline. que son
las mas utilizadas en las aplicaciones.
5.2 Funciones spline
La palabra inglesa spline deIine una regla Ilexible suieta a dos puntos. utilizada
en dibuio tecnico para pintar curvas suaves pasando por puntos especiIicados. Estas
condiciones de suavidad y adaptabilidad son las que hacen que las Iunciones
polinomiales a trozos que vamos a estudiar adoptaran este nombre. Una Iuncion spline o
un spline sera un polinomio a trozos de grado deIinido y con ciertas propiedades de
regularidad (derivabilidad). Formalmente.
Definicin 5.2.1 Sea } x ... x x
1 0
b a
n
= < < < = = A una particion del intervalo
| | b a. . | | 9
A
b a s . : es una Iuncion spline de orden m ( e m ) sobre A si se
veriIican las siguientes condiciones:
1.
A
s es un polinomio a trozos de grado m:
| )
| )
| |

e
e
e
=

A
n n
m
n
m
m
p
p
p
s
x . x x . ) x (
x . x x . ) x (
x . x x . ) x (
) x (
1
2 1
2
1 0
1

2. | | ( ) b a C s
m
.
1 A
e . Esto es. la Iuncion y sus 1 m primeras derivadas son
continuas en el intervalo | | b a. . Lo que se traduce en que tienen que ser
continuas en los nodos interiores:
1 ..... 1 . ) x ( ) x (
1 ..... 1 . ) x ( ) x (
1 ..... 1 . ) x ( ) x (
1 ( 1 (
= =
= ' = '
= =
+
A

A
+
A

A
+
A

A
n i s s
n i s s
n i s s
i
m
i
m
i i
i i

Si llamamos
m
S
A
al coniunto de splines de orden m deIinidos sobre la particion A
del intervalo | | b a. . se demuestra que tiene estructura de espacio vectorial con las
operaciones usuales de suma de Iunciones y producto por escalares. No es diIicil probar
que este espacio tiene dimension m n + . A esto ultimo se puede llegar inIormalmente
considerando el numero de parametros 'libres que deIinen un spline. Sea
A
s un spline
de grado m sobre A:
1. | | = e e
+ A
1 ..... 0 . x . x si . ) x (
1
n i x P s
i i m
1 + m parametros deIinen
A
s en
el intervalo | |
1
x . x
+ i i
. 1 ..... 0 = n i .
Como hay n intervalos. en total n m ) 1 ( + parametros deIinen un polinomio a
trozos de grado m.
1. Para que un polinomio a trozos de grado m sea un spline de dicho grado tiene
ademas que veriIicar unas restricciones de continuidad de las Iunciones
A
s .
A
' s .
... y
1 (
A
m
s en los nodos interiores 1 ..... 1 . x
i
= n i . En total son m n ) 1 (
restricciones.
Por tanto el numero de parametros que deIinen un spline de orden m sobre A es
m n m n n m + = + ) 1 ( ) 1 (
Como el tema que nos ocupa es el de interpolacion. estos parametros se Iiiaran
basicamente a partir de las condiciones de interpolacion.
Para ilustrar la deIinicion de Iuncion spline comenzaremos con los de grado 1 y
2. Los de grado 3. los mas utilizados en las aplicaciones. los veremos con mas detalle en
la siguiente seccion.
Funciones spline de grado 1
Las Iunciones spline de grado 1 son Iunciones lineales a trozos y continuas.
GraIicamente se representan por poligonales. El coniunto de splines de grado 1 sobre A
tiene dimension 1 + n . Por tanto. para determinar univocamente un spline de grado 1
sobre A necesitamos 1 + n condiciones 'independientes. Por eiemplo los valores de la
Iuncion f a interpolar en los nodos n i
i
..... 0 . x = :
) x ( s : spline de grado 1 1 + n parametros.
= = n i f s
i i
..... 0 ). x ( ) x ( 1 + n condiciones.
La base de Lagrange para el problema de interpolar f en los puntos { }
n
x ..... x
0
por Iunciones spline de grado 1 sobre A seran las Iunciones spline de grado 1 sobre A.
) x ( )..... x (
0 n
l l tales que

=
=
= =
i i
i i
l
ii i
si 0
si 1
) x (
i
o
Facilmente se llega a:
| |
| |

e
e

=
n 1
1 0
1 0
1
0
x . x x 0
x . x x
x x
x x
) x ( l .
| |
| |
| |
| |
1 - n 1.... i
x . x x 0
x . x x
x x
x x
x . x x
x x
x x
x x. x 0
) x (
n 1 i
1 i i
i 1 i
1 i
i 1 - i
1 - i i
1
1 - i
=

e
e

e
=
+
+
+
+
i
i
l
| |
| |

e
=

n 1 - n
1 - n n
1
1 - n 0
x . x x
x x
x x
x . x x 0
) x (
n n
l
Con la ayuda de la base de Lagrange se puede escribir el spline lineal sobre A que
interpola a f en los nodos de A :
) x ( ) x ( ... ) x ( ) x ( ) x (
0 0 n n
l f l f s + + = .
Ejemplo 5.2.1: En una aplicacion grafica se quiere derivar la formula que
implementa un prototipo grafico en el intervalo [-1.1]. pasando por los puntos (-1.0) v
(1.0) v de altura variable (h) en 0. Dicha curva esta definida por una funcion continua
que adopta la forma de polinomios de grado 1 en los subintervalos [-1.0] v [0.1]. Dar
la expresion de dichos patrones.
La Iuncion pedida. ) x ( s . es un spline de grado 1 en |-1.1|. asociado a la
particion { } 1 x . 0 x . 1 x
2 1 0
= = = = A . Atendiendo a los resultados generales de
interpolacion (vistos en el capitulo 2) podemos expresar dicha Iuncion. utilizando la
Iormula de Lagrange. de la Iorma:
) x ( ) 1 ( ) x ( ) 0 ( ) x ( ) 1 ( ) x (
2 1 0
l s l s l s s + + = .
Las Iunciones spline ) x (
0
l . ) x (
1
l . ) x (
2
l . Iorman la base de Lagrange del
problema de interpolacion. Construyendolas como se ha indicado anteriormente y
recogiendo los datos de interpolacion:
| |
| |

e +
e +
= =
1 . 0 x si 1 x -
0 . 1 x si 1 x
) x ( ) 0 ( ) x (
1
h l s s
Otra Iorma de construir la Iuncion seria:
1. ) x ( s es un polinomio de grado 1 en los intervalos |-1.0| y |0.1|. Por tanto admite
la expresion:
| |
( |

e +
e +
=
1 . 0
0 . 1
) x (
x b ax
x B Ax
s ( 1 )
2. ) x ( s tiene que ser una Iuncion continua en |-1.1|. La Iuncion expresada en ( 1 )
es continua por construccion en (-1.0) y (0.1). por ello basta imponer
continuidad en el punto 0:
b B s s = =
+
) 0 ( ) 0 ( ( 2 )
Las Iunciones expresadas en ( 1 ) con la restriccion ( 2 ):
| |
| |

e +
e +
=
1 . 0
0 . 1
) x (
x B ax
x B Ax
s ( 3 )
constituyen el coniunto de Iunciones spline de grado 1 sobre A .
3. Si se imponen en ( 3 ) las condiciones de interpolacion . 0 ) 1 ( = s . ) 0 ( h s =
0 ) 1 ( = s se obtiene
. . A h B h a h = = =
.
Ejemplo 5.2.2: Se desea construir una tabla con valores de
x
) x ( e f = . | | 1 . 0 x e .
en una serie de puntos equiespaciados n i ih
i
..... 0 . x = = . de forma que al aproximar
) x ( f por la poligonal que une los puntos n i f
i i
..... 0 )). x ( . x ( = . el error sea menor que
3
10

. Calculese el valor de h. distancia entre nodos consecutivos. que garantice la


aproximacion requerida.
Sea ) x ( s el spline de grado 1 que interpola a f en los puntos n i
i
.... 0 . x = .
sealados. Aplicando la estimacion del error dada en la seccion 3.4 del capitulo de
interpolacion polinomial clasica en cada uno de los intervalos | | n i
i i
.... 0 . x . x
1
=
+
i
i
M
h M
s f
8 ! 2 4
) x x (
) x ( ) x (
2 2
i 1 i
=

s
+
si | | 1 ..... 0 . x . x x
1 i i
= e
+
n i
con
| |
1 ..... 0 . ) x ( max
1 i i
x . x x
= ' ' >
+
e
n i f M
i
.
En nuestro caso podemos escribir la acotacion:
| |
| | 1 . 0 x .
8
) x ( max
8
) x ( ) x (
2
0.1 x
2
e = ' ' s
e
e
h
f
h
s f
Imponiendo que esta acotacion sea menor que la precision exigida.
3
2
10
8

s e
h
se obtiene:
055 . 0 10
2
2
3
~ <

e
h
Por tanto tomando puntos equidistantes a una distancia menor que 0.055 se
garantiza la precision requerida. Notese que esto supone construir una tabla con 1 + n
datos. siendo 19 = n el natural mas proximo por exceso a
h
1
.
Observaciones:
1. Notese que al aumentar el numero de nodos. disminuir h. meiorara la precision
de la aproximacion.
2. ) x ( s proporciona meior aproximacion que la resultante de interpolar f por un
polinomio (de grado 19) en los 20 nodos considerados. Ademas este polinomio
adoptara una Iorma Iuertemente oscilante.
Un inconveniente de la interpolacion lineal a trozos es que la derivada de la
Iuncion interpolante es discontinua en los nodos. Las Iunciones spline de orden 2 o
mayor no tienen esa desventaia.
Funciones spline de grado 2
Un spline ) x ( s de grado 2 o cuadratico sobre { }
n 1 0
x ... x x < < < = A es:
1. Un polinomio a trozos de grado 2 en | |
n 0
x . x :
| |

=
e
+
1 ..... 0
x . x si ) x (
1 i i 2
n i
P s
2. s y s son Iunciones continuas en el intervalo ) x . x (
n 0
.
GraIicamente las Iunciones spline de grado dos son parabolas en cada
subintervalo | |
1
x . x
+ i i
. 1 ..... 0 = n i . conectadas. con continuidad de la Iuncion y su
derivada.
El coniunto de splines de grado 2 sobre A tiene dimension 2 + n . Esto es. se
necesitan 2 + n condiciones 'independientes para determinar un elemento del espacio.
En el problema que nos ocupa de interpolar una Iuncion f (o una tabla de datos).
los valores de la Iuncion en los nodos n i ..... 0 . x
i
= . pueden proporcionarnos 1 + n
condiciones. Se hace notar que se requerira una condicion adicional. no redundante.
para Iiiar de Iorma unica el spline interpolante:
) x ( s : spline de grado 2 sobre A 2 n + parametros
2 n
adicional condicion 1
..... 0 ). x ( ) x (
+
)
`

+
= = n i f s
i i
condiciones
Ejemplo 5.2.3: Se desea modelar la cubierta de un edificio simetrico describiendo
el perfil de su seccion con un spline de grado 2 segun la grafica adiunta. Los datos de
los que se dispone son las alturas del edificio en varios puntos. segun se indica en la
tabla.
x 0 1 2
Altura
0
v
1
v
2
v
Dar la expresion del spline de grado dos en el intervalo [0.2] que interpola los datos
proporcionados.
Sea ) x ( s el spline pedido en el intervalo |0.2| correspondiente a la particion
0.1.2} y que interpola los datos de la tabla:
2
1
0
) 2 (
) 1 (
) 0 (
v s
v s
v s
=
=
=
Notese que ademas nos dan como inIormacion la simetria de la cubierta. En
nuestro caso ) x ( s ) x ( s .
| |
x 0. 2 e
. De esta propiedad se deduce que
0 ) 0 ( = ' s .
Este ultimo dato numerico iunto con los anteriores nos van a permitir calcular
univocamente el spline en Iuncion de los datos
0
v .
1
v e
2
v . Se trata ahora de construir
dos polinomios p y q de grado dos en los intervalos |0.1| y |1.2| respectivamente:
| |
| |

e
e
=
2 . 1 x . ) x (
1 . 0 x . ) x (
) x (
q
p
s
de Iorma que s y s' sean continuas:
) 1 ( ) 1 ( ) 1 ( ) 1 (
) 1 ( ) 1 ( ) 1 ( ) 1 (
q p s s
q p s s
' = ' ' = '
= =
+
+
y ademas veriIiquen las condiciones de interpolacion dadas:
0 ) 0 ( 0 ) 0 (
) 2 ( ) 2 (
1) punto el en d continuida
haya mente automatica que a obliga
condicion esta que (notese y ) 1 ( ) 1 ( ) 1 (
) 0 ( ) 0 (
2 2
1 1
0 0
= ' = '
= =
= = =
= =
p s
v q v s
q p v s
v p v s
Se trata entonces de construir p y q con todas las condiciones anteriormente
reIeridas. Dependiendo de las expresiones generales que adoptemos para p y q.
llegaremos a distintos metodos que implementan p y q. El procedimiento que vamos a
seguir aqui es construir p y q utilizando en cada caso y con los datos pertinentes la
Iormula de Newton generalizada (vista en la seccion 4.2).
Empezamos construyendo ) x ( s en el intervalo |0.1| con los datos numericos
disponibles ( ) 1 ( ). 0 ( ). 0 ( s s s ' ) en ese intervalo. Para ello calculamos la tabla de
diIerencias divididas:
k
x
k
v | | - -. s | | - - - . . s
0
0
v
0
0
v
0 ) 0 ( = ' s
1
1
v
0 1
v v
0 1
v v
Por tanto. utilizando la Iormula de Newton generalizada:
| |. 1 . 0 x si x ) ( ) x (
2
0 1 0
e + = v v v s
Repetimos el proceso. ahora en el intervalo |1.2| con los datos disponibles en ese
intervalo ( ) 2 ( ). 1 ( s s ). Construimos la tabla de diIerencias divididas:
k
x
k
v | | - -. s | | - - - . . s
1
1
v
1
1
v ) 1 ( s'
2
2
v
1 2
v v ) 1 (
1 2
s v v '
Por tanto. utilizando la Iormula de Newton generalizada:
| | 2 . 1 x si 1) - x ))( 1 ( (y 1) - x )( 1 ( ) x (
2
1 2 1
e ' + ' + = s v s v s
Otra caracteristica de los splines se reIiere a la regularidad de la Iuncion; la
Iuncion y su derivada tienen que ser continuas en (0.2):
- s es automaticamente continua: En el procedimiento de construccion seguido
se ha impuesto en cada uno de los intervalos la condicion
1
) 1 ( v s = .
- s' continua en (0.2). esto es:
) ( 2 ) 1 ( ) 1 (
0 1
v v s s = ' = '
+
Sustituyendo este valor en la expresion obtenida para ) x ( s cuando | | 2 . 1 x e . se
concluye:
| |
| |

\
|
e + + +
e +
=
. 2 . 1 x si ) 1 x )( 2 3 ( ) 1 x )( ( 2
1 . 0 x si x ) (
) x (
2
0 1 2 0 1 1
2
0 1 0
v v v v v v
v v v
s
5.3 Funciones spline cbicas
Las Iunciones spline cubicas son las Iunciones polinomiales a trozos mas
utilizadas en la practica.
Por deIinicion sabemos que un spline cubico. ) x ( s . deIinido sobre
} x ... x x
1 0
b a
n
= < < < = = A es un polinomio a trozos de grado 3. tal que
) x ( ' ' y ) x ( ' ). x ( s s s son Iunciones continuas. En deIinitiva:
1. ) x ( s es un polinomio de grado 3 si ) x . x | x
1 +
e
i i
. i 0....n-1

2.

= =
= =
= =
+
+
+
1 ..... 1 ). x ( ' ' ) x ( ' '
1 ..... 1 ). x ( ' ) x ( '
1 ..... 1 ). x ( ) x (
i
-
i
i
-
i
i
-
i
n i s s
n i s s
n i s s
Atendiendo a la deIinicion un spline cubico sobre A esta determinado por n3
parametros. o lo que es lo mismo. el espacio de Iunciones spline cubicos sobre A tiene
dimension n3.
Si consideramos el spline cubico de interpolacion de una Iuncion f en los
nodos x
i
. i 0...n. de A. este no esta univocamente determinado por los n1 datos de
interpolacion:
(x ) (x ). 0.....n.
i i
s f i = =
Para determinar de Iorma unica el spline cubico de interpolacion considerado
) x ( s se requieren dos condiciones adicionales mas. Generalmente estas condiciones se
Iiian en los extremos del intervalo. Los tipos de condiciones adicionales mas usuales
son los siguientes:
a) 0 ) ( ' ' ) ( ' ' = = b s a s . Estas condiciones se llaman naturales.
b)
a
v a s ' ) ( ' = y
b
v b s ' ) ( ' = donde
a
v' e
b
v' son valores reales preIiiados. Si se
conocen los datos ) ( ' y ) ( ' b f a f de la Iuncion a interpolar. estos seran los
valores
b a
v v ' y ' . En otro caso seran estimaciones de los valores de ' f en
b a y . respectivamente.
c) ) ( ' ' ) ( ' ' y ) ( ' ) ( ' b s a s b s a s = = . Estas condiciones se denominan periodicas y
son de interes para simular Iunciones f con estas mismas condiciones de
periodicidad.
Ejemplo 5.3.1 Se considera la funcion polinomial a trozos
| )
| |

e + + +
e
=
3 . 1 x si ) 1 ( ) 1 ( ) 1 ( 5 . 0
1 . 0 x si x
) x (
2 3
3
c x b x a x
r
Determinar que condiciones deben verificar los parametros reales c b a y . para
que dicha funcion sea un spline cubico sobre A{0.1.3}.
1. Por deIinicion la Iuncion ) x ( r ya es un polinomio a trozos de grado tres:
) 1 . 0 | x si ) x (
3
e eP r
| | 3 . 1 x si ) x (
3
e eP r
2. Imponemos ahora las condiciones de continuidad de la Iuncion y de su primera
y segunda derivada en el unico nodo interior:
a r r
b r r
c r r
2 6 ) 1 ( ' ' ) 1 ( ' '
3 ) 1 ( ' ) 1 ( '
1 ) 1 ( ) 1 (
= =
= =
= =
+
+
+
Luego se concluye que la Iuncion ) x ( r es un spline cubico sobre A si
1 . 3 = = = c b a .
5.3.1 Algoritmo de clculo de funciones spline cbicas
Se considera el spline cubico sobre Ax
0
x
1
.x
n
} que interpola a la
Iuncion f en los puntos x
i
. i 0...n y que veriIica dos condiciones adicionales del
tipo de las sealadas anteriormente. Sabemos que dicho spline es unico. le llamaremos
) x ( s y nos proponemos calcularlo de Iorma eIiciente.
De 'Iorma natural podriamos empezar la construccion de ) x ( s . representando
dicha Iuncion en cada intervalo de la Iorma:

=
e + + + =
+
1 ..... 0
) x . x | x si ) x x ( ) x x ( ) x - x ( ) x (
1
2 3
i
n i
D C B A s
i i i i i i i i
Con
i i i i
D C B A . . . numeros reales. Se trata entonces de determinar estos 4n
parametros a partir de imponer:
- Condiciones continuidad de ' ' . ' . s s s en x
i
. i 1...n-1. (3(n-1) condiciones)
- Condiciones de interpolacion en los nodos x
i
. i 1...n. (n1 condiciones).
- 2 condiciones adicionales.
El resultado es que para calcular ) x ( s siguiendo este procedimiento hay que
resolver un sistema lineal (obtenido al imponer las condiciones anteriores) de 4n
ecuaciones y 4n incognitas. En las aplicaciones reales. n puede alcanzar valores
grandes. lo que nos anima a ver otro procedimiento de construccion mas eIiciente. La
idea es la siguiente:
1. Dar una expresion de
(x) s
en terminos de n1 parametros. que llamaremos
i
M . i 0...n y que seran . .... 0 . ) x ( ' '
i
n i M s
i
= =
2. Imponer las condiciones requeridas sobre la expresion reIerida de ) x ( s .
resultando un sistema lineal en las incognitas
i
M . i 0...n. de orden
(n1)x(n1).
En adelante notaremos por
n i f
n i h
i i
i i i
..... 0 ). x ( y
1 ..... 0 . x x
1 1
= =
= =
+ +
Por ser la Iuncion ) x ( s un polinomio de grado 3 en el intervalo | |
1
x . x
+ i i
.
) x ( " s es un polinomio de grado 1 en dicho intervalo. pudiendose construir a partir de
sus valores en los extremos.
i
M y
1 + i
M :
| |
1
1
1
1
1
x . x x .
x x x x
) x ( "
+
+
+
+
+
e

=
i i
i
i
i
i
i
i
h
M
h
M s
Integrando la expresion anterior se obtiene:
| |
1
1
2
1
1
2
1
x . x x .
2
) x (x
2
x) (x
) x ( '
+
+
+
+
+
e +

=
i i i
i
i
i
i
i
i
A
h
M
h
M s (1)
Si integramos de nuevo tenemos la siguiente expresion para ) x ( s
| |
1
1
3
1
1
3
1
x . x x . ) x x (
6
) x (x
6
x) (x
) x (
+
+
+
+
+
e + +

=
i i i i i
i
i
i
i
i
i
B A
h
M
h
M s
Se hace notar que por construccion ) x ( " s es continua en el intervalo (x
0
. x
n
).
Imponiendo ahora que la Iuncion interpole los datos.
y ) x ( y y ) x (
1 1 + +
= =
i i i i
s s . obtenemos los valores de 1 ..... 0 . y = n i B A
i i
:
i i i
i
i i i
i
i
i i
B h A
h
M x s v
B
h
M x s
+ + = =
+ = =
+
+
+ + +
+
1
2
1
1 1 1
2
1
i
6
) (
6
) ( y
Luego
1 - 0..... . ) (
6
y y
1 - 0..... .
6
y
1
1
1
1
2
1
n i M M
h
h
A
n i
h
M B
i i
i
i
i i
i
i
i i i
=

=
= =
+
+
+
+
+
Por tanto hemos obtenido una expresion de la Iuncion ) x ( s . en terminos de los datos y
de los parametros
i
M . n i ..... 0 = :
) x x (
6
) x x (
2
) x x (
6
2 y y
y ) x (
3
1
1 2
1
1
1
1
i
i
i i
i
i
i i
i i
i
i i
i
h
M M M
h
M M
h
s

+ +
|
|
.
|

\
| +

+ =
+
+
+
+
+
+
| | . 1 ..... 0 . x . x x
1
= e
+
n i si
i i
Notese que por construccion dicha Iuncion y su derivada
segunda son continuas en el intervalo (x
0
. x
n
) y ademas interpola los datos. Falta
imponer que la primera derivada sea continua y los datos adicionales. Estas condiciones
nos llevaran al calculo de los parametros
i
M . n i ..... 0 = .
Por ser la Iuncion ' s continua se tiene que veriIicar:
. 1 ..... 1 ). ( ' ) x ( ' = =
+
n i x s s
i i
Evaluando ' s en dichos puntos. para lo cual utilizamos adecuadamente las
expresiones de ) x ( ' s del tipo (1). se obtiene
1 ..... 1 ). (
6
y y
2
) (
6
y y
2
1
1
1
1 1
1
1
=

+ =

+
+
+
+
+ +

n i M M
h
h
h
M M M
h
h
h
M
i i
i
i
i i i
i i i
i
i
i i i
i
Por tanto
1 ..... 1 .
y y y y
6 3
) (
6
1
1
1
1
1 1
1
=

= +
+
+

+
+
+
+ +

n i
h h
M
h
M
h h
M
h
i
i i
i
i i
i
i
i
i i
i
i
Si denotamos por
1 ..... 1 . 1 .
1 1
1
=
+
= =
+
=
+ +
+
n i
h h
h
h h
h
i i
i
i i
i i
i
i
u
y
1 ..... 1 .
6
1
1
1
1
=
|
|
.
|

\
|

+
=

+
+
+
n i
h
v v
h
v v
h h
c
i
i i
i
i i
i i
i
Se obtienen las ecuaciones (lineales)
. 1 ..... 1 . 2
1 1
= = + +
+
n i c M M M
i i i i i i
u
Notese que tenemos n-1 ecuaciones para determinar los n1 parametros
i
M .
Las condiciones adicionales nos aportaran dos nuevas ecuaciones. Suponiendo que ) x ( s
es un spline natural. esto es
0 ) x ( "
0 ) x ( "
n
0 0
= =
= =
n
M s
M s
para determinar los restantes valores
i
M hay que resolver un sistema lineal (n-1)x(n-1).
que escrito matricialmente es:
|
|
|
|
|
|
|
|
.
|

\
|
=
|
|
|
|
|
|
|
|
.
|

\
|
|
|
|
|
|
|
|
|
.
|

\
|

1
2
2
1
1
2
2
1
1 - n
2 - n 2 - n
2 2
1
2 0 0
2
2
0 2
n
n
n
n
c
c
c
c
M
M
M
M

u
u
u

Observaciones:
1. La matriz del sistema lineal anterior es no singular lo que signiIica que tiene
solucion unica. Por tanto. el problema de interpolacion planteado con Iunciones
spline cubicas tiene solucion unica.
Por otro lado. la matriz es tridiagonal. esto es. solamente tiene elementos no
nulos en las posiciones (i.i) tales que 'i-i' s1. Esto se traducira en una gran
economia en las posiciones de memoria requeridas para su almacenamiento en el
ordenador y en el numero de operaciones a eIectuar en la resolucion numerica
del problema. Existen algoritmos numericos eIicientes para la resolucion de este
tipo de sistemas que suponen del orden de n operaciones Irente al orden n
3
que
conlleva la resolucion numerica de un sistema lineal con matriz 'llena (pocos
elementos nulos). Piensese que de haber utilizado la estrategia inicialmente
comentada de calculo de la Iuncion spline. esto habria supuesto del orden de
4n
3
operaciones.
2. Notese que en el sistema planteado los elementos de la matriz ) . (
i i
u no
dependen de los datos de interpolacion. solamente dependen de la localizacion
de los nodos x
i
y de los valores de interpolacion y
i
y de contorno. Por ello. si
cambian los datos de interpolacion basta actualizar el vector . ) .... (
0
T
n
c c c =
3. Si los nodos x
i
son equiespaciados ....n i ih
i
0 . x x
0
= + =
1 .... 1 .
2
1
= = = n i
i i
u
1 .... 1 .
y y 2 y
3
2
1 1
=
+
=
+
n i
h
c
i i i
i
4. Hemos visto un algoritmo eIiciente de calculo de un spline cubico natural de
interpolacion. Analogamente se procede si se consideran otro tipo de
condiciones de contorno adicionales. En el caso de que estas sean valores
prescritos de la derivada en los extremos (tipo b). : ' y ) x ( ' y ' y ) x ( '
0 0 n n
s s = =
0
1
0 1
1
1
0
1
0 0
' y
y y
6 3
' y ) x ( '

= + =
h
M
h
M
h
s
n
n n
n n
n
n
n
n n
h
v M
h
M
h
s
1
1
y y
'
3 6
' y ) x ( '


= + =
Esto lleva al sistema de ecuaciones lineales
|
|
|
|
|
|
|
|
.
|

\
|
=
|
|
|
|
|
|
|
|
.
|

\
|
|
|
|
|
|
|
|
|
.
|

\
|
n n
c
c
c
c
M
M
M
M
2 0 0
2
2
0 2
2
1
0
2
1
0
n
2 2
1 1
0

u
u
u

con
1
0
= =
n
u
.
y y
' y
6
. ' y
y y 6
1
0
1
0 1
1
0
|
|
.
|

\
|
=
|
|
.
|

\
|

=

n
n n
n
n
n
h h
c
h h
c
Ejemplo 5.3.1.1 Construvase el spline cubico natural que interpola los datos de la
tabla
x
k
1 2 3 4
y
k
0.5 4 2 0.7
En este caso los nodos son equidistantes. Atendiendo a la notacion seguida
. 2 . 1 . 0 . 1 = = i h
i
Por tratarse de un spline natural sabemos que
0
3 0
= = M M
Recogemos ahora las condiciones de la Iuncion spline y los requerimientos de
interpolacion
1 . 2 2
2
1
2
2
1
5 . 16
2
1
2 2
2 1 2 2 1
2 1 1 2 1 1
= + = +
= + = +
M M c M M
M M c M M
De donde resulta:
08 . 1 . 52 . 8 . 0
2 1 3 0
= = = = M M M M
A partir de los valores de los momentos obtenidos ( ) 3 . 2 . 1 . 0 ). x ( " = = i s M
i i
escribimos la expresion del spline:
| |
| |
| |

e +
e + +
e + +
=
4 . 3 x . 3) - 0.18(x 3) - 0.54(x - 3) - 0.94(x - 2
3 . 2 x . ) 2 - x ( 6 . 1 ) 2 - x ( 26 . 4 ) 2 x ( 66 . 4 4
2 . 1 x . ) 1 x ( 42 . 1 ) 1 x ( 08 . 2 5 . 0
) x (
3 2
3 2
3
s
Ejemplo 5.3.1.2 Sea ) x ( s el spline cubico de interpolacion de x) ( f en los nodos
n i ih
i
..... 0 . x x
0
= + = con datos adicionales
n n
s s ' y ) (x ' y ' y ) x ( '
0 0
= = .
(Representacion de Hermite del spline cubico de interpolacion). Jerifiquese que
) x ( s se puede representar a partir de la tripletas ( ) ( )
n n n
' y . y . x . ... . ' y . y . x
0 0 0
.
donde n i f f
i i i i
.... 0 ). x ( ' ' y ). x ( y = = = mediante la expresion
| | n i a a a a s
i i i
i
i
i
i
i i
.... 1 . x . x x si ) x - x ( ) x - x ( ) x - x ( ) x (
1
3
1 3
2
1 2 1 1 0
= e + + + =

Donde
). y' y' (
1
) y - (y
2
) y' 2 y' (
1
) y - (y
3
y'
y
1
2
1
3
3
1 1
2
2
1 1
1 0

+ +

=
+ =
=
=
i i i i
i
i i i i
i
i
i
i
i
h h
a
h h
a
a
a
Se considera el intervalo | |
i i
x . x
1
. En este intervalo la Iuncion ) x ( s es un
polinomio de grado 3 que se quiere representar a partir de los datos
i i i
i i i i
s s
s s
' y ) (x ' . y ) x (
' y ) (x ' . y ) x (
i
1 1 1 1
= =
= =

(*)
Por tanto ) x ( s . restringido al intervalo | |
i i
x . x
1
es el polinomio de
interpolacion de Hermite de los datos reIeridos (*). Sabemos que dicho polinomio es
unico y mediante una mera comprobacion se demuestra que admite la expresion dada en
el enunciado.
Se hace notar que la representacion dada equivale a tratar a la Iuncion spline
como un polinomio de interpolacion de Hermite a trozos.
b) Construir el sistema de ecuaciones lineales que verifican . 1 .... 1 ). x ( ' y' = = n i s
i i
Que estructura tiene la matriz de dicho sistema?.
En el apartado anterior se ha dado una representacion de ) x ( s en cada intervalo
| |
i i
x . x
1
a partir de sus valores y los de su derivada en los nodos x
i-1
y x
i
(
i
y' . y . y . y
i 1 - i 1 - i
' ). Por tanto. siguiendo dicha construccion. automaticamente se obtiene:
-
) x ( s y ) x ( ' s continuas en | |
n
x . x
0
-
) x ( s interpola a f
-
) x ( s veriIica las condiciones de contorno
n n
s s ' y ) x ( ' . ' y ) x ( '
0 0
= = .
Para que dicha Iuncion sea un spline cubico basta imponer condiciones de
continuidad de ) x ( " s :
1 .... 1 . 3 1 1 ). x ( " ) x ( "
1
2 3 2
= = + = =
+ +
n i a ha a .....n- i s s
i i i
i i
Resultando el sistema de ecuaciones lineales:

=
+ = + +

+ +
1 .... 1
) y' 2 y' (
1
) y - (y
3
) y' y' 2 (
1
) y - (y
3
1 1
2
1 1
2
n i
h h h h
i i i i i i i i

=
= + +

+ +
1 .... 1
) y (
3
' y ' y 4 ' y
1 1 1 1
n i
v
h
i i i i i
Se observa que la matriz del sistema es tridiagonal.
5.3.2. Propiedad extremal y de convergencia de las funciones spline de
interpolacin
La interpolacion polinomial a trozos se ha introducido como una estrategia
alternativa a la interpolacion polinomial clasica global. Vimos que los polinomios de
interpolacion presentan un caracter Iuertemente oscilante al aumentar el numero de
nodos de interpolacion y ademas. en general. no convergen a la Iuncion interpolada al
considerar particiones arbitrariamente Iinas. Por otra parte. al introducir las Iunciones
spline se ha hecho hincapie en su Iorma 'suave. Esta caracteristica. que hace que sea
de interes su uso en muchas aplicaciones. se deriva de una propiedad de curvatura
minima de dichas Iunciones.
Sea ) x ( s el spline cubico de interpolacion de una Iuncion ) x ( f en los nodos
n i
i
.... 0 . x = veriIicando condiciones de contorno del tipo (a). (b) o (c) indicadas en la
seccion 5.3.1. Se demuestra (ver libro |Stoer-Bulirsch| incluido en la bibliograIia) que
veriIican la siguiente propiedad extremal:

' ' s ' '
n n
d g d s
x
x
2
x
x
2
0 0
x )) x ( ( x )) x ( (
para cualquier Iuncion | | ( )
n 0
2
x . x ) x ( C g e que interpole a f en los nodos n i ..... 0 . x
i
=
y con los datos de contorno del tipo de los de ) x ( s .
Para interpretar graIicamente esta propiedad de minimizacion consideramos la
curvatura de la Iuncion f en x. que viene dada por
3/2 2
) (x)) I ( (1
) x (
) x (
' +
' '
=
f
;
Si ) x ( f ' es pequeo comparado con 1. ) x ( ) x ( f ' ' ~ ; y por tanto

' ' ~
n n
d f d
x
x
2
x
x
2
0 0
x )) x ( ( x )) x ( (;
Esto es. la medida de la curvatura total de f en el intervalo | |
n 0
x . x se puede aproximar
por

' '
n
d f
x
x
2
0
x )) x ( ( . En clave de este concepto geometrico podemos interpretar la
propiedad extremal diciendo que el spline cubico de interpolacion es la Iuncion de
'curvatura minima ('mas suave) que interpola a la Iuncion.
Otra lectura de esta propiedad es que el spline cubico de interpolacion adopta la
Iorma que. pasando por los puntos prescritos. minimiza la energia potencial. energia de
deIormacion haciendo alusion a la regla elastica que da nombre a las Iunciones spline.
Por otra parte. a partir de la Iormula de acotacion del error derivada en el
eiemplo 5.3.1.2 para nodos equidistantes (h):
| |
n 0
4
x . x x . ) x ( ) x ( e s cMh s f
con M f
iv
s ) x (
)
si | |
n 0
x . x xe . se derivan resultados de convergencia de las
Iunciones spline cubicas a la Iuncion interpolada si h es suIicientemente pequeo.
Resultados mas generales de convergencia se pueden ver en el libro de |Stoer-
Bulirsch|.
5.4 Introduccin a las funciones B-spline
En la seccion 5.2 se veia que el coniunto de splines de grado m sobre una
particion { }
n 1 0
x ... x x < < < = A tiene estructura de espacio vectorial. por tanto las
Iunciones spline sobre A se pueden construir a partir de los elementos de una base

=
i
) x ( x) (
i i
B c s . Desde el punto de vista computacional seria interesante disponer de
una base de Iunciones spline cuyos elementos tuvieran como soporte intervalos de
longitud razonablemente pequea. 'que se intersequen lo menos posible entre si.
InIormalmente hablando. esto repercutira al evaluar la Iuncion spline en un punto. en el
numero de polinomios a evaluar en ese punto y las sumas a eIectuar.
Con este Iin se consideran Iunciones spline tales que
) |
i 1 - m - i
x . x x si 0 ) x ( e = s . Para evitar tener en cuenta las condiciones de contorno se
considera un coniunto de nodos ampliado
m n n 0 1 - m -
x ... x ... x x ... x
+
< < < < < < < .
Se demuestra (consultar reIerencias) que Iunciones del tipo sealado existen y que
ademas si se impone como condicion de normalizacion
dx s dx s
i
m i


=


x
x
1
) x ( ) x (
dicha Iuncion es unica. Esta Iuncion. que notaremos por
i m
N
.
. se denomina Iuncion B-
spline.
Existen diIerentes representaciones de las Iunciones B-spline. nosotros
consideramos la siguiente Iormula recurrente especialmente interesante para su calculo:
| )

e
=
resto 0
x . x x si 1
) x (
i 1 - i
. 0 i
N
.... 2 . 1 ) x (
x x
x x
) x (
x x
x - x
) x (
. 1
m - i i
i
1 . 1
1 - m - i 1 - i
1 - m - i
.
=

=

i N N N
i m i m i m
Ilustramos explicitamente esta Iormula para nodos equidistantes. ih + =
0 i
x x y
. 2 . 1 = m En el caso 1 = m . Iunciones B-spline lineales. se trata de Iunciones lineales a
trozos. continuas. que se anulan Iuera del intervalo | )
i 2 - i
x . x :

| )
| )

e
e
=
i 1 - i i
1 - i 2 - i 2 - i
. 1
x . x x x x
x . x x x - x
h
1
x) (
i
N
si 2 = m
| )
| )
| )

e
e +
e
=
=

+ =

i i
i i i
h
N N N
x . x x ) x x (
x . x x ) x - x )( x x ( ) x x )( x - x (
x . x x ) x - x (
2
1
) x (
2h
x x
) x (
2h
x - x
x) (
1 - i
2
1 - i 2 - i 2 - i i 1 - i 3 - i
2 - i 3 - i
2
3 - i
2
. 1
i
1 . 1
3 - i
. 2
Las Iunciones B-spline tienen importantes propiedades. ademas de las
comentadas: son positivas. constituyen una particion de la unidad (


i
i m
N 1 ) x (
.
).
existen Iormulas para calcular sus derivadas analogas a las presentadas. Para ver con
mas detalle estas Iunciones consultese la bibliograIia recomendada.
Las Iunciones { } ) x ( )..... x (
. 1 . n m m m
N N
+
constituyen una base de los splines de
grado m. por tanto cualquier spline ) x ( s de grado m se puede escribir como

+
=
=
n m
i
i m i
N c s
1
.
) x ( ) x (
Por construccion ) x (
.i m
N se anula Iuera del intervalo | )
i 1 - m - i
x . x . Por tanto.
en el calculo de ) x ( s en el intervalo | )
k 1 - k
x . x solamente intervienen 1 + m de estas
Iunciones.
m k m k m k m
N N N
+ + . 1 . .
..... . :
| )
k 1 - k .
x . x x . ) x ( ) x ( e =

+
=
m k
k i
i m i
N c s .

Das könnte Ihnen auch gefallen