Vous êtes sur la page 1sur 16

2.

3 Interpolación de Splines

Definición.- Supongamos que disponemos de


“n+1” puntos, a los que denominaremos nudos,
tales que x0<x1<x2<…<xn. Supongamos que
además se ha fijado un número entero k 0.
Decimos entonces que un Spline de grado k con
nudos x0, x1, x2, …,xn es una función S que satisface
las condiciones:

i) En cada intervalo [xi-1, xi], S es un polinomio de


grado menor o igual a k
ii) S tiene una derivada de orden (k-1) continua
en [x0, xn]

1
Los Splines de grado “cero”, son funciones
constantes por zonas. Una forma explicita de
presentar un Spline de grado “cero” es la
siguiente:

 S o ( x) = co ; s i x ∈ [ xo , x1 ]

 S1 ( x) = c1 ; s i x ∈ [ x1 , x2 ]

S ( x) =  S 2 ( x) = c 2 ; s i x ∈ [ x 2 , x3 ]
...

 S n− 1 ( x) = cn− 1 ; s i x ∈ [ xn− 1 , xn ]

Ejemplo: Construir un Spline de grado “cero” para


los datos siguientes:
x 3 4.5 7 9
y 2.5 1 2.5 0.5

Tenemos el Spline de grado “cero”:

 So ( x) = 2.5 ; s ix ∈ [3,4.5]

S (x) =  S1(x) = 1 ; s ix ∈ [4.5, 7]
 S ( x) = 2.5 ; s ix ∈ [7, 9]
2

2
Los Splines de grado “uno”, son funciones
lineales por zonas. Una forma explicita de presentar
un Spline de grado “uno” es la siguiente:

 So ( x) = ao x + bo ; s i x ∈ [ xo , x1 ]

 S1 ( x) = a1 x + b1 ; s i x ∈ [ x1 , x2 ]

S ( x) =  S2 ( x) = a2 x + b2 ; s i x ∈ [ x2 , x3 ]
 ...

 Sn− 1 ( x) = an− 1 x + bn− 1 ; s i x ∈ [ xn− 1 , xn ]

Ejemplo: Construir un Spline de grado “uno” para


los datos siguientes:

3
x 3 4.5 7 9
y 2.5 1 2.5 0.5

Tenemos el Spline de grado “uno”:

 So ( x) = − x + 5.5 ; s ix ∈ [3,4.5]

 3
S ( x) =  S1 ( x) = x − 1.7 ; s ix ∈ [4.5, 7]
 5
 S2 ( x) = − x + 9.5 ; s ix ∈ [7, 9]

Los Splines de grado “dos”, son funciones


cuadráticas por zonas. Una forma explicita de
presentar un Spline de grado “dos” es la
siguiente:

 So ( x) = ao x 2 + bo x + c0 ; s i x ∈ [ xo , x1 ]

 S1 ( x) = a1 x + b1 x + c1 ; s i x ∈ [ x1 , x2 ]
2


S ( x) =  S 2 ( x) = a2 x 2 + b2 x + c2 ; s i x ∈ [ x2 , x3 ]
 ...

 S n− 1 ( x) = an− 1 x 2 + bn− 1 x + cn− 1 ; s i x ∈ [ xn − 1 , xn ]

Ejemplo: Construir un Spline de grado “dos” para


los datos siguientes:

4
procedamos a calcular la interpolación por splines
de grado 2.

 a1 x 2 + b1 x + c1 si x ∈ [ 3,4.5]
 2
s ( x ) = a2 x + b2 x + c2 si x ∈ [ 4.5,7]
a x2 + b x + c si x ∈ [ 7,9]
 3 3 3

Primero, hacemos que la spline pase por los


puntos de la tabla de datos, formándose las
siguientes ecuaciones:

s (3) = 2.5 ⇒ 9a1 + 3b1 + c1 = 2.5


 (4.5) 2 a1 + 4.5b1 + c1 = 1
s (4.5) = 1 ⇒ 
(4.5) a2 + 4.5b2 + c2 = 1
2

49a2 + 7b2 + c2 = 2.5


s (7) = 2.5 ⇒ 
 49a3 + 7b3 + c3 = 2.5
s(9) = 0.5 ⇒ 81a3 + 9b3 + c3 = 0.5

