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

Facultad Regional Concepcion

del Uruguay
Universidad Tecnologica

Nacional
Ing. Pereira 676 - E3264BTD C. del Uruguay (ER) - ARGENTINA
 (++54) 3442 423 803 http://www.frcu.utn.edu.ar
2009

FRCU UTN

Interpolacion
por medio de Splines Cubicos

O.R. FAURE
DEL U RUGUAY
FACULTAD R EGIONAL C ONCEPCI ON

U NIVERSIDAD T ECNOL OGICA


N ACIONAL
DEL U RUGUAY (ER)
I NG . P EREIRA 676 - E3264BTD C ONCEPCI ON
e-mail: ofaure@gmail.com

2015
Ano

1. I NTRODUCCI ON
El nombre spline proviene de una tecnica muy antigua en el trazado de curvas suaves
en la que una varilla delgada de madera, llamada una trazador spline, era doblada
para que pase a traves de un conjunto dado de puntos (Vease la Figura 1). Los puntos
se llaman nodos y el spline se aseguraba en los nodos por medio de
de interpolacion
pesos de plomo llamados ducks. Antes de la era de las computadoras se utilizaban
geometrico para producir perfiles suficientemente lisos. Este
en todo tipo de diseno
proceso era lento y sobre todo muy costoso.

F IGURA 1. Esquema y trazado de un spline


El modelo matematico de un spline es un caso especial de la lnea elastica tratada
en la teora de la elasticidad. Por el Principio de Hamilton el spline asume una forma

y(x), que minimiza la energa de deformacion.


Esta es proporcional a la integral de
lnea del cuadrado de la curvatura:
y00 (x)
(x) =
.
(1)
(1 + (y0 (x))2 )3/2

POR MEDIO DE S PLINES C UBICOS

I NTERPOLACI ON

Dado que ds = 1 + (y0 (x))2 dx, la energa se convierte en:


Zb

E(y) =
a

y00 (x)
dx.
(1 + (y0 (x))2 )5/2

(2)

Un modelo matematico de spline no lineal fue dado por D ANIEL B ERNOULLI (1742)
moderna del desarrollo de Bernoulli y
y L EONHARD E ULER1 (1744). Una descripcion
Euler esta dada por Malcolm en [7], donde tambien se discuten y comparan algoritmos
para el calculo de aproximaciones discretas de splines no lineales.
variaciones, i.e. cuando (y0 (x))2 es aproximadaPara deflexiones con pequenas

mente constante, se tiene la aproximacion:


Zb

E(y) = C

y00 (x)2 dx

donde C es una constante.

Bajo estas suposiciones, y(x) se construye pegando polinomios cubicos


a trozos
de manera que y(x) y sus dos primeras derivadas sean continuas en todo el intervalo.
Sean x` , ` = 0, 1, . . . n los puntos donde el spline debe interpolarse. La tercera derivada
puede tener discontinuidades all.
El concepto matematico de funciones spline fue introducido en 1946 por I SAAC J A COB S CHOENBERG en el artculo seminal [9]. La importancia de la base de B-splines en

fue destacada por Schoenberg. Estos


la teora de aproximacion
no fueron utilizados en
los calculos practicos para datos generales hasta principios de la decada de los setenta,
una relacion
de recurrencia estable de forma independiente por
cuando se establecion
de Boor en [4] y Cox [2].
En lo que sigue, el estudio se limitara a considerar las curvas en el plano. Actual matematica de superficies mas alla de
mente los B-splines permiten la representacion
vehicular por ejemplo se pueden
las tecnicas manuales. En algunos calculos de diseno
afectar ms de 50.000 puntos!

UTILIZANDO SPLINES C UBICOS

2. I NTERPOLACI ON
spline de grado p 1.
Se comenzara definiendo formalmente una funcion
2.1. D EFINICIONES . Sea p N, [a, b] un intervalo compacto de R y : a = x0 < x1 <
de este intervalo.
. . . < xn = b una subdivision
1. Una funcion
spline o simplemente un spline de grado p sobre es una
D EFINICI ON
real S : [a, b] R tal que:
funcion
i) S C p1 ([a, b]);
1 Euler derivo
la ecuacion
diferencial de la lnea elastica utilizando tecnicas que ahora se conocen como
un
calculo variacional y multiplicadores de Lagrange. Cuando Euler hizo este trabajo Lagrange era aun

nino.

O. R. FAURE

ii) S coincide con un polinomio de grado a lo mas p sobre cada intervalo (x` , x`+1 ); ` =
0, 1, . . . , n 1.

E JEMPLO 2. La funcion
p+1

g p (x) =

(1)` C`p+1 (x `)+p

`=0

de R dada por los enteros. Su soporte es


es un spline de grado p sobre la subdivision
[0, p + 1].
p
x (x `)+
es de clase C p1 en R. Ademas
De hecho, para todo entero `, la funcion
las relaciones
p

(1)` `kC`p = 0,

si 0 k < p

`=0

muestran que g p (x) = 0 si x > p + 1.


El soporte de g p es mnimo en el sentido siguiente:
3. No existe una funcion
spline no nula de grado p sobre R y asociada
P ROPOSICI ON

a la subdivision definida por los enteros donde el soporte este incluido en [0, p].
P RUEBA . Sea S tal spline. Existen constantes c` tales que D p S = c` en (`, ` + 1).
Tenemos entonces
(i ) p

Z p

S(x)eix dx =

Z p

1
i

D p S(x)eix dx
p1
c
`=0 `



i`
i(`+1)
e
e
.

Si ponemos
p1

P(z) =



`
`+1
c
z

z
,
`

`=0

entonces
i

P(e

) = (i )

p+1

Zp

S(x)eix dx.

Dado que
h
i
h
i` 

D ` P ei = iei D
P(ei ) ,
el polinomio P posee un cero de al menos orden p + 1 en 1. Como su grado no supera
S es un polinomio de
p, entonces es nulo. Por lo tanto c` = 0 para todo `. La funcion
grado al menos p 1 y su soporte esta incluido en [0, p]. Esto prueba que S = 0.

los splines de grado 3 son los


A partir de los detalles historicos
de la introduccion,

mas utilizados para el calculo en ingeniera, a estos se los denomina splines cubicos.

Se daran aqu algunos detalles concernientes a su construccion.

Si Y : (y0 , y1 , . . . , yn ) es una (n + 1)-upla de numeros


reales, consideremos los splines

cubicos
S sobre que verifican
S(x` ) = y` ,

para todo `.

POR MEDIO DE S PLINES C UBICOS

I NTERPOLACI ON

as, esta definida por n polinomios de grado 3. A priori tenemos 4n coeUna funcion
ficientes. Estos n polinomios deben tomar los valores y` es los puntos x` . Esto nos da
2n ecuaciones lineales. Para asegurar que el spline sea de clase C 2 , es necesario imponer condiciones de continuidad de las derivadas primeras y segundas en los puntos
x1 , x2 , . . . , xn1 . Estas condiciones dan lugar a 2(n 1) ecuaciones lineales. Disponemos

entonces de un sistema lineal de 4n 2 ecuaciones y 4n incognitas.


Con el objeto de obtener un sistema cuadrado, imponemos usualmente una de las
condiciones siguientes:
i) D 2 S(a) = D 2 S(b) = 0, el spline natural.

ii) D k S(a) = D k S(b) para k = 0, 1, 2, el spline periodico.


0

iii) DS(a) = y0 , DS(b) = yn para dos valores dados y0 e yn .


puede ser utilizada solamente si y0 = yn .
La segunda condicion
Mostraremos que el sistema lineal obtenido es no singular. Como es cuadrado, es

es la nula. En los
suficiente mostrar que cuando los datos son nulos la unica
solucion
siguiente:
tres casos considerados anteriormente resulta la relacion
spline sobre , tenemos
Si S es una funcion
Z b
a


D 2 S(x) 2 dx = DS(b)D 2 S(b) DS(a)D 2 S(a)

