stringtranslate.com

Interpolación de splines

En el campo matemático del análisis numérico , la interpolación spline es una forma de interpolación donde el interpolante es un tipo especial de polinomio por partes llamado spline . Es decir, en lugar de ajustar un solo polinomio de alto grado a todos los valores a la vez, la interpolación spline ajusta polinomios de bajo grado a pequeños subconjuntos de los valores, por ejemplo, ajustando nueve polinomios cúbicos entre cada uno de los pares de diez puntos, en lugar de ajustar un solo polinomio de grado nueve a todos ellos. La interpolación spline a menudo se prefiere a la interpolación polinómica porque el error de interpolación se puede hacer pequeño incluso cuando se utilizan polinomios de bajo grado para la spline. [1] La interpolación spline también evita el problema del fenómeno de Runge , en el que puede ocurrir una oscilación entre puntos cuando se interpola utilizando polinomios de alto grado.

Introducción

Interpolación con splines cúbicos entre ocho puntos. Los dibujos técnicos hechos a mano para la construcción naval son un ejemplo histórico de interpolación de splines; los dibujos se construían utilizando reglas flexibles que se doblaban para seguir puntos predefinidos.

En un principio, spline era un término que designaba a las reglas elásticas que se doblaban para pasar por una serie de puntos predefinidos, o nudos . Se utilizaban para hacer dibujos técnicos para la construcción y construcción naval a mano, como se ilustra en la figura.

Queremos modelar tipos similares de curvas utilizando un conjunto de ecuaciones matemáticas. Supongamos que tenemos una secuencia de nudos, a través de . Habrá un polinomio cúbico entre cada par sucesivo de nudos y que se conecta a ambos, donde . Por lo tanto, habrá polinomios, con el primer polinomio comenzando en , y el último polinomio terminando en .

La curvatura de cualquier curva se define como

donde y son las derivadas primera y segunda de con respecto a . Para hacer que la spline adopte una forma que minimice la flexión (bajo la restricción de pasar por todos los nudos), definiremos que y sean continuos en todas partes, incluidos los nudos. Cada polinomio sucesivo debe tener valores iguales (que son iguales al valor y del punto de datos correspondiente), derivadas y segundas derivadas en sus nudos de unión, es decir que

Esto solo se puede lograr si se utilizan polinomios de grado 3 (polinomios cúbicos) o superior. El enfoque clásico es utilizar polinomios de exactamente grado 3 ( splines cúbicos ).

Además de las tres condiciones anteriores, un ' spline cúbico natural ' tiene la condición de que .

Además de las tres condiciones principales anteriores, un ' spline cúbico fijado ' tiene las condiciones de que y donde es la derivada de la función interpolada.

Además de las tres condiciones principales anteriores, un ' spline sin nudo ' tiene las condiciones de que y . [2]

Algoritmo para encontrar el spline cúbico interpolador

Queremos encontrar cada polinomio dados los puntos que pasan por . Para ello, consideraremos solo una única parte de la curva, , que interpolará de a . Esta parte tendrá pendientes y en sus puntos finales. O, más precisamente,

La ecuación completa se puede escribir en forma simétrica

dónde

Pero ¿qué son y ? Para derivar estos valores críticos, debemos considerar que

De lo cual se deduce que

Fijando t = 0 y t = 1 respectivamente en las ecuaciones ( 5 ) y ( 6 ), se obtiene de ( 2 ) que efectivamente las primeras derivadas q′ ( x 1 ) = k 1 y q′ ( x 2 ) = k 2 , y también las segundas derivadas

Si ahora ( x i , y i ), i = 0, 1, ..., n son n + 1 puntos, y

donde i = 1, 2, ..., n , y son n polinomios de tercer grado que interpolan y en el intervalo x i −1xx i para i = 1, ..., n tales que q′ i ( x i ) = q′ i +1 ( x i ) para i = 1, ..., n  − 1, entonces los n polinomios juntos definen una función diferenciable en el intervalo x 0xx n , y

para i = 1, ..., n , donde

Si la secuencia k 0 , k 1 , ..., k n es tal que, además, q′′ i ( x i ) = q′′ i +1 ( x i ) se cumple para i = 1, ..., n  − 1, entonces la función resultante tendrá incluso una segunda derivada continua.

De ( 7 ), ( 8 ), ( 10 ) y ( 11 ) se deduce que este es el caso si y sólo si

para i = 1, ..., n  − 1. Las relaciones ( 15 ) son n − 1 ecuaciones lineales para los n + 1 valores k 0 , k 1 , ..., k n .

Para las reglas elásticas que son el modelo para la interpolación de splines, se tiene que a la izquierda del "nudo" más a la izquierda y a la derecha del "nudo" más a la derecha la regla se puede mover libremente y, por lo tanto, tomará la forma de una línea recta con q′′ = 0. Como q′′ debe ser una función continua de x , los "splines naturales" además de las n − 1 ecuaciones lineales ( 15 ) deben tener

es decir que

Finalmente, ( 15 ) junto con ( 16 ) y ( 17 ) constituyen n + 1 ecuaciones lineales que definen de forma única los n + 1 parámetros k 0 , k 1 , ..., k n .

Existen otras condiciones finales, la "spline fija", que especifica la pendiente en los extremos de la spline, y la popular "spline sin nudos", que requiere que la tercera derivada también sea continua en los puntos x 1 y x n −1 . Para la spline sin nudos, las ecuaciones adicionales se leerán así:

dónde .

Ejemplo

Interpolación con splines cúbicos "naturales" entre tres puntos

En el caso de tres puntos, los valores para se encuentran resolviendo el sistema de ecuaciones lineales tridiagonales.

con

Por los tres puntos

Uno consigue eso

y de ( 10 ) y ( 11 ) que

En la figura, se muestra la función spline que consta de dos polinomios cúbicos y está dada por ( 9 ).

Véase también

Referencias

  1. ^ Hall, Charles A.; Meyer, Weston W. (1976). "Límites de error óptimos para la interpolación de spline cúbico". Journal of Approximation Theory . 16 (2): 105–122. doi : 10.1016/0021-9045(76)90040-X .
  2. ^ Burden, Richard; Faires, Douglas (2015). Análisis numérico (10.ª ed.). Cengage Learning. págs. 142–157. ISBN 9781305253667.

Lectura adicional

Enlaces externos