Está en la página 1de 16

Ajuste de Curvas

En Matlab encontramos las siguientes funciones


para interpolar datos:
Comando “Polyfit” y “Polyval”
Calcula los coeficientes de un polinomio de grado
“n” que ajustan, mediante mínimos cuadrados a
una serie de datos
Ajustar a un polinomio de segundo
grado a los datos dados en la siguiente
tabla
xi yi
0 2.1
1 7.7
2 13.6
3 27.2
4 40.9
5 61.1
x=[0 1 2 3 4 5];
y=[2.1 7.7 13.6 27.2 40.9 61.1];
plot(x,y, 'pb')
grid on
hold on
xlabel('X');
ylabel('Y');
c=polyfit(x,y,2);
xp=linspace(0,5,30);
yp=polyval(c,xp);
hold on
plot(xp,yp)
legend('datos','Ajuste
cuadrático')
Comando “Interp1”
Este comando se emplea para interpolar una
serie de datos
Grafique todos los métodos en una sola
figura, para que pueda efectuar y visualizar
una comparación.
xi yi
1 3
2 5
3 7
4 5
5 6
6 7
7 7
8 5
t=[1 2 3 4 5 6 7 8];
p=[3 5 7 5 6 7 7 5];
x=linspace(1,8,30);

y = interp1 (t, p, x, 'nearest') ;


plot (x, y,'g')
hold on
y = interp1 (t, p, x, 'linear') ;
plot (x, y,'r')
hold on

y = interp1 (t, p, x, 'spline') ;


plot (t, p,'o',x, y)
hold on
y = interp1 (t, p, x, 'pchip') ;
plot (x, y,'b')
hold on

y = interp1 (t, p, x, 'v5cubic') ;


plot (x, y,'m')
hold on
legend('nearest',
'linear','spline','pchip',
'v5cubic')
Comando “Spline”
Otra manera de realizar una interpolación de tipo
spline, es usando el siguiente comando
x=(0:10);
y=sin(x);
xx=(0:0.25:10);
yy=spline(x,y,xx);
plot(x,y,'o',xx,yy)

También podría gustarte