I.P.
N
Instituto Politécnico Nacional
“ESIQIE”
Escuela Superior de Ingeniería Química e
Industrias Extractivas
METODOS NUMERICOS
Profesor: Márquez Nuño Rogelio
Alumnos:
García Rivera Miriam Vianey
Herrera García Ricardo
Minila Pérez María Fernanda
Servín Quintero Roberto Ignacio
Grupo: 1IM44
Trabajo de investigación: “Spline”
SPLINE
El propósito de realizar interpolaciones polinomicas es sustituir una tabla de valores por
un polinomio que tome dichos valores. Cuando se tiene una gran cantidad de puntos
también aumenta el grado del polinomio. Uno de los problemas que esto presenta es
que el polinomio se hace más oscilante por lo que a menudo no responde al fenómeno
debido al gran número de extremos e inflexiones. Por otro lado, el cálculo de estos
polinomios es muy complicado lo que limita su utilidad en el análisis numérico.
Por lo tanto a menudo es más conveniente dividir el intervalo de interés en
subintervalos más pequeños y aplicar en cada subintervalo un polinomio de grado
relativamente bajo, tratando que la función a trozos definida tenga un aspecto adecuada
al fenómeno representado.
Los splines (ranuras en español) se definen como curvas definidas en intervalos
mediante polinomios. Su teoría fundamental fue desarrollada en la década de 1940 por
Isaac Jacob Schoenberg (1903-1990). La idea central es que en vez de utilizar un solo
polinomio para interpolar los datos, se pueden utilizar segmentos de polinomios y
unirlos adecuadamente para formar la interpolación.
Los splines de tercer grado o cubicas han resultado ser los más adecuados aunque
existen varios tipos de splines.
TIPOS DE SPLINE:
o Spline lineal C0
o Spline parabólico C1
o Spline cúbico C1
o Spline cúbico C2
El tipo de Spline viene dado por el grado de polinomio en cada intervalo y la regularidad
en los puntos/nodos interiores.
SPLINE LINEAL C0
o Función polinómica lineal a trozos
o Continua (en los puntos base xi )
Base del espacio de splines lineales C0:
o Depende de los puntos base {x0, x1,...,xn}
o De todas las bases posibles escogemos la que permite variar con facilidad
los valores fi.
o Con la base que cumple:
interpolante (spline) se escribe:
Observación: El espacio de Splines lineales C0 es un espacio vectorial de
dimensión n+1 (número de puntos base).
SPLINE C1 PARABOLICO
En cada intervalo:
o Número de coeficientes: 3n
o Número de condiciones: continuidad del spline y de la primera derivada en
los n-1 puntos interiores.
o DIFERENCIA: 3n 2(n-1) 3n – 2(n-1) = n+2 parámetros libres, dimensión del
espacio.
EJEMPLO SPLINE C1 PARABÓLICO (RECURRENTE)
Fijando el valor de la derivada en el punto inicial, Sʼ(0)=0, y los n+1 valores de la
función.
LA BASE DE SPLINES PARABOLICOS C1 ES NO LOCAL
Elección de s’0:
o Dejar s’0 libre y modificar interactivamente.
o Interpolar polinomio con N+1 puntos en el entorno de x0: s’0 = pendiente
del polinomio en x0.
o Tomar s’1 = (f2 – f0)/(x2 – x0) (diferencia centrada) e interpolar un
subintervalo en sentido contrario.
SPLINE C1 CÚBICO
Se conoce como: interpolación de Hermite
En cada intervalo:
o Número de coeficientes: 4n
o Número de condiciones: continuidad del spline y de la primera derivada en
los n-1 puntos interiores.
o DIFERENCIA: 4n 2(n-1) 4n – 2(n-1) = 2(n+1) parámetros libres, dimensión
del espacio.
En cada subintervalo, dados los 2 valores de la función y los 2 valores de la
derivada hay un único polinomio de grado 3 que cumple las 4 condiciones.
POLINOMIO DE GRADO 3 QUE CUMPLE LAS 4 CONDICIONES:
Aproximación de las derivadas:
Si las derivadas sʼ i no son conocidas, se pueden aproximar a partir de los valores
de la función.
SPLINE C1 PARABÓLICO (NO LOCAL):
SPLINE C1 CÚBICO (LOCAL):
SPLINE C2 CÚBICO
En cada intervalo:
o Número de coeficientes: 4n
o Número de condiciones: continuidad del spline y de la primera y segunda
derivada en los n-1 puntos interiores.
o DIFERENCIA: 4n 3(n-1) 4n – 3(n-1) = (n+1) + 2 parámetros libres, dimensión
del espacio.
CONDICIONES ADICIONALES
Curvaturas prescritas en los extremos: s’’0 y s’’n dadas formulación en curvaturas.
Caso particular: s’’0=s’’n=0 (spline natural).
Pendientes prescritas en los extremos: s’0 y s’n dadas formulación en pendientes
(derivadas).
Imposición de una pendiente y una curvatura.
Spline periódico: Si se verifica f0=fn puede ser interesante exigir s’0=s’n y
s’’0=s’’n.
Interpolación cuadrática en los dos subintervalos extremos: s’’0=s’’1 y s’’n-1=s’’n.
Interpolación con la misma cúbica en los dos primeros subintervalos y en los dos
últimos subintervalos.
FORMULACIÒN EN DERIVADAS
o Spline cúbico (de momento con continuidad C1)
o Sólo podemos imponer el valor de S(xi )=fi y dos condiciones adicionales.
o Las pendientes s’i no son datos, son parámetros a determinar imponiendo
continuidad de S’’(x) y las dos condiciones adicionales.
FORMULACIÒN EN CURVATURAS
Se expresa el spline en función de fi y de las segundas derivadas en los puntos
base si ’’
Las curvaturas s’’i no son datos, son parámetros a determinar imponiendo
continuidad de S’(x) y las dos condiciones adicionales.
SPLINE NATURAL
El Spline natural es el spline C2 cúbico con s’’0=s’’n=0.
La suavidad de una función se mide con el funcional
PROCEDIMIENTO PARA UN SPLINE DE SEGUNDO GRADO
Si tenemos una tabla con n puntos nos podemos dar cuenta de que se forman n-1
intervalos:
X Y
X1 Y1
X2 Y2
X3 Y3
⁞ ⁞
Xn Yn
[X1, X2], [X2, X3],…, [Xn-1, Xn]
En cada uno de estos intervalos, se define una función polinomial de grado 2, como
sigue:
𝑎1 𝑥 2 + 𝑏1 𝑥 + 𝑐1 𝑠𝑖 𝑥 𝜖 [𝑋1 , 𝑋2 ]
𝑠(𝑥) = { 𝑎2 𝑥 2 + 𝑏2 𝑥 + 𝑐2 𝑠𝑖 𝑥 𝜖 [𝑋2 , 𝑋3 ]
⋮
2
𝑎𝑛−1 𝑥 + 𝑏𝑛−1 𝑥 + 𝑐𝑛−1 𝑠𝑖 𝑥 𝜖 [𝑋𝑛−1 , 𝑋𝑛 ]
Hacemos que un spline pase por los puntos de la tabla de dado de manera que se debe
cumplir:
𝑠(𝑋1 ) = 𝑌1, 𝑠(𝑋2 ) = 𝑌2 ,… , 𝑠(𝑋𝑛 ) = 𝑌𝑛
Por lo que se forman las ecuaciones:
𝑎1 (𝑋1 )2 + 𝑏1 (𝑋1 ) + 𝑐1 = 𝑌1
𝑠(𝑋1 ) = {
𝑎2 (𝑋1 )2 + 𝑏2 (𝑋1 ) + 𝑐2 = 𝑌1
⁞
𝑎𝑛−2 (𝑋𝑛−1 )2 + 𝑏𝑛−2 (𝑋𝑛−1 ) + 𝑐𝑛−2 = 𝑌𝑛−1
𝑠(𝑋𝑛−1 ) = {
𝑎𝑛−1 (𝑋𝑛−1 )2 + 𝑏𝑛−1 (𝑋𝑛−1 ) + 𝑐𝑛−1 = 𝑌𝑛−1
𝑠(𝑋𝑛 ) = 𝑎𝑛−1 (𝑋𝑛 )2 + 𝑏𝑛−1 (𝑋𝑛 ) + 𝑐𝑛−1 = 𝑌𝑛
El siguiente paso es que el spline tenga una derivada continua de orden k-1=1, es
decir, primera derivada continúa:
2𝑎1 𝑥 + 𝑏1 𝑠𝑖 𝑥 𝜖 [𝑋1 , 𝑋2 ]
2𝑎2 + 𝑏2 𝑠𝑖 𝑥 𝜖 [𝑋2 , 𝑋3 ]
𝑠′(𝑥) = {
⋮
2𝑎𝑛−1 𝑥 + 𝑏𝑛−1 𝑠𝑖 𝑥 𝜖 [𝑋𝑛−1 , 𝑋𝑛 ]
Para que s’(x) sea continua se debe cumplir que:
2𝑎1 𝑥 + 𝑏1 = 2𝑎2 + 𝑏2
⁞
2𝑎𝑛−2 𝑥 + 𝑏𝑛−2 = 2𝑎𝑛−1 𝑥 + 𝑏𝑛−1
De esta forma se tiene un sistema de ecuaciones que debe ser resuel
EJEMPLO UNO
Considerando los siguientes datos:
x 3 4.5 7 9
Y 2.5 1 2.5 0.5
Se forman tres intervalos: [3,4.5] [4.5, 7] [7,9]
En cada uno de los intervalos definir una función polinomial de segundo grado
Spline debe de pasar por los puntos:
Entonces, se forman las siguientes ecuaciones:
Hasta aquí se obtienen 6 ecuaciones con 9 incógnitas
En el caso de las splines de segundo grado
Calculamos la primera derivada:
Esta derivada está formada por segmentos de rectas, que pueden presentar
discontinuidad en los cambios de intervalo. Por lo tanto para que s’(x) sea continua
debe cumplir que:
Así tenemos un total de 8 ecuaciones con 9 incógnitas, nos da un grado de
libertad para elegir alguna de las incógnitas. Por conveniencia a 1=0
Se obtienen 8 ecuaciones con 8 incógnitas
Se obtiene la solución al sistema de ecuaciones
Sustituyendo valores junto con a1=0, se obtiene la función spline cuadrática que
interpola la tabla de datos
Graficando
EJEMPLO DOS
Realizar las interpolaciones cúbicas por medio del método de Splines.
t (s) V (m/s)
10 2
15 4
20 6
25 8
30 10
35 12
𝑎1 𝑥 2 + 𝑏1 𝑥 + 𝑐1 𝑠𝑖 𝑥 𝜖 [𝑋1 , 𝑋2 ]
𝑠(𝑥) = { 𝑎2 𝑥 2 + 𝑏2 𝑥 + 𝑐2 𝑠𝑖 𝑥 𝜖 [𝑋2 , 𝑋3 ]
⋮
𝑎𝑛−1 𝑥 2 + 𝑏𝑛−1 𝑥 + 𝑐𝑛−1 𝑠𝑖 𝑥 𝜖 [𝑋𝑛−1 , 𝑋𝑛 ]
Se define un polinomio en cada uno de los intervalos que se forman
𝑎1 𝑥 3 + 𝑏1 𝑥 2 + 𝑐1 𝑥 + 𝑑1 𝑠𝑖 𝑥 𝜖 [10, 15]
𝑎2 𝑥 3 + 𝑏2 𝑥 2 + 𝑐2 𝑥 + 𝑑2 𝑠𝑖 𝑥 𝜖 [15, 20]
𝑠(𝑥) = 𝑎3 𝑥 3 + 𝑏3 𝑥 2 + 𝑐3 𝑥 + 𝑑3 𝑠𝑖 𝑥 𝜖 [20, 25]
𝑎4 𝑥 3 + 𝑏4 𝑥 2 + 𝑐4 𝑥 + 𝑑4 𝑠𝑖 𝑥 𝜖 [25, 30]
{𝑎5 𝑥 3 + 𝑏5 𝑥 2 + 𝑐5 𝑥 + 𝑑5 𝑠𝑖 𝑥 𝜖 [30, 35]
Se hace que se cumpla la condición que el spline pase por los puntos de la tabla:
𝑠(𝑥) = 2 → 𝑎1 (2)3 + 𝑏1 (2)2 + 𝑐1 (2) + 𝑑1
𝑠(𝑥) = 4 → 𝑎1 (4)3 + 𝑏1 (4)2 + 𝑐1 (4) + 𝑑1
𝑠(𝑥) = 4 → 𝑎2 (4)3 + 𝑏2 (4)2 + 𝑐2 (4) + 𝑑2
𝑠(𝑥) = 6 → 𝑎2 (6)3 + 𝑏2 (6)2 + 𝑐2 (6) + 𝑑2
𝑠(𝑥) = 6 → 𝑎3 (6)3 + 𝑏3 (6)2 + 𝑐3 (6) + 𝑑3
𝑠(𝑥) = 8 → 𝑎3 (8)3 + 𝑏3 (8)2 + 𝑐3 (8) + 𝑑3
𝑠(𝑥) = 8 → 𝑎4 (8)3 + 𝑏4 (8)2 + 𝑐4 (8) + 𝑑4
𝑠(𝑥) = 10 → 𝑎4 (10)3 + 𝑏4 (10)2 + 𝑐4 (10) + 𝑑4
𝑠(𝑥) = 10 → 𝑎5 (10)3 + 𝑏5 (10)2 + 𝑐5 (10) + 𝑑5
𝑠(𝑥) = 12 → 𝑎5 (12)3 + 𝑏5 (12)2 + 𝑐5 (12) + 𝑑5
𝑠(𝑥) = 2 → 8 𝑎1 + 4 𝑏1 + 2 𝑐1 + 𝑑1
𝑠(𝑥) = 4 → 64 𝑎1 + 16 𝑏1 + 4 𝑐1 + 𝑑1
𝑠(𝑥) = 4 → 64 𝑎2 + 16 𝑏2 + 4 𝑐2 + 𝑑2
𝑠(𝑥) = 6 → 216 𝑎2 + 36 𝑏2 + 6 𝑐2 + 𝑑2
𝑠(𝑥) = 6 → 216 𝑎3 + 36 𝑏3 + 6 𝑐3 + 𝑑3
𝑠(𝑥) = 8 → 512 𝑎3 + 64 𝑏3 + 8 𝑐3 + 𝑑3
𝑠(𝑥) = 8 → 512 𝑎4 + 64 𝑏4 + 8 𝑐4 + 𝑑4
𝑠(𝑥) = 10 → 1000 𝑎4 + 100 𝑏4 + 10 𝑐4 + 𝑑4
𝑠(𝑥) = 10 → 1000 𝑎5 + 100 𝑏5 + 10𝑐5 + 𝑑5
𝑠(𝑥) = 12 → 1728 𝑎5 + 144 𝑏5 + 12 𝑐5 + 𝑑5
Calculando la primera derivada
3𝑎1 𝑥 2 + 2𝑏1 𝑥 + 𝑐1 𝑠𝑖 𝑥 𝜖 [10, 15]
3𝑎2 𝑥 2 + 2𝑏2 𝑥 + 𝑐2 𝑠𝑖 𝑥 𝜖 [15, 20]
𝑠′(𝑥) = 3𝑎3 𝑥 2 + 2𝑏3 𝑥 + 𝑐3 𝑠𝑖 𝑥 𝜖 [20, 25]
3𝑎4 𝑥 2 + 2𝑏4 𝑥 + 𝑐4 𝑠𝑖 𝑥 𝜖 [25, 30]
{3𝑎5 𝑥 2 + 2𝑏5 𝑥 + 𝑐5 𝑠𝑖 𝑥 𝜖 [30, 35]
Como se puede observar al igual que el caso de las splines cuadráticas, se
presentan ecuaciones que pueden presentar discontinuidad en los cambios de
intervalo. Es por ello que se evalúan estos puntos en los polinomios de la primera
derivada.
Para x=15
3𝑎1 (15)2 + 2𝑏1 (15) + 𝑐1 = 3𝑎2 (15)2 + 2𝑏2 (15) + 𝑐2
Para x= 20
3𝑎2 (20)2 + 2𝑏2 (20) + 𝑐2 = 3𝑎3 (20)2 + 2𝑏3 (20) + 𝑐3
Para x= 25
3𝑎3 (25)2 + 2𝑏3 (25) + 𝑐3 = 3𝑎4 (25)2 + 2𝑏4 (25) + 𝑐4
Para x= 30
3𝑎4 (30)2 + 2𝑏4 (30) + 𝑐4 = 3𝑎5 (30)2 + 2𝑏5 (30) + 𝑐5
Para x=15
675𝑎1 + 30 𝑏1 + 𝑐1 = 675 𝑎2 + 30 𝑏2 + 𝑐2
Para x= 20
1200 𝑎2 + 40 𝑏2 + 𝑐2 = 1200 𝑎3 + 40 𝑏3 + 𝑐3
Para x= 25
1875 𝑎3 + 50 𝑏3 + 𝑐3 = 1875 𝑎4 + 50 𝑏4 + 𝑐4
Para x= 30
2700 𝑎4 + 60 𝑏4 + 𝑐4 = 2700 𝑎5 + 60 𝑏5 + 𝑐5
Se calcula la segunda derivada
6𝑎1 𝑥 + 2𝑏1 𝑠𝑖 𝑥 𝜖 [10, 15]
6𝑎2 𝑥 + 2𝑏2 𝑠𝑖 𝑥 𝜖 [15, 20]
𝑠′′(𝑥) = 6𝑎3 𝑥 + 2𝑏3 𝑠𝑖 𝑥 𝜖 [20, 25]
6𝑎4 𝑥 + 2𝑏4 𝑠𝑖 𝑥 𝜖 [25, 30]
{ 6𝑎5 𝑥 + 2𝑏5 𝑠𝑖 𝑥 𝜖 [30, 35]
Para x=15
6𝑎1 (15) + 2𝑏1 = 6𝑎2 (15) + 2𝑏2
Para x= 20
6𝑎2 (20) + 2𝑏2 = 6𝑎3 (20) + 2𝑏3
Para x= 25
6𝑎3 (25) + 2𝑏3 = 6𝑎4 (25) + 2𝑏4
Para x= 30
6𝑎4 (30) + 2𝑏4 = 6𝑎5 (30) + 2𝑏5
Para lograr que s’’(x) sea continua se evalúa x
Para x=15
90 𝑎1 + 2𝑏1 = 90 𝑎2 + 2𝑏2
Para x= 20
120 𝑎2 + 2𝑏2 = 120 𝑎3 + 2𝑏3
Para x= 25
150 𝑎3 + 2𝑏3 = 150 𝑎4 + 2𝑏4
Para x= 30
180 𝑎4 + 2𝑏4 = 180 𝑎5 + 2𝑏5
De las dos condiciones siguientes
𝑠 ′′ (𝑋0 ) = 0
𝑠 ′′ (𝑋𝑛 ) = 0
Donde se obtiene:
𝑠 ′′ (10) = 0 → 6𝑎1 (10) + 2𝑏1 → 60 𝑎1 + 2𝑏1 = 0
𝑠 ′′ (35) = 0 → 6 𝑎5 (35) + 2𝑏5 → 210 𝑎5 + 2𝑏5 = 0
Con lo cual se hace un sistema de 20 ecuaciones con 20 incógnitas, donde se
forma la matriz para realizarla:
Donde al hacer las matrices da como resultado:
a1= -0.00148
b1= 0.04460
c1= 0.77400
d1= 0.28546
a2= 0.00147
b2= -0.08889
c2= 2.77647
d2= -5.77647
a3= 1.53592x10-6
b3= -1.96599x10-4
c3= 1.00252
d3= -0.00840
a4= 2.36680
b4= -2.58916
c4= 1.00408
d4= -0.01730
a5= 3.06021x10-6
b5= -3.21322x10-4
c5= 1.00595
d5= -0.030470
Donde sustituyendo estos valores en la ecuación inicial, vemos que el spline
cúbico queda queda:
(−0.00148)𝑥 3 + (0.04460)𝑥 2 + (0.77400)𝑥 + 0.28546 𝑠𝑖 𝑥 𝜖 [10, 15]
3 2
(0.00147)𝑥 + (−0.08889)𝑥 + ( 2.77647)𝑥 + (−5.77647) 𝑠𝑖 𝑥 𝜖 [15, 20]
−4 3 −4 2
𝑠(𝑥) = (1.535929x10 𝑥 + (−1.96599x10 )𝑥 + (1.00252)𝑥 + (−0.00840) 𝑠𝑖 𝑥 𝜖 [20, 25]
(2.36680)𝑥 3 + (−2.58916)𝑥 2 + (1.00408)𝑥 + (−0.01730) 𝑠𝑖 𝑥 𝜖 [25, 30]
{ 3.06021x10−6 𝑥 3 + (−3.21322x10−4 )𝑥 2 + (1.00595)𝑥 + (−0.030470) 𝑠𝑖 𝑥 𝜖 [30, 35]
BIBLIOGRAFÍA
(2018). Matematica Aplicada. Retrieved 10 March 2018, from
[Link]
olacion_con_splines.pdf
7.2 Interpolación de splines. (2018). [Link]. Retrieved 10 March 2018, from
[Link]
[Link]
olacion_con_splines.pdf