5
Hasta aquí, tenemos un total de 6 ecuaciones vs. 9
incógnitas.

El siguiente paso es manejar la existencia de las


derivadas contínuas. En el caso de las splines de
grado 2, necesitamos que la spline tenga
derivada contínua de orden k-1=1, es decir,
primera derivada continua.

Calculamos primero la primera derivada:

 2a1 x + b1 si x ∈ [ 3,4.5]

s′( x ) = 2a2 x + b2 si x ∈ [ 4.5,7]
 2a x + b
 3 3 si x ∈ [ 7,9]

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 y

6
x=7. Por lo tanto para que s’(x) sea contínua, se
debe cumplir que:

2a1 ( 4.5) + b1 = 2a2 ( 4.5) + b2

9a1 + b1 = 9a2 + b2
También debe cumplirse que:

2a2 ( 7 ) + b2 = 2a3 ( 7 ) + b3
14a2 + b2 = 14a3 + b3

Así, tenemos un total de 8 ecuaciones vs. 9


incógnitas; esto nos da un grado de libertad para
elegir alguna de las incógnitas. Elegimos por simple
conveniencia a1=0.

De esta forma, tenemos un total de 8 ecuaciones


vs. 8 incógnitas. Estas son las siguientes:

7
3b1 + c1 = 2.5
4.5b1 + c1 = 1
20.25a2 + 4.5b2 + c2 = 1
49a2 + 7b2 + c2 = 2.5
49a3 + 7b3 + c3 = 2.5
81a3 + 9b3 + c3 = 0.5
b1 = 9a2 + b2
14a2 + b2 = 14a3 + b3

Este sistema de ecuaciones tiene la siguiente forma


matricial:

3 1 0 0 0 0 00  b1  2.5
4.5
 1 0 0 0 0 00  c1   1 
0 0 20.25 4.5 1 0 0 0 a2   1 
    
0 0 49 7 1 0 0 0  b2  2.5
=
0 0 0 0 0 49 7 1 c2   2.5
    
0 0 0 0 0 81 9 1  a3  0.5
1 0 −9 −1 0 0 0 0  b3   0 
    
 0 0 14 1 0 − 14 − 1 0  c3   0 

Usando Mathematica se obtiene la siguiente


solución:

8
b1 = −1
c1 = 5.5
a2 = 0.64
b2 = − 6.76
c2 = 18.46
a3 = − 1.6
b3 = 24.6
c3 = − 91.3
Sustituyendo estos valores (junto con a1=0),
obtenemos la función spline cuadrática que
interpola la tabla de datos dada:

 − x + 5.5 si x ∈ [ 3,4.5]

s( x ) = 0.64 x 2 − 6.76 x + 18.46 si x ∈ [ 4.5,7]
 − 1.6 x 2 + 24.6 x − 91.3 si
 x ∈ [ 7,9]
5

4
La gráfica que se muestra a continuación, contiene
tanto3 los puntos iniciales de la tabla de datos, así
como la spline cuadrática. Esta gráfica se generó
2
usando Mathematica.
1

9
3 4.5 7 9
-1
2.4 Splines cúbicos
Los Splines de grado “tres” (o cúbicos), son
funciones cuadráticas por zonas. Una forma
explicita de presentar un Spline de grado “tres”
es la siguiente:
 S o ( x ) = a 0 x 3 + bo x 2 + c o x + d 0 ; s i x ∈ [ xo , x1 ]

 S1 ( x) = a1 x + b1 x + c1 x + d 1 ; s i x ∈ [ x1 , x 2 ]
3 2


S ( x ) =  S 2 ( x ) = a 2 x 3 + b2 x 2 + c 2 x + d 2 ; s i x ∈ [ x 2 , x3 ]

 ...
 S n − 1 ( x) = a n − 1 x 3 + bn − 1 x 2 + c n − 1 x + d n − 1 ; s i x ∈ [ x n− 1 , x n ]

Ejemplo: Interpolar los siguientes datos mediante
un spline cúbico:

10
Solución.
Definimos un polinomio cúbico en cada uno de los
intervalos que se forman:

 a1 x 3 + b1 x 2 + c1 x + d1 si x ∈ [ 2,3]
s( x ) =  3
a
 2 x + b2 x 2
