Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Interpol Ac I On
Interpol Ac I On
interpolacin spline de grado k, para la tabla de datos, es una funcin S (x ) tal que :
i)
ii)
iii)
Una funcin spline de grado 1 que interpole los datos es simplemente unir cada uno de los puntos
mediante segmentos de recta, como sigue:
1
Ing. Adriana M. Apaza JTP Clculo Numrico
Claramente esta funcin cumple con las condiciones de la spline de grado 1. As, tenemos que para este
caso:
s1 ( x ) si
s ( x ) s
s( x) = 2
M
sn ( x ) si
x [x0 , x1 ]
x [x1 , x2 ]
x [xn 1 , xn ]
donde:
i)
ii)
S (x )
si
y0 + f [x1 , x0 ]( x x0 )
y + f [x , x ]( x x )
si
1
2 1
1
s( x ) =
M
yn 1 + f [xn , xn 1 ]( x xn 1 ) si
x [x0 , x1 ]
x [x1 , x2 ]
x [xn 1 , xn ]
En cada uno de estos intervalos, debemos definir una funcin polinomial de grado 2, como sigue:
a1 x 2 + b1 x + c1
s( x ) = a2 x 2 + b2 x + c2
a x2 + b x + c
3
3
3
si
si
si
x [3,4.5]
x [4.5,7 ]
x [7,9]
Hacemos que la spline pase por los puntos de la tabla de datos, es decir, se debe cumplir que:
2
Ing. Adriana M. Apaza JTP Clculo Numrico
s(3) = 2.5,
s (4.5) =1,
s(7) = 2.5,
s(9) = 0.5
2a1 x + b1
s( x ) = 2a2 x + b2
2a x + b
3
3
si
si
si
x [3,4.5]
x [4.5,7]
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 x = 7 . Por lo tanto
para que s (x) sea continua, se debe cumplir que:
a1 = 0 .
De esta forma, tenemos un total de 8 ecuaciones con 8 incgnitas. Estas son las siguientes:
3b1 + c1 = 2.5
4.5b1 + c1 = 1
20.25a 2 + 4.5b2 + c 2 = 1
b1 = 9a 2 + b2
14a 2 + b2 = 14a 3 + b3
3
Ing. Adriana M. Apaza JTP Clculo Numrico
3
4 .5
0
0
0
1
1
0
0 0
0
0
1
0
0 0
0
0
0 20.25 4.5 1
0
0
0
49
7 1
0
0
0
0
0 0 49
7
0
0
0 0 81
9
0 9
1 0
0
0
0
14
1 0 14 1
0 b1 2.5
0 c1 1
0 a2 1
0 b2 2.5
=
1 c2 2.5
1 a3 0.5
0 b3 0
0 c3 0
b1 = 1
c1 = 5.5
a 2 = 0.64
a 3 = 1.6
b2 = 6.76
b3 = 24.6
c 2 = 18.46
c3 = 91.3
x + 5.5
si x [3,4.5]
2
s( x ) = 0.64 x 6.76 x + 18.46 si x [4.5,7]
1.6 x 2 + 24.6 x 91.3 si x [7,9]
La grfica que se muestra a continuacin, contiene tanto los puntos iniciales de la tabla de datos, as
como la spline cuadrtica.
5
4
3
2
1
4.5
-1
El siguiente caso, que es el ms importante en las aplicaciones, sigue exactamente los mismos pasos
del ejemplo que acabamos de resolver, solamente que en vez de trabajar con polinomios cuadrticos, lo
hace con polinomios cbicos.
FUNCIONES SPLINES CUBICAS
Dados n + 1 datos:
4
Ing. Adriana M. Apaza JTP Clculo Numrico
Una spline cbica que interpola estos datos, es una funcin S (x ) definida como sigue:
s0 ( x ) si
s ( x ) si
s(x ) = 1
M
sn 1 ( x ) si
donde cada
x [x0 , x1 ]
x [x1 , x2 ]
x [xn 1 , xn ]
[x 0 , x n ] .
Ejemplo 1.
Interpolar los siguientes datos mediante una spline cbica:
Solucin.
Definimos un polinomio cbico en cada uno de los intervalos que se forman:
a1 x 3 + b1 x 2 + c1 x + d1
s (x ) = 3
2
a2 x + b2 x + c2 x + d 2
si
si
x [2,3]
x [3,5]
A continuacin, hacemos que se cumpla la condicin de que la spline debe pasar por los puntos dados
en la tabla. As, tenemos que:
3a x 2 + 2b1 x + c1
s ( x ) = 1 2
3a 2 x + 2b2 x + c 2
si
si
x [2,3]
x [3,5]
Al igual que en el caso de las splines cuadrticas, 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) 2 + 2b1 (3) + c1 = 3a 2 (3) 2 + 2b2 (3) + c 2 27a1 + 6b1 + c1 = 27a 2 + 6b2 + c 2
Anlogamente procedemos con la segunda derivada:
6 a x + 2b1
s ( x ) = 1
6 a 2 x + 2b2
si
si
x [2,3]
x [3,5]
5
Ing. Adriana M. Apaza JTP Clculo Numrico
En este punto contamos con 6 ecuaciones y 8 incgnitas, por lo tanto tenemos 2 grados de libertad;
en general, se agregan las siguientes 2 condiciones:
s ( x 0 ) = 0
s ( x n ) = 0
De lo cual vamos a obtener:
12a1 + 2b1 = 0
30a2 + 2b2 = 0
Con lo cual, hemos completado un juego de 8 ecuaciones vs. 8 incgnitas, el cual es el siguiente:
8
27
0
27
18
12
27
125
25
27
2
2
0
0
0
0
18
0
2
0
0
0
30
0 a1 1
0 b1 2
1 c1 2
1 d1 7
=
0 a2 0
0 b2 0
0 c2 0
0 d 2 0
a1 = 1.25
a 2 = 0.625
b1 = 7.5
b2 = 9.375
c1 = 10.75
c 2 = 39.875
d 1 = 0 .5
d 2 = 50.125
Sustituyendo estos valores en nuestra funcin inicial, vemos que la spline cbica para la tabla de datos
dada, queda definida como sigue:
si
si
x [2,3]
x [3,5]
6
Ing. Adriana M. Apaza JTP Clculo Numrico
Prcticamente ni se nota que se trata de dos polinomios diferentes. Esto es debido a las condiciones que
se impusieron sobre las derivadas de la funcin. Esta finura casi artstica, es la que permite aplicar las
splines cbicas, para cuestiones como el diseo de letras por computadoras, o bien a problemas de
aplicacin donde la interpolacin que se necesita es de un carcter bastante delicado, como podra
tratarse de datos mdicos sobre algn tipo de enfermedad.
Ejemplo 2.
Interpolar los siguientes datos utilizando splines cbicas:
Solucin.
Nuevamente, definimos un polinomio cbico en cada uno de los intervalos:
a1 x 3 + b1 x 2 + c1 x + d1
s ( x ) = a2 x 3 + b2 x 2 + c2 x + d 2
a x3 + b x 2 + c + d
3
3
3
3
x [ 1,1]
x [1,2]
x [2,4]
si
si
si
Despus, hacemos que la spline pase por los puntos dados en la tabla. As, tenemos que:
s ( 1) = 1 implica que, a1 + b1 c1 + d1 = 1
s (1) = 1 implica que,
a1 + b1 + c1 + d1 = 1
a 2 + b2 + c 2 + d 2 = 1
s ( 2) = 5 implica que,
8a 2 + 4b2 + 2c2 + d1 = 5
8a3 + 4b3 + 2c3 + d 2 = 5
Y finalmente s ( 4) = 2 implica que,
7
Ing. Adriana M. Apaza JTP Clculo Numrico
3a1 x 2 + 2b1 x + c1
s( x ) = 3a2 x 2 + 2b2 x + c2
3a x 2 + 2b x + c
3
3
3
si1
si
si
x [ 1,1]
x [1,2]
x [2,4]
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:
6a1 x + 2b1
s( x) = 6a2 x + 2b2
6a x + 2b
3
3
si
si
si
x [ 1,1]
x [1,2]
x [2,4]
Nuevamente, las posibles discontinuidades son x = 1 y x = 2 . Por lo tanto, para que s(x) sea
continua, se igualan las ecuaciones en ambos valores:
a1 + b1 c1 + d1 = 1
a1 + b1 + c1 + d1 = 1
a2 + b2 + c2 + d 2 = 1
8a2 + 4b2 + 2c2 + d 2 = 5
8a3 + 4b3 + 2c3 + d 3 = 5
64 a3 + 16b3 + 4c3 + d 3 = 2
3a1 + b1 = 3a2 + b2
6 a2 + b2 = 6 a3 + b3
3a1 + b1 = 0
12 a3 + b3 = 0
8
Ing. Adriana M. Apaza JTP Clculo Numrico
1
1
0
0
0
3
0
3
3
0
1 1
1 1
0 0
0 0
0 0
1
1
0
0
0
0
2
0
1
0
1
0
0 0
0
0
0 3 2 1
0 12 4
1
0 3 1 0
0 6
1
0
0 0
0
0
0 0
0
0
0
1
0
0
0
0
0
0
0
1
8
0
0
0
1
4
0
0
0
1
2
0
0
0
1
1
0
0
0
0
0
0
0
0
0 a1 1
0 b1 1
0 c1 1
0 d1 5
1 a2 5
64 16 4 1 b2 2
=
0
0
0 0 c2 0
12 4 1 0 d 2 0
0
0
0 0 a3 0
6 1 0 0 b3 0
0
0
0 0 c3 0
12
1
0 0 d3 0
0
0
0
0
8
0
0
0
0
4
0
0
0
0
2
Obtenemos la solucin:
a1 =
51
140
a2 =
b1 =
153
140
21
297
b2 =
10
35
c1 =
89
140
c2 =
d1 =
153
40
a3 =
24
288
b3 =
35
35
c3 =
1867
732
d3 =
70
35
473
48
d2 =
70
35
-1
-2
En forma general
9
Ing. Adriana M. Apaza JTP Clculo Numrico
a = x0 < x1 < ... < x n = b , un interpolante cbico de trazador, S, para f es una funcin que satisface
las siguientes condiciones:
c)
d)
e)
f)
S ( x0 ) = S ( x n ) = 0 (frontera libre)
S ( x0 ) = f ( x0 ) y S ( x n ) = f ( x n ) (frontera sujeta)
La ecuacin b) indica que el spline cbico se ajusta a cada uno de los puntos, que es continua c), y que
es continua en pendiente y curvatura d) y e), a lo largo de toda la regin generada por los puntos.
Para construir el interpolante cbico de trazador para una funcin f dada, se pueden aplicar las
condiciones de la definicin a los polinomios cbicos.
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 para cada j = 0, 1,..., n 2 .
introducimos la notacin h j = x j +1 x j para cada j = 0, 1,..., n 1 .
Si, adems definimos
a j +1 = a j + b j h j + c j h j + d j h j
2
bn = S ( x n ) y observamos
S j ( x) = b j + 2c j ( x x j ) + 3d j ( x x j ) 2
para x = x j :
S j ( x j ) = b j
b j +1 = S j +1 ( x j +1 ) = S j ( x j +1 )
= b j + 2c j h j + 3d j h j para cada j = 0, 1,..., n 1 .
2
S j( x ) = 2c j + 6d j ( x x j )
10
Ing. Adriana M. Apaza JTP Clculo Numrico
S j ( x j ) = 2c j
para x = x j :
cn =
S ( x n )
c j +1 = S j+1 ( x j +1 ) = S j( x j +1 )
= c j + 3d j h j para cada j = 0, 1,..., n 1 .
Despejando d j de la ecuacin anterior y sustituyendo este valor
dj =
c j +1 c j
(1)
3h j
a j +1 = a j + b j h j + c j h j +
2
hj
a j +1 . = a j + b j h j +
(c j +1 c j )
3
hj = a j + bjhj +
2
hj
(2c j + c j +1 )
(2c j + c j +1 )
(2)
b j +1 = b j + 2c j h j + 3d j h j = b j + 2c j h j + (c j +1 c j ) h j = b j + (c j + c j +1 )h j
2
b j +1 = b j + (c j + c j +1 )h j
(3)
b j = b j 1 + ( c j + c j 1 ) h j 1
(4)
De (2) despejo b j ,
bj. =
(a j +1 . - a j )
hj
hj
3
( 2c j + c j +1 )
(5)
b j1. =
(a j . - a j1) h j1
(c j + 2c j1) (6)
h j1
3
b j = b j 1 + (c j + c j 1 )h j 1
(a j +1 a j )
hj
hj
3
(4)
(2c j + c j +1 ) =
(a j a j 1 )
h j 1
h j 1
3
(c j + 2c j 1 ) + h j 1 (c j + c j 1 )
h j 1c j 1 + 2(h j 1 + h j )c j + h j + c j +1 =
3
3
(a j +1 a j )
(a j a j 1 ) (7)
hj
h j 1
{c }
{h }
n 1
j =0
{a }
n 1
j =0
{x }
n
j =0
j =0
nodos.
11
Ing. Adriana M. Apaza JTP Clculo Numrico
Ntese que una vez que se conocen los valores de c j encontrar las constantes restantes b j de la
ecuacin (4) y d j de la ecuacin (1) y construir los polinomios cbicos Sj es una cuestin sencilla.
Si se cumplen las condiciones de frontera libre,
S ( x0 ) = S ( x n ) = 0 implican que
0 = S ( x0 ) = 2c0 + 6d 0 ( x0 x0 )
c0 = 0
cn =
S ( x n )
= 0 cn = 0
h0
2(h0 + h1 )
h1
h3
2(h1 + h2 )
h2
A=
hn2
0
3
3
(a 2 a1 ) (a1 a 0 )
h1
h0
b=
M
3 (a n a n1 ) 3 (a n 1 a n 2 )
hn 1
hn 2
2(hn 2 + hn1 )
hn 1
1
c 0
c
1
x = c 2
M
c n
12
Ing. Adriana M. Apaza JTP Clculo Numrico
13
Ing. Adriana M. Apaza JTP Clculo Numrico