Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Interpolación con Curve Fitting Toolbox

La interpolación es un proceso para estimar valores que quedan entre puntos de datos conocidos.

La interpolación implica crear una función f que coincida con los valores de datos proporcionados yi en los sitios de datos proporcionados xi, donde f(xi) = yi para todo i.

La mayoría de los métodos de interpolación crean la interpolación f como la función única de la fórmula

f(x)=jfj(x)aj,

donde el formato de las funciones fj depende del método de interpolación.

En el caso de las interpolaciones por splines, fj son los n B-splines consecutivos Bj(x) = B(x|tj,...,tj+k), j = 1:n, de orden k para una secuencia de nudos t1t2 ≤ ... ≤ tn + k.

Acerca de los métodos de interpolación

Curve Fitting Toolbox™ admite los métodos de interpolación descritos en la tabla siguiente.

Método

Descripción

Lineal

Interpolación lineal. Este método ajusta un polinomio lineal distinto entre cada par de puntos de datos (en el caso de una curva) o entre conjuntos de tres puntos (en el caso de una superficie).

Vecino más cercano

Interpolación por el vecino más cercano. Este método establece el valor de un punto interpolado como el valor del punto de datos más cercano.

Splines cúbicos

Interpolación por splines cúbicos. Este método ajusta un polinomio cúbico distinto entre cada par de puntos de datos (en el caso de una curva) o entre conjuntos de tres puntos (en el caso de una superficie).

Que conserva la forma (PCHIP)

Interpolación cúbica por tramos de Hermite (PCHIP, por su sigla en inglés). Este método conserva la monotonicidad y la forma de los datos (solo para curvas).

Biarmónica (v. 4)

Método griddata de MATLAB® 4. Este método ajusta superficies que también se extrapolan bien (solo para superficies).

Splines de thin-plate

Interpolación por splines de thin-plate. Este método ajusta superficies suaves que también se extrapolan bien (solo para superficies).

Los ajustes de superficies de interpolación usan la función scatteredInterpolant de MATLAB para los métodos lineal y por el vecino más cercano, y la función griddata de MATLAB para los métodos de splines cúbicos y biarmónico. El método de los splines de thin-plate usa la función tpaps.

El método de interpolación que se debe usar depende de varios factores, como las características de los datos que se desea ajustar, la suavidad requerida para la curva, las consideraciones sobre velocidad y los requisitos de análisis posteriores al ajuste. Los métodos lineal y por el vecino más cercano ajustan los modelos con más eficacia y las curvas resultantes no son muy suaves. Los métodos por splines cúbicos, de conservación de la forma y biarmónico tardan más en ajustar los modelos, pero las curvas resultantes son muy suaves.

Por ejemplo, en la gráfica siguiente se muestra un ajuste de interpolación por el vecino más cercano y un ajuste de interpolación que conserva la forma (PCHIP) para los datos de reacción nuclear del conjunto de datos de muestra carbon12alpha.mat. La interpolación por el vecino más cercano no es tan suave como la interpolación que conserva la forma.

Nota

No se definen valores estadísticos de bondad de ajuste, límites de predicción ni ponderaciones para las interpolaciones. Además, los valores residuales del ajuste son siempre cero (con precisión informática) ya que las interpolaciones pasan por los puntos de datos.

Los ajustes de interpolación biarmónicos consisten en interpolaciones de función de base radial. Todas las demás interpolaciones admitidas por Curve Fitting Toolbox son polinómicas por tramos y consisten en múltiples polinomios definidos entre puntos de datos. En el caso de las interpolaciones PCHIP y por splines cúbicos, cuatro coeficientes describen cada tramo. Curve Fitting Toolbox utiliza un polinomio cúbico (de tercer grado) para calcular los cuatro coeficientes. Para obtener más información, consulte lo siguiente:

  • spline para interpolación por splines cúbicos

  • pchip para interpolación que conserva la forma (PCHIP) y para una comparación de las interporlaciones PCHIP y por splines cúbicos

  • scatteredInterpolant, griddata y tpaps para interpolación de superficie

    Es posible ajustar un único polinomio de interpolación a datos de un grado menor que el número de puntos de datos. Sin embargo, el comportamiento de estos ajustes es impredecible entre los puntos de datos. Los polinomios por tramos con segmentos de orden inferior no divergen de forma significativa del dominio de ajuste de los datos, por lo que son útiles para analizar una gama de conjuntos de datos más amplia.

Seleccionar un ajuste de interpolación

Seleccionar un ajuste de interpolación de forma interactiva

Abra la app Curve Fitter escribiendo curveFitter en la línea de comandos de MATLAB. También puede hacer clic en Curve Fitter dentro del grupo Math, Statistics and Optimization de la pestaña Apps.

En la pestaña Curve Fitter, en la sección Fit Type, seleccione un ajuste Interpolant. La app ajusta una curva o superficie interpolada que pasa por todos los puntos de datos.

En el panel Fit Options, puede especificar el valor de Interpolation method.

Fit Options pane for interpolant fit

Para datos de curva, puede establecer Interpolation method en Linear, Nearest neighbor, Cubic Spline o Shape-preserving (PCHIP). Para datos de superficie, puede establecer Interpolation method en Nearest neighbor, Linear, Cubic Spline, Biharmonic (v4) o Thin-plate spline.

Para superficies, el ajuste Interpolant utiliza la función scatteredInterpolant para los métodos Linear y Nearest neighbor, la función griddata para los métodos Cubic Spline y Biharmonic (v4), y la función tpaps para el método Thin-plate spline. Pruebe el método Thin-plate spline cuando necesite una interpolación de superficies suaves y buenas propiedades de extrapolación.

Sugerencia

Si las variables de datos tienen escalas muy diferentes, marque y desmarque la casilla de verificación Center and scale para ver la diferencia de ajuste. Normalizar los datos de entrada puede influir en los resultados de la interpolación Linear y Cubic Spline por tramos y en los métodos de interpolación de superficie Nearest neighbor.

Ajustar un modelo de interpolación lineal con la función fit

Cargue el conjunto de datos de muestra census.

load census

Las variables pop y cdate contienen datos sobre el tamaño de la población y el año en que se ha realizado el censo, respectivamente.

Puede utilizar la función fit para ajustar los modelos de interpolación descritos en Nombres de modelos de interpolación. En este caso, ajuste un modelo de interpolación lineal utilizando la opción 'linearinterp' y, a continuación, represente el resultado.

f = fit(cdate,pop,'linearinterp');
plot(f,cdate,pop);

Figure contains an axes object. The axes object with xlabel x, ylabel y contains 2 objects of type line. One or more of the lines displays its values using only markers These objects represent data, fitted curve.

Comparar modelos de interpolación lineal

Cargue el conjunto de datos de muestra carbon12alpha. Cree ajustes de interpolación por el vecino más cercano y PCHIP utilizando las opciones 'nearestinterp' y 'pchip'.

load carbon12alpha
f1 = fit(angle,counts,'nearestinterp');
f2 = fit(angle,counts,'pchip');

Compare las curvas ajustadas f1 y f2 representándolas en una misma figura.

p1 = plot(f1,angle,counts);
xlim([min(angle),max(angle)])
hold on

p2 = plot(f2,'b');
hold off
legend([p1;p2],'Counts per Angle','Nearest Neighbor','PCHIP',...
    'Location','northwest')

Figure contains an axes object. The axes object with xlabel x, ylabel y contains 3 objects of type line. One or more of the lines displays its values using only markers These objects represent Counts per Angle, Nearest Neighbor, PCHIP.

Consulte también

Apps

Funciones

Temas relacionados