En el campo matemático del análisis numérico, la interpolación cúbica monótona es una variante del interpolador cúbico de Hermite que preserva la monotonicidad del conjunto de datos que se está interpolando.
[1] La interpolación lineal preserva la monotonicidad (es decir, que la altura de la serie de puntos y de la curva sea siempre ascendente o descendente, sin cambios en el signo de la pendiente), pero la interpolación cúbica no la garantiza.
La interpolación monótona se puede lograr usando el interpolador cúbico de Hermite con las tangentes
{\displaystyle m_{i}}
modificadas para garantizar la monotonicidad del spline de Hermite resultante.
También está disponible un algoritmo para la interpolación monótona quíntica de Hermite.
Hay varias formas de seleccionar tangentes de interpolación para cada punto del conjunto de datos.
Esta sección describirá el uso del método de Fritsch-Carlson.
[2] Téngase en cuenta que solo se requiere una pasada del algoritmo.
Considérese que los puntos del conjunto de datos
{\displaystyle (x_{k},y_{k})}
se indexen en orden para
k = 1 ,
k
x
{\displaystyle m_{1}=\delta _{1}\quad {\text{ y }}\quad m_{n}=\delta _{n-1}\,}
{\displaystyle \alpha _{k}=m_{k}/\delta _{k}\quad {\text{ y }}\quad \beta _{k}=m_{k+1}/\delta _{k}}
ϕ
{\displaystyle m_{k}=\tau _{k}\,\alpha _{k}\,\delta _{k}\quad {\text{ y }}\quad m_{k+1}=\tau _{k}\,\beta _{k}\,\delta _{k}\,}
Después del preprocesamiento anterior, la evaluación del spline interpolado es equivalente a la del interpolador cúbico de Hermite, utilizando los datos
x
x
{\displaystyle x}
, buscar el índice
x
{\displaystyle x}
se encuentra entre
Calcular entonces, el valor interpolado es donde
son las funciones básicas para el interpolador cúbico de Hermite.
El siguiente código en JavaScript toma un conjunto de datos y produce una función de interpolación monótona mediante un spline cúbico: