Regresin Polinomial
Ejercicio 1.
Ejemplo 17.5 Chapra 5 ed. Pg. 484.
Planteamiento del problema. Ajustar a un polinomio de segundo grado los datos
dados en las siguientes columnas de la tabla 1.
xi
0
1
2
3
4
5
yi
2.1
7.7
13.6
27.2
40.9
61.1
Tabla 1. Datos del problema
Cdigo para la resolucin del problema:
%x=[0 1 2 3 4 5];
x=input('Introduce los valores de "x" en un vector:');
%y=[2.1 7.7 13.6 27.2 40.9 61.1];
y=input('Introduce los valores de "y" en un vector:');
figure(1)
plot(x,y,'pb');
grid on
hold on
xlabel('X');
ylabel('Y');
m=2;%Grado del polinomio
c=polyfit(x,y,m);
format long
fprintf('La ecuacin cuadrtica por mnimos cuadrados es:\n\n')
fprintf('y = %10.10fx^2 +%10.5fx +%10.5f \n',c(1),c(2),c(3));
figure (2)
ecu=@(s)((c(1)*s^2)+(c(2)*s)+c(3));
fplot(ecu,[0,6])%Lmites del eje "x"
grid on
hold on
plot(x,y,'.r')
Ejemplo del programa en ejecucin:
Figura 1. Ejemplo del programa en ejecucin
Grfica del ajuste del polinomio de segundo grado:
Grfica 1. Parbola de mnimos cuadrados
Ejercicio 2.
Problema 17.15 Chapra 5 ed. Pg. 501.
Ajuste una ecuacin cbica a los datos siguientes:
x
3
4
5
7
8
9
11
12
y
1.6
3.6
4.4
3.4
2.2
2.8
3.8
4.6
Tabla 2. Datos del problema
Cdigo para la resolucin del problema:
clear all
%x=[3 4 5 7 8 9 11 12];
x=input('Introduce los valores de "x" en un vector:');
%y=[1.6 3.6 4.4 3.4 2.2 2.8 3.8 4.6];
y=input('Introduce los valores de "y" en un vector:');
figure(1)
plot(x,y,'pb');
grid on
hold on
xlabel('X');
ylabel('Y');
m=3;%Grado del polinomio
c=polyfit(x,y,m);
format long
fprintf('La ecuacin cuadrtica por mnimos cuadrados es:\n\n')
fprintf('y = %10.10fx^3 +%10.5fx^2 +%10.5fx +%10.5f
\n',c(1),c(2),c(3),c(4));
figure (2)
ecu=@(s)((c(1)*s^3)+(c(2)*s^2)+c(3)*s+c(4));
fplot(ecu,[0,15])%Lmites del eje "x"
grid on
hold on
plot(x,y,'.r')
Ejemplo del programa en ejecucin:
Figura 2. Ejemplo del programa en ejecucin
Grfica del ajuste del polinomio cbico:
Grfica 2. Funcin cbica de mnimos cuadrados
Funcin polyfit: ajuste polinomial de datos
Dado un conjunto de pares de datos (puntos en el plano), representados en
MATLAB mediante dos vectores x e y que almacenan, respectivamente, las
coordenadas x e y de dichos datos, puede realizarse un ajuste polinmico de
grado n (n=1 para una recta, ...) de los mismos sin ms que invocar la funcin
polyfit de la siguiente manera:
coef=polyfit(x, y, n)
que devuelve un vector (en el caso de nuestros programas con el nombre c) en el
que se almacenan los coeficientes (2 en el caso de una recta) en
orden decreciente de grado. As, si se desea ajustar por un polinomio de grado 2
(3 coeficientes, por tanto) un conjunto de datos puede operarse de la siguiente
manera:
x=[.25 .5 .7 .8];
y=[.52 .99 1.3 1.45];
n=2;
c=polyfit(x, y, n);
As, en el vector coef quedan
corresponden al polinomio:
almacenados
los
tres
-0.5985x2+2.3124x-0.0199
almacenados de modo que
-0.5985 c(1)
2.3124 c(2)
-0.0199 c(3)
Bibliografa
Annimo. (14 de Abril de 2015). MathWorks. Obtenido de
http://es.mathworks.com/help/matlab/ref/polyfit.html
coeficientes,
que
Chapra, S. C., & P. Canale, R. (2007). Mtodos numricos para ingenieros.
Mxico, D.F.: McGraw-Hill.
Referencias
Annimo. (14 de Abril de 2015). MathWorks. Obtenido de
http://es.mathworks.com/help/matlab/ref/polyfit.html