Problema polyfit y polyval
Publicado por klipya (10 intervenciones) el 13/08/2012 13:14:39
Hola! Tengo un problema con la función polyfit y polyval. Os cuento (no sé si exactamente estoy haciendo lo correcto para resolver este problema). Yo tengo unos valores x e y (se pueden ver en la imagen adjunta de color rojo) y lo que quiero crear es la línea azul (suponiendo que no la tengo). Para ello, he pensado en crear un polinomio que mejor se ajuste a ello.
http://imageshack.us/photo/my-images/6/graphrw.jpg
Lo que he probado, es el siguiente código:
x2=x'; %Lo he cambiado de verticales a horizontales ya que si no, no me funcionaba
coeffs1=polyfit(x2, msensiv_graf,1);
coeffs3=polyfit(x2, msensiv_graf,3);
coeffs5=polyfit(x2, msensiv_graf,5);
coeffs12=polyfit(x2, msensiv_graf,12);
new_y1 = polyval(coeffs1, x2);
new_y3 = polyval(coeffs3, x2);
new_y5 = polyval(coeffs5, x2);
new_y12 = polyval(coeffs12, x2);
plot(x2, msensiv_graf, 'r');
hold on
plot(x2, new_y1, 'r');
plot(x2, new_y3, 'b');
plot(x2, new_y5, 'g');
plot(x2, new_y12, 'y');
Pero me pone el siguiente error:
Warning: Polynomial is badly conditioned. Add points with distinct X values, reduce the degree of the polynomial, or try centering and scaling as described in HELP POLYFIT.
¿Sabe alguien a que puede deberse? He pensado que quizás con interpolación se podría obtener pero no tengo mucha idea...
Muchas gracias de antemano y saludos,
http://imageshack.us/photo/my-images/6/graphrw.jpg
Lo que he probado, es el siguiente código:
x2=x'; %Lo he cambiado de verticales a horizontales ya que si no, no me funcionaba
coeffs1=polyfit(x2, msensiv_graf,1);
coeffs3=polyfit(x2, msensiv_graf,3);
coeffs5=polyfit(x2, msensiv_graf,5);
coeffs12=polyfit(x2, msensiv_graf,12);
new_y1 = polyval(coeffs1, x2);
new_y3 = polyval(coeffs3, x2);
new_y5 = polyval(coeffs5, x2);
new_y12 = polyval(coeffs12, x2);
plot(x2, msensiv_graf, 'r');
hold on
plot(x2, new_y1, 'r');
plot(x2, new_y3, 'b');
plot(x2, new_y5, 'g');
plot(x2, new_y12, 'y');
Pero me pone el siguiente error:
Warning: Polynomial is badly conditioned. Add points with distinct X values, reduce the degree of the polynomial, or try centering and scaling as described in HELP POLYFIT.
¿Sabe alguien a que puede deberse? He pensado que quizás con interpolación se podría obtener pero no tengo mucha idea...
Muchas gracias de antemano y saludos,
Valora esta pregunta


0