n 
`=0 S(x`+1 )D 3 S(x`+1 ) S(x` )D 3 S(x` +) .

DE LA ENERGI A . Sean : a = x0 < x1 < . . . < xn = b una subdi2.2. M INIMIZACI ON


del intervalo [a, b] e Y : (y0 , y1 , . . . , yn ) una (n + 1)-upla de numeros

vision
reales.
4. Entre todas las funciones f de clase C 2 en el intervalo [a, b] que
P ROPOSICI ON
toman los valores Y en los puntos de , el spline natural es aquel para el cual la integral
Z b

D 2 f (x) 2 dx
a

es mnima.

que hace esta integral mnima entre


Si y0 = yn , el spline periodico
es la funcion

todas las funciones periodicas


de perodo b a y de clase C 2 que toman los valores Y
en los puntos de .
iii) hace la integral mnima entre todas las funEl spline que verifica la condicion
ciones de clase C 2 que toman los valores de Y en los puntos de y sus derivadas
0
0
toman los valores y0 e yn en a y b.
P RUEBA .
Las tres partes del enunciado se prueban paralelamnete. Sean f una
que verifica las condiciones consideradas y S el spline correspondiente. Tenfuncion
emos
Z b
b


D 2 S(x) D 2 S(x) D 2 f (x) dx = D 2 S(x) [DS(x) D f (x)] a
a

Z b
a

D 3 S(x) [DS(x) D f (x)] dx.

O. R. FAURE

de f y S, los terminos integrados son nulos. Como D 3 S es constante en


Por la eleccion
cada intervalo [x` , x`+1 ], existen contantes c` tales que
x`+1
Z b
Z b

n1
2

2
2
2
D S(x) dx
D S(x) D f (x)dx = c` [S(x) f (x)]
=0

a
a
`=0
x`

pues S y f toman los mismos valores sobre .


Esto es dado que
0

Z b
a

Z b
a


D 2 S D 2 f 2
Z b
Z b


2
2
D 2 S 2 2
D 2 f 2
D SD f +
a

Z b 2 2
D S .
D 2 f 2

Z b
a

DE LOS SPLINES C UBICOS

2.3. D ETERMINACI ON
. Es posible reducir significativa del sistema lineal considerado anteriormente.
mente la dimension
Llamese z` = D 2 S(x` ) y h` = x` x`1 . Como D 2 S es continua y coincide con un polinomio de grado a lo mas uno en cada uno de los intervalos [x` , x`+1 ], existen contantes
z` tales que
x`+1 x
x x`
D 2 S(x) = z`
+ z`+1
h`+1
h`+1
en [x` , x`+1 ]. Integrando 2 veces, se tiene
S(x) =

z` h2`+1
6

"

x`+1 x
h`+1

z`+1 h2`+1
+
6

"

3

x x`
h`+1

#
x`+1 x
x`+1 x

+ y`
h`+1
h`+1

3

#
x x`
x x`
.

+ y`+1
h`+1
h`+1

La igualdad de las derivadas primeras en los puntos x` , ` = 1, 2, . . . , n 1 conduce a las


relaciones
h` + h`+1
h`+1
y`+1 y` y` y`1
h`
z`1 +
z` +
z`+1 =

.
6
3
6
h`+1
h`
Escribiendo
d` =



6
y`+1 y` y` y`1

h` + h`+1
h`+1
h`

y
` =

h`+1
,
h` + h`+1

` =

h`
,
h` + h`+1

POR MEDIO DE S PLINES C UBICOS

I NTERPOLACI ON

se puede escribir
esta relacion
` z`1 + 2z` + ` z`+1 = d`
para ` = 1, 2, . . . , n 1.
En el caso del spline natural, es necesario agregar las condiciones z0 = zn = 0. Se
pone entonces
0 = 0 = d0 = n = n = dn = 0.
El sistema a resolver se escribe entonces como Mz = d con

2 0 0 . . . 0

0
1 2 1 ...

..
.. ..

.
.
.
M = 0 2
.
..

.. . .
.
. 2 n1
.
n 0 . . . n
2

En el caso del spline periodico,


es necesario agregar z0 = zn y
n z1 + 2zn + n zn1 = dn
con



y1 yn yn yn1
6

dn =
h1 + hn
h1
hn

y
n =

h1
,
h1 + hn

hn
.
h1 + hn

Se obtiene de esta manera un sistema del mismo tipo que el anterior para z1 , z2 , . . . , zn .
En el tercer caso, la igualdad de las derivadas primeras en a y b se escribe


6 y1 y0
y00 = d0
2z0 + z1 =
h1
h1
y
zn1 + 2zn =



6 yn yn1
y0n = dn .
hn
hn

Poniendo 0 = n = 1 y 0 = n = 0, se obtiene el mismo sistema que en el primer


caso.

conver2.4. C ONVERGENCIA DE SPLINES C UBICOS


. Los splines de interpolacion
que se esta muestreando. Mas precisamente, se puede degen siempre a la funcion
mostrar el resultado siguiente.
del intervalo [a, b] , h` = x`
Sean : a = x0 < x1 < . . . < xn = b es una subdivision
x`1 ,
kk = sup h`
1`n

