Tecnología

Inicio

El Código de interpolación en MATLAB

MATLAB es un programa de software matemático sofisticado que puede llevar a cabo la aritmética, cálculo y cientos de otras aplicaciones matemáticas - incluyendo la interpolación lineal, o el arte de calcular un valor indirectamente sobre la base de otros datos. Si una tabla sólo te dice que el aire de 40 grados tiene una presión de 70 unidades y del aire de 50 grados tiene una presión de 92 unidades, la interpolación es cómo encontrar la presión del aire a 44 grados.

El Método Directo

El método de interpolación directa implica varios pasos de cálculo. Usando el ejemplo de la introducción:
"Dt = 50-40" es el rango de temperaturas de la tabla.
"Dp = 92 - 70" es el rango de presiones de la tabla.
"Dt1 = (44-40) / dt" es la fracción hasta el rango de temperaturas para la temperatura en cuestión.
"La respuesta = DT1 * dp + 70" es la misma fracción a lo largo del rango de presión añadido a la presión más baja en la tabla; y es la respuesta. En este ejemplo, es 78,8 unidades de presión.

MATLAB interpolación lineal

MATLAB incluye una función que puede cumplir todos los cuatro cálculos de la sección anterior de forma simultánea. Es la función "interp1" y hará que sus cálculos simples. Usando el ejemplo de antes, proporciona la función de interp1 el rango de presión, la temperatura y la temperatura en cuestión y se le dará la respuesta de presión en un solo paso. Escriba el código en el indicador del MATLAB:

respuesta = interp1 ([40 50], [70 92], 44)

MATLAB responderá con "respuesta = 78.8000", que coincide con el resultado del apartado anterior.

Vecino más cercano interpolación

interp1 función de MATLAB ofrece varios métodos para realizar la interpolación. Lineal es el método por defecto. Sin embargo, supongamos que en lugar de sólo los números 40 y 50, que tenía valores de temperatura para todos los enteros entre 40 y 50. Supongamos también que usted tiene valores de presión de sólo enteros correspondientes para cada valor de temperatura en su mesa. Si se utiliza el método de "vecino más cercano", MATLAB no le dará un valor exacto - en su lugar se da la respuesta más cercana en la tabla. Código en el siguiente formato logra esto:

respuesta = interp1 ([valores temp], [valores de presión], 43,4, 'cercano')

La interpolación spline cúbica

spline cúbico es otro método de interpolación de la función interp1 o la interpolación independiente función "spline" pueden llevar a cabo. En lugar de dar un valor único para el tercer argumento de la función, le dan un rango de valores dentro de la primera gama de temperaturas (en la tabla). La función spline devolverá un rango correspondiente dentro del segundo intervalo de presiones (en la tabla). Puede utilizar el código en el siguiente formato para extraer el rango de presiones que corresponden a una sub-rango de temperaturas:

spline respuesta = ([rango temp], [intervalo de presión], [temp sub-rango])