Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
La más populares son los polinomios cúbicos por tramos y en especial los splines
cúbicos (naturales), por las siguientes razones:
1, Breve historia
Tomado de NA. Digest.v.98,#s6. 19 de julio de 1998.Mait to na.digest@na-
net.oml.gov Information about NA-NET:Mail to nahelp@na-net.ornl.gov URL :
http://www.netlib.org/na-net/na_home.html
Hace dos semanas puse aquí una pregunta acerca de las conexiones entre el
desarrollo de aproximaciones de splines y el diseño de cuerpos automotores, y
recibí cerca de 30 respuestas, todas ellas muy informativas. Dado que muchos de
ellos me pidieron que mostrara lo que había aprendido, decidí escribir un breve
resumen y subirlo al compendio. Esta es la razón de estas notas.
Página 1
Splines Cúbicos Métodos Numéricos
Las plantillas estarían puestas en puntos discretos (llamados “patos “por Forrest;
Schoenberg usa “perros” o “ratas”) y entre estos puntos asumiría formas de un
mínimo de energía de tensión. De acuerdo a Forrest, una motivación posible para
un modelo matemático de este proceso fue la pedida potencial de los
componentes del diseño críticos en toda una nave si el local fuera bombardeado
por el enemigo. Esto promovió el “localizamiento cónico”, el cual usaba secciones
cónicas para modelar la posición de la curva entre los “patos”. El “localizamiento
cónico” fue reemplazado por lo que llamaríamos splines a principios de los 60´s
basados en el trabajo de J.C.Ferguson de Boeing y (tiempo después) por
M.A.Sabin de British Aircraft. Lo que considero muy interesante es que Forrest
dice que la palabra “spline” viene de un dialecto Anglicano del Este.
Referencias
[anw] Ahlberg, Nielson and Wash, The Theory of splines and Theri applications,
1967
[BBB] Bartelsm Beatty and Barsky, an introduction to Splines for use in Computer
Graphics and Geometric Modeling 1987
[D] Davis . “B-splines and Geometric design “. SIAM news vol.29 no, 5
[Y] Young. “Garrtett Dirkhoff and applled mathematics”. Notices of the AMS, vol.44
Página 2
Splines Cúbicos Métodos Numéricos
2. Teoría Matemática
Los polinomios de grado mayor tienen naturaleza oscilatoria y fluctuaciones sobre
una porción pequeña del intervalo estudiado puede inducir cambios muy grandes
sobre un rango considerable, restringen el uso cuando se aproximan muchas
delas funciones en situaciones físicas reales.
Página 3
Splines Cúbicos Métodos Numéricos
Página 4
Splines Cúbicos Métodos Numéricos
Splines cúbicos
Definición.
Página 5
Splines Cúbicos Métodos Numéricos
Aunque los splines cúbicos se definen con otras condiciones de frontera, las
condiciones dadas en ( ) son suficientes en este caso. Cuando se presentan las
condiciones de frontera libre, el trazador recibe el nombre de spline natural y su
gráfica se aproxima a la forma que adoptaría una varilla larga y flexible si la
hiciéramos pasar por los puntos {( ( )) ( ( )) ( ( ))}
( ) ( ) ( ) ( ) ,
Para cada
(I)
Página 6
Splines Cúbicos Métodos Numéricos
(II)
Para cada
(III)
Al despejar en la ecuación (III) y sustituir este valor en las ecuaciones (I) y (II)
para cada se obtienen las ecuaciones.
(IV)
(V)
(VI)
Y luego, con una reducción del índice, para . Esto da como resultado
(VII)
Para cada .
Página 7
Splines Cúbicos Métodos Numéricos
Splines naturales
( ) ( ),
Página 8
Splines Cúbicos Métodos Numéricos
.............. (*)
En consecuencia:
De manera semejante:
Y que
Página 9
Splines Cúbicos Métodos Numéricos
Las ecuaciones
Página 10
Splines Cúbicos Métodos Numéricos
3. Solución de problemas
1) Construya un spline natural cúbico que pase por los puntos (1,2) ;(2,3) y
(3,5)
Solución.
( ) ( ) y ( ) ( )
( ) y ( )
Página 11
Splines Cúbicos Métodos Numéricos
X 2 9 5
Y -1 2 -7
Solución.
a x3 b x 2 c x d1 si x 2,3
s x 1 3 1 2 1
a2 x b2 x c2 x d 2 si x 3,5
Página 12
Splines Cúbicos Métodos Numéricos
3a x 2 2b1 x c1 si x 2,3
s x 1 2
3a 2 x 2b2 x c2 si x 3,5
o lo que es lo mismo:
6a x 2b1 si x 2,3
s x 1
6a 2 x 2b2 si x 3,5
Página 13
Splines Cúbicos Métodos Numéricos
s x0 0
s x n 0
12a1 2b1 0
30a2 2b2 0
Página 14
Splines Cúbicos Métodos Numéricos
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
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:
Página 15
Splines Cúbicos Métodos Numéricos
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!. Esto
es debido a las condiciones que se impusieron sobre las derivadas de la función.
Esta finura casi artística, es la que permite aplicar las splines cúbicas, para
cuestiones como el diseño de letras por computadoras, o bien a problemas de
aplicación donde la interpolación que se necesita es de un carácter bastante
delicado, como podría tratarse de datos médicos sobre algún tipo de enfermedad.
Página 16
Splines Cúbicos Métodos Numéricos
x -1 1 2 4
y -1 1 5 -2
Solución.
a1 x3 b1 x 2 c1 x d1 si x 1,1
s( x) a2 x3 b2 x 2 c2 x d 2 si x 1,2
a x3 b x 2 c d si x 2,4
3 3 3 3
Después, hacemos que la spline pase por los puntos dados en la tabla. Así,
tenemos que:
a1 b1 c1 d1 1
a1 b1 c1 d1 1
a2 b2 c2 d2 1
Página 17
Splines Cúbicos Métodos Numéricos
Vemos entonces, que las posibles discontinuidades de s (x) son x 1 y x 2 .
Por lo tanto, para hacer que s (x) sea continua, igualamos las ecuaciones
correspondientes en ambos valores:
Página 18
Splines Cúbicos Métodos Numéricos
En este caso,
a1 b1 c1 d1 1
a1 b1 c1 d1 1
a2 b2 c2 d2 1
Página 19
Splines Cúbicos Métodos Numéricos
3a1 b1 3a2 b2
6a2 b2 6a3 b3
3a1 b1 0
12a3 b3 0
1 1 1 1 0 0 0 0 0 0 0 a1 1
0
1
1 1 1 0 0 0 0 0 0 0 0 b1 1
0 0 0 0 1 1 1 1 0 0 0 0 c1 1
0 0 0 0 8 4 2 1 0 0 0 0 d1 5
0 0 0 0 0 0 0 0 8 4 2 1 a2 5
0 0 0 0 0 0 0 0 64 16 4 1 b2 2
3 2 1 0 3 2 1 0 0 0 0 0 c2 0
0 0 0 0 12 4 1 0 12 4 1 0 d 2 0
3 1 0 0 3 1 0 0 0 0 0 0 a3 0
0 0 0 0 6 1 0 0 6 1 0 0 b3 0
3 1 0 0 0 0 0 0 0 0 0 0 c3 0
0 0 0 0 0 0 0 0 12 1 0 0 d3 0
51 21 24
a1 a2 a3
140 , 10 , 35
Página 20
Splines Cúbicos Métodos Numéricos
89 473 1867
c1 c2 c3
140 , 70 , 70
153 48 732
d1 d2 d3
40 , 35 , 35
140 x 140
51 3
x 140
153 2 89
x 153
40 si x 1,1
21 3 297 2 473
s( x) 10 x 35 x 70 x 35 48
si x 1,2
24 x 3 288 x 2 1867 x 732 si x 2,4
35 35 70 35
-1 1 2 4
-2
Página 21
Splines Cúbicos Métodos Numéricos
4. Algoritmos
El spline cubico natural. Matlab, por defecto, calcula splines cúbicos con la
condición not-a-knot, que es cierta relación entre derivadas en los puntos
extremos y los inmediatos. Solo se pueden calcular splines naturales con un
toolbox. El código que sigue implementa el cálculo del spline cubico natural de una
colección de puntos.
La entrada
es:
x: la lista de las coordenadas x de los puntos
y: la lista de las coordenadas y de los puntos
Página 22
Splines Cúbicos Métodos Numéricos
while (i<n)
b(i) = (y(i +1) -y(i))/h(i) - h(i) *(c(i +1) +2* c(i)) /3;
i=i +1;
end
d (1:n -1) = diff (c) ./(3* h(1:n -1) );
b(n) = b(n -1) + h(n -1) *(c(n)+c(n -1) );
d(n) = (y(n +1) -y(n)-b(n)*h(n)-c(n)*h(n) ^2) /h(n) ^3;
38 f = mkpp (x ,[d; c; b ;a ]');
end
Un ejemplo de uso podría ser el siguiente, para comparar el spline cúbico con la
gráfica de la función seno:
n = length (x);
l = 0;
for m=1:n
14 l = l + y(m) * b/c;
end
Página 23