Sobre cada intervalo ,
S está definido por un polinomio cúbico diferente.
Sea Si el polinomio cúbico que representa a S
en el intervalo [ti,ti+1],
por tanto:
Los polinomios Si-1 y Si interpolan el mismo valor en el punto ti, es decir, se cumple:
Si-1(ti) = yi = Si(ti) | ![]() |
por lo que se garantiza que S es continuo en todo el intervalo. Además, se supone que S' y S'' son continuas, condición que se emplea en la deducción de una expresión para la función del spline cúbico.
Aplicando las condiciones de continuidad del spline S y de las derivadas primera S' y segunda S'', es posible encontrar la expresión analítica del spline. No vamos a obtener esta expresión, ya que su demostración queda fuera del ámbito de estos apuntes. Simplemente diremos que la expresión resultante es:
En la expresión anterior, hi=ti+1-ti
y
son incógnitas. Para determinar sus valores, utilizamos las condiciones
de continuidad que deben cumplir estas funciones. El resultado (que tampoco
vamos a demostrar) es:
La ecuación anterior, con
genera un sistema de n-1ecuaciones lineales con n+1 incógnitas
.
Podemos elegir z0 y z1 de forma arbitraria
y resolver el sistema de ecuaciones resultante para obtener los valores
de
.
Una elección especialmente adecuada es hacer z0=z1=0.
La función spline resultante se denomina spline cúbico
natural y el sistema de ecuaciones lineal expresado en forma matricial
es:
![]() |
(70) |
en donde:
hi | = | ti+1-ti | |
ui | = | ![]() |
|
bi | = | ![]() |
|
![]() |
= | ![]() |
(71) |
![]() |
Este sistema de ecuaciones, que es tridiagonal, se puede resolver mediante eliminación gaussiana sin pivoteo como se muestra en la figura (18). El código acepta como entrada un conjunto de nodos (ti) y el conjunto de los valores de la función correspondiente (yi) y produce un vector con los vectores zi. Por último, el valor del spline S en un punto xcualquiera interpolado se puede calcular de forma eficiente empleando la siguiente expresión:
![]() |
(72) |
en donde
Ai | = | ![]() |
|
Bi | = | ![]() |
|
Ci | = | ![]() |
(73) |
Veamos un ejemplo para ilustrar el empleo de los splines cúbicos
para interpolar los valores de una tabla. En la tabla (1)
se muestran algunos valores de una serie de valores tabulados a intervalos
regulares de la función
en el intervalo [0,2.25]. También se indican los valores interpolados
empleando el correspondiente spline cúbico así como el error
absoluto cometido. Obsérvese que el error es cero para los nudos.
En la figura (19) se representan gráficamente
los valores tabulados.
En la figura (20) se muestra otro
ejemplo. Se representan gráficamente los puntos interpolados mediante
una función spline cúbica para la función y=sen(x).
|
|