lunes, 25 de octubre de 2010

Cómo ajustar un conjunto de puntos a un polinomio

Pocas cosas son más fáciles que ajustar un conjunto de puntos a un polinomio. Por ejemplo, tenemos la siguiente serie de puntos, que queremos ajustar a un polinomio de orden dos:

x = [1 2 3 4 5];
y = [3.6 7.1 9.1 11.3 12.5];

Para ello, usamos la función "polyfit":

n = 2;
alfa = polyfit(x,y,n)

alfa es un vector de tamaño 3x1, formado por los coeficientes del polinomio:
y = alfa[1]·x2 + alfa[2]·x + alfa[3]

En este caso, alfa vale:

alfa =

   -0.3143    4.0857   -0.0800




Para representar gráficamente el polinomio correspondiente, podemos usar la función "polyval", como muestro a continuación:

x1 = [0:0.1:6];
y1 = polyval(alfa,x1);

figure(1)
hold on
box on
plot(x,y,'or')
plot(x1,y1,'-b')
axis([0 6 0 15])
legend('real','estimado',2)

No hay comentarios: