jueves, 13 de marzo de 2014

obtencion de Datos por Interpolacion Usando Matlab

En ingeniería y algunas ciencias es frecuente disponer de un cierto número de puntos obtenidos por muestreo o a partir de un experimento y pretender construir una función que los ajuste.
Por lo que recurrimos a la interpolación que consistes en  la obtención de nuevos puntos partiendo del conocimiento de un conjunto discreto de puntos.
Para eso disponemos de suficiente conocimiento matemático, adquirido durante el tiempo que estamos en la universidad, un que en la práctica se recure siempre a software para resolver este tipo de problemas y más cuando los datos son demasiado extensos.


Problema Tipo
Supongamos que tenemos una serie de Datos de una mezcla de Benceno y Tolueno representado x,y  respectivamente, obtener la concentración correspondiente en x=0.45.

 
>> x= 0:0.1:1.0;
>> y = [0.0 0.211 0.378 0.512 0.623 0.714 0.791 0.856 0.911 0.959 1.00];
>> interp1(x,y,0.45,'lineal')

ans =

    0.6685

>> interp1(x,y,0.45,'cubic')

ans =

    0.6706

>> interp1(x,y,0.45,'spline')%spline cubicos

ans =

    0.6706

>> interp1(x,y,0.45,'nearest')%usando no finito de vecinos proximos(nearest neighbort)

ans =

    0.7140
una pequeña comparacion de los tipos de interpolacion.

%Comparadon métodos de interpolacion
x= 0:0.1:.8;
y = [0 10 5 20 10 30 15 40 20];
x_val = 0:0.01:.8;
y_val1 = interp1(x,y,x_val,'linear');
y_val2 = interp1(x,y,x_val,'spline');
y_val3 = interp1(x,y,x_val,'cubic');
plot(x_val,y_val1,'--',x_val,y_val2,'.',x_val,y_val3,x,y,'o');
title('Comparacion de diferentes tipos de interpolacion');
grid

No hay comentarios:

Publicar un comentario