O. R. FAURE

y
kk
.
1`n h`

K = sup

de con respecto a una subdivision

La constante K es una medida de la desviacion


uniforme.

T EOREMA 5. Si f C 4 (a, b), (respectivamente C 4 (R) y periodica


de perodo (b a)),
del intervalo [a, b] y S ( f ) es el spline cubico

es una subdivision
que interpola a f en
iii) con y00 = D f (a), y0n = D f (b) (respectivamente
los puntos de y verifica la condicion

periodica)
tenemos


sup D ` f D ` S c` kk4` sup |D 4 f |
[a.b]

[a,b]

para ` = 0, 1, 2, 3 con
17
c0 =
,
384

7
c1 = ,
24

3
c2 = ,
8



1
1
c3 =
K +
.
2
K

Para ` = 3, la cota superior debe ser tomada sobre el intervalo [a, b] donde se han

retirado los puntos de la particion.


La prueba, un poco larga, se basa sobre los lemas auxiliares y el hecho que la matriz
M que aparece arriba posee la propiedad siguiente:
Mz = d

implica

sup |z` | sup |d` |.


`

Verifiquemos esta propiedad.


Si |zr | = sup` |z` | y Mz = d, tenemos
sup` |d` | |dr |
= |2zr + r zr1 + r zr+1 |
2|zr | r |zr | r |zr |
|zr |
= sup` |z` |.

P RUEBA .
Consideremos por ejemplo el caso de los splines periodicos.
Con las
notaciones del parrafo precedente, designemos por z, d y g los vectores de Rn donde
sus componentes son respectivamente z` , d` y D 2 f (x` ), ` = 1, 2, 3, . . . , n. Tenemos Mz =
d. Hagamos r = d Mg = M(z g).
Por el Lema 7 y las definiciones de d j , j y j tenemos
|r j |

h2j h j h j+1 + h2j+1


4

sup[a,b] |D 4 f |

kk2
sup[a,b] |D 4 f |,
4

POR MEDIO DE S PLINES C UBICOS

I NTERPOLACI ON

para todo `. Resulta entonces que


|z j D 2 f (x j )

kk2
sup |D 4 f |
4 [a,b]

para todo `.
Veamos la desigualdad para ` = 3. Si x (x j , x j+1 ), tenemos
z j+1 z j
D 3 f (x)
h j+1

D 3 S(x) D 3 f (x) =

[z j+1 D 2 f (x j+1 )] [z j D 2 f (x j )]
h j+1

D 2 f (x j+1 ) D 2 f (x j )
D 3 f (x).
h j+1

Utilizando la desigualdad precedente y la estimacion




f (h) f (0)


h

D f (x) sup D 2 f ,

h
2 [0,h]
obtenemos
"
|D 3 S(x) D 3 f (x)|

#
kk2 h j+1
+
sup |D 4 f |
2h j+1
2 [a,b]



kk2
1
sup |D 4 f |.
K +
2
K [a,b]

Igualmente para ` = 2, tenemos


|D 2 S(x) D 2 f (x)|

x
x

x
j+1
j
2
= f (x j )
+ f (x j+1 )
D f (x)
h j+1
h j+1
"

#
kk2 (x j+1 x)(x x j )
+
sup |D 4 f |
2
2
[a,b]

3
kk2 sup |D 4 f |.
8
[a,b]

Finalmente, veamos el caso ` = 1. Tenemos


|h2 3(h x)2 | + |h2 3x2 | 3h2 ,
Para ver esto, es suficiente distinguir entre los casos x

x [0, h].
q

2
3 h y hx

2
3 h. Utilizando

O. R. FAURE

el Lema 7 y la desigualdad precedente, obtenemos



i
f (x j+1 ) f (x j )
1 h 2
|DS(x) D f (x)| =
+
h j+1 3 (x j+1 x)2 z j
h j+1
6h j+1

h
i

h2j+1 3 (x x j )2 z j+1 D f (x)
"

#
3
kk2 3h j+1 h j+1
sup |D 4 f |
+
4
6
6 [a,b]

7
kk3 sup |D 4 f |.
24
[a,b]

