Interpolación y splines · Definición
Splines cúbicos
La interpolación con un único polinomio de grado alto puede oscilar fuertemente entre los datos. Los splines cúbicos resuelven ese problema usando trozos cúbicos enlazados con suavidad.
Definición
Un spline cúbico \(S\) es una función a trozos, cada trozo un polinomio de grado tres, que interpola los datos \((x_i,y_i)\) y es de clase \(C^2\) en los nodos.
Cada trozo \(S_i\) se define en \([x_i,x_{i+1}]\) y las condiciones de interpolación y de continuidad de \(S\), \(S'\) y \(S''\) en los nodos interiores dan \(4n-2\) ecuaciones para \(4n\) incógnitas. Por eso se añaden dos condiciones de frontera, como las naturales \(S''(x_0)=S''(x_n)=0\) o las sujetas, que fijan \(S'\) en los extremos.
Para los datos \((0,1),(1,2),(2,0)\) con frontera natural, el sistema para \(c_1\) es tridiagonal, con \(c_0=c_2=0\) y \(4c_1=3\,(f[x_1,x_2]-f[x_0,x_1])=-9\), luego \(c_1=-\tfrac{9}{4}\). Así se obtiene un spline de clase \(C^2\) que pasa exactamente por los tres puntos.
Un error típico es imponer solo continuidad de \(S\) y \(S'\) y olvidar \(S''\), lo que produce un interpolante que no es un spline cúbico verdadero. Otro error frecuente es usar condiciones de frontera sin justificar cuál corresponde al problema.
Para pensar
¿Qué pasaría con la oscilación si se interpolaran los mismos datos con un único polinomio de grado alto en lugar de trozos cúbicos?
Tendería a oscilar fuertemente entre los nodos, sobre todo cerca de los extremos (fenómeno de Runge), mientras que un spline cúbico limita ese efecto a cada trozo.
Ejercicios 10
- ¿De qué grado es cada trozo de un spline cúbico?
- ¿Qué clase de continuidad tiene un spline cúbico en los nodos interiores?
- ¿Qué condición de frontera define el spline natural?
- ¿Cuántos trozos cúbicos tiene un spline sobre \(n\) intervalos?
- ¿Qué tipo de sistema lineal aparece al calcular los coeficientes \(c_i\)?
- Un spline natural con \(n=3\) intervalos tiene \(4\cdot3=12\) incógnitas. ¿Cuántas ecuaciones de interpolación y continuidad hay en total, sin contar las de frontera?
- Para el spline natural sobre los datos \((0,0),(1,1),(2,0)\), ¿cuánto vale \(S''(1)\) si se usa la forma \(c_1\) del sistema?
- Un spline sujeto impone \(S'(x_0)=f'(x_0)\). ¿Cuál de estas afirmaciones sobre él es correcta?
- Si \(S\) es un spline cúbico natural con \(S''(x_0)=0\), ¿qué ocurre con \(c_0\) en la representación por trozos?
- Sea \(S\) el spline natural sobre \((0,0),(1,1),(2,8)\). Calcule \(S'(1^-)\) y \(S'(1^+)\) para comprobar la continuidad de \(S'\). ¿Cuál es el valor común de \(S'(1)\)?
Referencias
- Richard L. Burden, J. Douglas Faires, Annette M. Burden, Numerical Analysis, 10th edition, Cengage Learning, 2016.
- Lloyd N. Trefethen, David Bau III, Numerical Linear Algebra, 1st edition, SIAM, 1997.