Sei sulla pagina 1di 38

Splines

Spline C ubicos
Hermes Pantoja Carhuavilca
Facultad de Ingeniera Mecanica
Universidad Nacional de Ingenieria
Metodos Numericos
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Contenido
1
Splines
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Introduccion
Un spline es una funcion polinomial denida por casos
S : [a, b] R
donde cada caso es un polinomio
S
i
: [n
i
, n
i +1
R
y a = x
0
< x
1
< . . . < x
n1
< x
n
= b con lo cual queda denido
de la siguiente manera:
S(x) =
_

_
S
0
(x) si x [x
0
, x
1
]
S
1
(x) si x [x
1
, x
2
]
.
.
.
.
.
.
S
n1
(x) si x [x
n1
, x
n
]
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Spline Lineal
Denicion
Una funcion S(x) es un spline de grado 1 si:
1
El dominio de S(x) es un intervalo de [a, b]
2
S(x) es continua en [a, b]
3
Hay puntos (los nodos de S) a = t
0
< t
1
< . . . < t
n
= b tal
que S(x) es lineal en cada subintervalo [t
i
, t
i +1
].
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Dados los n + 1 puntos (x
0
, y
0
), (x
1
, y
1
), . . . , (x
n
, y
n
), una funcion
spline de grado 1 que interpole los datos es simplemente unir cada
uno de los puntos mediante segmentos de recta, como se ilustra en
las siguientes guras
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Por lo tanto, el spline de grado 1 queda denido como:
S(x) =
_

_
S
0
(x) = y
0
+ f [x
0
, x
1
](x x
0
) si x [x
0
, x
1
]
S
1
(x) = y
1
+ f [x
1
, x
2
](x x
1
) si x [x
1
, x
2
]
.
.
.
.
.
.
S
n1
(x) = y
n1
+ f [x
n1
, x
n
](x x
n1
) si x [x
n1
, x
n
]
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Ejemplo
Ejemplo
Determine el spline lineal que interpola una tabla con los siguiente
datos:
x 1 2 5 7
y 1 2 3 2,5
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Soluci on:
De acuerdo con la denicion:
S
0
(x) = 1 +
2 1
2 1
(x 1) = x; x [1, 2]
S
1
(x) = 2+
3 2
5 2
(x 2) =
1
3
(x +4); x [2, 5]
S
2
(x) = 3 +
2,5 3
7 5
(x 5)
=
1
4
(x 17); x [5, 7]
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Spline C ubico
Denicion (Spline C ubico)
Una funcion S(x) es un spline de grado 3 (Spline C ubico) si:
1
El dominio de S(x) es un intervalo de [a, b]
2
S(x) es continua en [a, b]
3
S

(x) es continua en [a, b]


4
S

(x) es continua en [a, b]


5
Hay puntos (los nodos de S) a = t
0
< t
1
< . . . < t
n
= b tal
que S(x) es c ubico en cada subintervalo [t
i
, t
i +1
].
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Construcci on de la funci on Spline C ubica
Consideremos n + 1 puntos (x
0
, y
0
), (x
1
, y
1
), . . . , (x
n
, y
n
) cuyas
abscisas estan ordenadas de manera creciente
a = x
0
< x
1
< x
2
< . . . < x
n1
< x
n
= b (nodos).
La funcion S : [a, b] R es un spline c ubico si existen n
polinomios S
k
(x), cada uno denido sobre un intervalo, los cuales
lo podemos escribir en la forma:
S
k
(x) = a
k
(x x
k
)
3
+ b
k
(x x
k
)
2
+ c
k
(x x
k
) + d
k
para x [x
k
, x
k+1
] y k = 0, 1, 2, . . . , n 1 vericando las
siguientes propiedades:
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
1
S(x
k
) = y
k
donde k = 0, 1, 2, . . . , n (condicion de
interpolacion).
2
S
k
(x
k+1
) = S
k+1
(x
k+1
) donde k = 0, 1, 2, . . . , n 3, n 2
(Continuidad de los splines)
3
S

k
(x
k+1
) = S

k+1
(x
k+1
) donde k = 0, 1, 2, . . . , n 3, n 2
(Continuidad de la derivada)
4
S

k
(x
k+1
) = S

k+1
(x
k+1
) donde k = 0, 1, 2, . . . , n 3, n 2
(Continuidad de la segunda derivada)
5
Una de las siguientes condicione de frontera se satisface
S

(x
0
) = S

(x
n
) = 0 frontera libre o natural
S

(x
0
) = f

(x
0
) y S

(x
n
) = f

(x
n
) frontera sujeta
Si se satisface la condicion de frontera libre o natural, se denomina
spline c ubico natural.
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Implementaci on de los Spline C ubicos
Los coecientes a
k
, b
k
, c
k
y d
k
son dados por las formulas
a
k
=
g
k+1
g
k
6h
k
b
k
=
g
k
2
c
k
= f [x
k
, x
k+1
]
2h
k
g
k
+ g
k+1
h
k
6
d
k
= f (x
k
)
donde h
k
= x
k+1
x
k
k = 0, 1, 2, . . . , n 1 los valores de g
k
son obtenidos de la solucion del siguiente sistema de ecuaciones
lineales:
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Mg=b
M =
_

_
h
0
2(h
0
+ h
1
) h
1
h
1
2(h
1
+ h
2
) h
2
.
.
.
.
.
.
.
.
.
h
n2
2(h
n2
+ h
n1
) h
n1
_

_
(n1)(n+1)
g =
_

_
g
0
g
1
.
.
.
g
n
_

_
b = 6
_

_
f [x
1
, x
2
] f [x
0
, x
1
]
f [x
2
, x
3
] f [x
1
, x
2
]
.
.
.
f [x
n1
, x
n
] f [x
n2
, x
n1
]
_

_
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Spline de frontera libre o natural
Haciendo g
0
= g
n
= 0 (Spline c ubico natural), se reduce al
siguiente sistema tridiagonal

M .g = b

M =
_

_
2(h
0
+ h
1
) h
1
0 . . . 0
h
1
2(h
1
+ h
2
) h
2
.
.
.
.
.
.
0 . . . . . . . . . 0
.
.
.
.
.
.
h
n3
2(h
n3
+ h
n2
) h
n2
0 . . . 0 h
n2
2(h
n2
+ h
n1
)
_

_
g =
_

_
g
1
.
.
.
g
n1
_

_
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Spline de frontera sujeta
S

0
(x
0
) = A y S

n
(x
n
) = B, con lo cual se agregan dos ecuaciones
2h
0
g
0
+ h
0
g
1
= 6(f [x
0
, x
1
] A)
h
n1
g
n1
+ 2h
n1
g
n
= 6(B f [x
n1
, x
n
])
Se tiene el siguiente sistema matricial
M =
_

_
2h
0
h
0
0 . . . 0
h
0
2(h
0
+ h
1
) h
1
h
1
2(h
1
+ h
2
) h
2
.
.
.
.
.
.
.
.
.
h
n2
2(h
n2
+ h
n1
) h
n1
0 . . . 0 h
n1
2h
n1
_

_
(n+1)(n+1)
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
g =
_

_
g
0
g
1
.
.
.
g
n
_

_
b = 6
_

_
f [x
0
, x
1
] A
f [x
1
, x
2
] f [x
0
, x
1
]
f [x
2
, x
3
] f [x
1
, x
2
]
.
.
.
f [x
n1
, x
n
] f [x
n2
, x
n1
]
B f [x
n1
, x
n
]
_

_
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Ejemplo
Ejemplo
Obtener una interpolacion por Spline C ubico Natural para el
polinomio p(x) = x
4
, para x = 0, 1, 2, 3. Muestre el spline S(x)
para cada intervalo.
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Soluci on:
x
0
= 0; x
1
= 1; x
2
= 2; x
3
= 3
f (x
0
) = 0; f (x
1
) = 1; f (x
2
) = 16; f (x
3
) = 81
h
0
= x
1
x
0
= 1; h
1
= x
2
x
1
= 1; h
2
= x
3
x
2
= 1
f [x
0
, x
1
] = 1; f [x
1
, x
2
] = 15; f [x
2
, x
3
] = 65
g
0
= 0; g
3
= 0
_
2(h
0
+ h
1
) h
1
h
1
2(h
1
+ h
2
)
_ _
g
1
g
2
_
= 6
_
f [x
1
, x
2
] f [x
0
, x
1
]
f [x
2
, x
3
] f [x
1
, x
2
]
_
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
_
4 1
1 4
_ _
g
1
g
2
_
= 6
_
14
50
_
Luego:
g
1
= 2,4; g
2
= 74,4
Hallando los coecientes de S
0
(x)
a
0
=
g
1
g
0
6h
0
= 0,4
b
0
=
g
0
2
= 0
c
0
= f [x
0
, x
1
]
2h
0
g
0
+ g
1
h
0
6
= 0,6
d
0
= f (x
0
) = 0
S
0
(x) = 0,4(x 0)
3
+ 0(x 0)
2
+ 0,6(x 0) + 0 x [0, 1]
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Hallando los coecientes de S
1
(x)
a
1
=
g
2
g
1
6h
1
= 12
b
1
=
g
1
2
= 1,2
c
1
= f [x
1
, x
2
]
2h
1
g
1
+ g
2
h
1
6
= 1,8
d
1
= f (x
1
) = 1
S
1
(x) = 12(x 1)
3
+ 1,2(x 1)
2
+ 1,8(x 1) + 1 x [1, 2]
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Hallando los coecientes de S
2
(x)
a
2
=
g
3
g
2
6h
2
= 12,4
b
2
=
g
2
2
= 37,2
c
2
= f [x
2
, x
3
]
2h
2
g
2
+ g
3
h
2
6
= 40,2
d
2
= f (x
2
) = 16
S
2
(x) = 12,4(x 2)
3
+37,2(x 2)
2
+40,2(x 2) +16 x [2, 3]
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Finalmente:
S(x) =
_
_
_
S
0
(x) = 0,4(x 0)
3
+ 0(x 0)
2
+ 0,6(x 0) + 0 x [0, 1]
S
1
(x) = 12(x 1)
3
+ 1,2(x 1)
2
+ 1,8(x 1) + 1 x [1, 2]
S
2
(x) = 12,4(x 2)
3
+ 37,2(x 2)
2
+ 40,2(x 2) + 16 x [2, 3]
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Ejemplo
Ejemplo
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Ejemplo
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Ejemplo
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Ejemplo
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Ejemplo
Ejemplo
Obtener una interpolacion por Spline C ubico forzado para el
polinomio p(x) = (x 1)
4
, para x = 0, 1,1.5. Muestre el spline
S(x) para cada intervalo.
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Soluci on:
x
0
= 0; x
1
= 1; x
2
=
3
2
f (x
0
) = 1; f (x
1
) = 0; f (x
2
) =
1
16
h
0
= x
1
x
0
= 1; h
1
= x
2
x
1
=
1
2
f [x
0
, x
1
] = 1; f [x
1
, x
2
] =
1
8
A = f

(0) = 4; B = f

(
3
2
) =
1
2
_
_
2h
0
h
0
0
h
0
2(h
0
+ h
1
) h
1
0 h
1
2h
1
_
_
_
_
g
0
g
1
g
2
_
_
= 6
_
_
f [x
0
, x
1
] A
f [x
1
, x
2
] f [x
0
, x
1
]
B f [x
1
, x
2
]
_
_
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
_
_
2 1 0
1 3 0,3333
0 0,5 1
_
_
_
_
g
0
g
1
g
2
_
_
=
_
_
18
6,75
2,25
_
_
Luego:
g
0
= 9,75; g
1
= 1,5; g
2
= 3
Hallando los coecientes de S
0
(x)
a
0
=
g
1
g
0
6h
0
= 1,8750
b
0
=
g
0
2
= 4,8750
c
0
= f [x
0
, x
1
]
2h
0
g
0
+ g
1
h
0
6
= 4
d
0
= f (x
0
) = 1
S
0
(x) = 1,8750(x0)
3
+4,8750(x0)
2
+4(x0)+1 x [0, 1]
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Hallando los coecientes de S
1
(x)
a
1
=
g
2
g
1
6h
1
= 1,5
b
1
=
g
1
2
= 0,75
c
1
= f [x
1
, x
2
]
2h
1
g
1
+ g
2
h
1
6
= 0,125
d
1
= f (x
1
) = 0
S
1
(x) = 1,5(x 1)
3
+0,75(x 1)
2
+0,125(x 1)+0 x [1, 1.5]
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Aplicaci on
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Aplicaci on
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Aplicaci on
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Aplicaci on
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Hermes Pantoja Carhuavilca Spline C ubicos
Splines
Hermes Pantoja Carhuavilca Spline C ubicos