Métodos Interpolación con MatLab

Transcripción

Métodos Interpolación con MatLab
Universidad Mayor de San Andrés
Ciencias Puras y Naturales
Informática
Nombre: Rodrigo Diego Quispe Laura
Materia: Análisis Numérico
Métodos Interpolación con MatLab
En matlab encontramos las siguientes funciones para interpolar dat os:
interp1 interpolación de datos unidimensionales.
spline interpolación con el mét odo de spline cúbica
polyfit interpolación con polinomios
El comando “interp1”
El comando interp1 se emplea para interpolar una serie de datos. El formato de este comando es:
yi = interp1(x, y, xi, método)
Donde:
x : abscisa de los puntos a interpolar, expresada como vector fila.
y : ordenada de los puntos a interpolar, expresada como vector fila.
xi : abscisas para construir la función de interpolación, expresada como vector fila. Si es un solo
valor, calculará el valor interpolando con la función declarada en métodos.
método: determina el método de interpolación, entre:
nearest interpolación asignado el valor del vecino más cercano.
linear interpolación lineal (default)
spline interpolación con spline cúbica
pchip interpolación con polinomios de Hermit e
cubic (igual que 'pchip')
v5cubic interpolación Cúbica usada in MA TLAB 5
Para calcular el valor interpolado, se puede proceder así:
Graficando todos los métodos en una sola figura puede servir para su comparación. Ejecute la siguiente
serie de comandos, ya sea a través de la línea de comandos o mediante un arc hivo m.
El comando “spline”
Otra manera de realizar una interpolación de tipo spline, es invocando el comando spline, cuyo
formato se muestra a continuación:
yy = spline (x, y, xx)
Donde:
x : abscisa de los puntos a interpolar, expresada como vector fila.
y : ordenada de los puntos a interpolar, expresada como vector fila.
xx : abscisas para construir la función de interpolación, expresada como vector fila. Si es un
solo valor calculará el valor interpolando.
Ejemplo:
El comando “polyfit”
Calcula los coeficientes de un polinomio de grado “n” que ajustan, mediante mínimos cuadrados, a una
serie de datos. El formato de este comando se res ume, así:
yy = polyfit (x, y, orden)
x : abscisa de los puntos a interpolar, expresada como vector fila.
y : ordenada de los puntos a interpolar, expresada como vector fila.
orden: indica el orden del polinomio que se utilizará en el ajuste.
Además, se usa el comando polyval para calcular el valor de un polinomio para un dado valor de x,
según la forma:
y = polyval ( p , x )
donde: p es el polinomio, ingres ado como vector fila y x es el valor de la incógnita cuya imagen se
desea calcular.
Ejemplo:
Interpolación con splines cúbicos.
MATLAB trae implementada la función spline para la interpolación por splines cúbicos. El comando
yy = spline(x,y,xx)
efectúa la interpolación de la nube de puntos dada por los vectores x, y por medio de splines cúbicos. En
la salida (variable yy) obtenemos los valores del spline evaluado en los puntos dados en el vector xx.
Si y es una matriz, la interpolación se realiza para cada fila de y.
Por ejemplo, el listado
x = 0:10; y = sin(x);
xx = 0:.25:10;
yy = spline(x,y,xx);
plot(x,y,'o',xx,yy)
dibuja una aproximación a la gráfica de la función sen (t) a partir de la int erpolación con splines cúbicos.
Nota: Un resultado análogo se puede obtener con la función interp1: yy = interp1(x,y,xx,'spline'); vea
más detalles en la ayuda del programa.
Por defecto, se usan las condiciones "not-a-knot" (es decir, los nodos interiores extremos son pasivos).
Sin embargo, si el vector y contiene dos valores más que el x, entonces el primer y el último element o
del vector yse usan como valores de la derivada en los nodos extremos, y el spline construido es el
sujeto.
Por ejemplo, el listado
x = 0:10; y = sin(x);
ys=[-1, y, 5]; % Agregamos dos valores
xx = 0:.25:10;
yy = spline(x,ys,xx);
plot(x,y,'o',xx,yy)
dibuja una aproximación a la gráfica de la función sen (t) a partir de la int erpolación con splines cúbicos
sujetos, con pendientes -1 y 5 en los nodos 0 y 10, respectivamente.
Fuentes
http://www.matrixlab-examples.com/lagrange-interpolation.html
http://www.ual.es/~andrei/Practicas/practicaAM3.html

Documentos relacionados