Si ` = 0, utilizamos una vez mas el Lema 7 y encontramos


"
#
3xh(h x) kk2 xh(h x)(h2 + hx x2 )
|S(x) f (x)|
sup |D 4 f |
+
6h
4
24
[a,b]

2.5.

17
kk4 sup |D 4 f |.
384
[a,b]

L EMAS AUXILIARES .

L EMA 6. Si h > 0 y f C 4 (0, h), tenemos



 Zh
6 f (h) f (0)
2
2
2D f (0) + D f (h)
D f (0) =
(t)D 4 f (t)dt
h
h
0
con
t(h2 t)
(t) =
(2h t).
h
Ademas,
Z h
h2
(t)dt = .
4
0
L EMA 7. Si h, k > 0 y f C 4 (0, h + k), tenemos
2D 2 f (h)

Z h+k

(t)D 4 f (t) dt

6
h+k

con
(x) =

Ademas

f (h + k) f (h) f (h) f (0)

k
h

hD 2 f (0) + kD 2 f (h + k)
,
h+k

(h2 x2 )

h(h
+
k)

si 0 x h,

(h + k x) (x h)

(2k + h x)
(h + k)k

si h < x h + k.

h+k
Z

(x)dx =
0

h2 hk + k2
.
4

POR MEDIO DE S PLINES C UBICOS

I NTERPOLACI ON

10

L EMA 8. Si h > 0 y f C 4 ([0, h]), tenemos para x [0, h]


f (x)

Z h
0

0 (t)D 4 f (t)dt =

(h x) f (0) + x f (h)
h

f (x)

Z h
0

1 (t)D 4 f (t)dt =

f (h) + f (0)
h

con

x(h x) (2h x)D 2 f (0) + (x + h)D 2 f (h)


,
6
h

[h2 3(h x)2 ]D 2 f (0) (h2 3x2 )D 2 f (h)


,
6h




t(h x) h2 t 2 (h x)2

6h
0 (t) =
 2


2
2

x(h t) h (h t) x
6h

si 0 h x,

si x < t h,

1 (t) =


 2 2
t h t 3(h x)2

6h

si 0 t x,

 2


2
2

(t h) h (h t) 3x
6h

si x < t h.

Ademas
Zh
0



x(t h) h2 hx x2
0 (t)dt =
,
24

Zh

| 1 (t)| dt

h3
.
6

de estos lemas es un simple calculo y se dejan los detalles al lector


La demostracion
interesado.

R EFERENCIAS

[1] H.B. C URRY & I.J. S CHOENBERG; On Polya


Frequency Functions IV: The Fundamental Spline Functions and their limits, J. dAnalyse Math. 17: 71-107, (1966).
[2] M.G. C OX; The numerical evaluation of B-splines. IMA J. Appl. Math., 10(2): 134149, (1972).
[3] P H .J. D AVIS; Interpolation and Approximation, Blaisdell Publishing Company,
Waltham, Massachusetts, (1963).
[4] C. DE B OOR; On calculating with B-splines. J. Approx. Theory, 6: 50-62, (1972).
[5] F ORSYTHE , G. E., M. A. M ALCOLM & C. B. M OLER; Computer Methods for
Mathematical Computations, Prentice-Hall, Englewood Cliffs, (1977).

O. R. FAURE

11

[6] C.A. H ALL , W.W. M EYER; Optimal error bounds for cubic spline interpolation, J.
Approx. Theory 16: 105-122, (1976).
[7] M.A. M ALCOM; On the computation of nonlinear spline functions, SIAM J. Numer. Anal. 14(2): 254-282, (1977).

[8] S. P R OSSDORF
& B. S ILBERMANN ; Numerical Analysis for Integral and Related
Operator Equations, Operator Theory: Advanced and Applications 52, Biekhauser
Verlag, (1991).
[9] I.J. S CHOENBERG; Contributions to the problem of approximation of equidistant
data by analytic functions, Quart. Appl. Math. 4: 45-49 & 112-141, (1946).
[10] I.J. S CHOENBERG; Cardinal Interpolation and Spline Functions, J. Approx. Theory 2: 167-206, (1969).
[11] I.J. S CHOENBERG; Cardinal Interpolation and Spline Functions II, J. Approx. Theory 6(4): 404-420, (1972).
[12] I.J. S CHOENBERG; Cardinal Spline Interpolation, SIAM, Philadelphia, (1993).
[13] J. S TOER & R. B ULIRSCH; Introduction to Numerical Analysis, Second Edition,
Texts in Applied Mathematics 12, Springer Verlag, (1993).