+ c2 x + d 2 si x ∈ [ 3,5]

A continuación, hacemos que se cumpla la


condición de que la spline debe pasar por los puntos
dados en la tabla. Así, tenemos que:

s ( 2 ) = −1 ⇒ 8a1 + 4b1 + 2c1 + d1 = −1


s( 3) = 2 ⇒ 27a1 + 9b1 + 3c1 + d1 = 2
S (3) = 2 ⇒ 27 a2 + 9b2 + 3c2 + d 2 = 2

s( 5) = −7 ⇒ 125a2 + 25b2 + 5c2 + d 2 = −7

Ahora calculamos la primera derivada de s(x):

 3a1 x 2 + 2b1 x + c1 si x ∈ [ 2,3]


s ′( x ) = 
3a 2 x + 2b2 x + c 2
2
si x ∈ [ 3,5]

11
Al igual que en el caso de las splines cuadráticas,
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=3 en los dos
polinomios e igualamos:

3a1 ( 3) + 2b1 ( 3) + c1 = 3a 2 ( 3) + 2b2 ( 3) + c 2


2 2

o lo que es lo mismo:

27a1 + 6b1 + c1 = 27a 2 + 6b2 + c 2

Análogamente procedemos con la segunda


derivada:

 6a1 x + 2b1 si x ∈ [ 2,3]


s ′′( x ) = 
6a 2 x + 2b2 si x ∈ [ 3,5]

Para lograr que s”(x) sea continua:

6a1 ( 3) + 2b1 = 6a 2 ( 3) + 2b2

12
∴ 18a1 + 2b1 = 18a2 + 2b2

En este punto contamos con 6 ecuaciones y 8


incógnitas, por lo tanto tenemos 2 grados de
libertad; en general, se agregan las siguientes 2
condiciones:
S”(xo)=0

S”(xn)=0
De lo cual vamos a obtener:

s′′( 2 ) = 0 ⇒ 6a1 ( 2 ) + 2b1 = 0

∴ 12a1 + 2b1 = 0

s′′( 5) = 0 ⇒ 6a2 ( 5) + 2b2 = 0


∴ 30a2 + 2b2 = 0

Con lo cual, hemos completado un juego de 8


ecuaciones vs. 8 incógnitas, el cual es el siguiente:

13
8a1 + 4b1 + 2c1 + d1 = −1
27a1 + 9b1 + 3c1 + d1 = 2
27a 2 + 9b2 + 3c 2 + d 2 = 2
125a 2 + 25b2 + 5c 2 + d 2 = −7
27a1 + 6b1 + c1 = 27 a 2 + 6b2 + c 2
18a1 + 2b1 = 18a 2 + 2b2
12a1 + 2b1 = 0
30a 2 + 2b2 = 0

Cuya forma matricial es la siguiente:

8 4 2 1 0 0 0 0a1   −1 
27
 9 3 1 0 0 0 0 b1   2 
0 0 0 0 27 9 3 1 c1   2 
    
0 0 0 0 125 25 5 1 d1  − 7 
=
27 6 1 0 − 27 −6 −1 
0 a2  0 
    
18 2 0 0 −18 −2 0 0b2   0 
12 2 0 0 0 0 0 0c2   0 
    
 0 0 0 0 30 2 0 0d 2   0 

Usando Mathematica, obtenemos la siguiente


solución:

14
a1 = − 1.25
b1 = 7.5
c1 = − 10.75
d1 = 0.5
a2 = 0.625
b2 = − 9.375
c2 = 39.875
d2 = − 50.125

Sustituyendo estos valores en nuestra función


inicial, vemos que la spline cúbica para la tabla de
datos dada, queda definida como sigue:

 − 1.25 x 3 + 7.5 x 2 − 10.75 x + 0.5 si x ∈ [ 2,3]


s( x ) = 
0.625 x − 9.375 x + 39.875 x − 50.125 si
3 2
x ∈ [ 3,5]

Mostramos la gráfica correspondiente a este


ejercicio, creada también en Mathematica.

15
Obsérvese: la finura con la que se unen los
polinomios cúbicos que conforman a la spline.
Prácticamente ni se nota que se trata de dos
polinomios diferentes!.

16

Vous aimerez peut-être aussi