% Conjunto de datos x=[1:10]; y=[5.1,7,8.9,11.1,13.2,14.8,17,18.9,21.1,23.1]; % Grafico de los datos plot(x,y,'r*') hold on % Calculo de la recta de regresion p=polyfit(x,y,1) % Calculo del error errorc=norm(y-polyval(p,x)) % Grafica de la recta de regresion xp=[1:0.01:10]; yp=polyval(p,xp); plot(xp,yp) xlabel('Tiempo(meses)'),ylabel('Poblaciļon(miles)') hold off % % Las siguientes instrucciones deben estar en un fichero aparte % ##################### Inicio del fichero #################### function [a,b]=rectareg(x,y) M=[length(x),sum(x);sum(x),sum(x.^2)]; u=[sum(y);sum(x.*y)]; sol=M\u; a=sol(1); b=sol(2); % ##################### fin del fichero #################### % Ejemplo112.m % Conjunto de datos x=[1:10]; y=[5.1, 7, 8.9, 11.1, 13.2, 14.8, 17, 18.9, 21.1, 23.1]; % Grafico de los datos plot(x,y,'r*') hold on % Calculo de la recta de regresion [a,b]=rectareg(x,y) % Calculo del error errorc=norm(y-(a+b*x)) % Grafica de la recta de regresion xp=[1:0.01:10]; yp=a+b*xp; plot(xp,yp) xlabel('Tiempo(meses)'),ylabel('Poblaciļon(miles)') hold off % % Ejemplo113.m % Conjunto de datos aproximadamente alineados x=[1:20]; y=2+3*x+4*rand(1,20); [p,ex]=polyfit(x,y,1) % Calculo del error errorc=norm(y-polyval(p,x)) % Grafica de la recta de regresion xp=[1:0.01:20]; [yp,dx]=polyval(p,xp,ex); plot(x,y,'*',xp,yp,'-',xp,yp+2*dx,'r:',xp,yp-2*dx,'r:') grid on % % Las siguientes instrucciones deben estar en un fichero aparte % ##################### Inicio del fichero #################### function [a,b]=aproxexp(x,y) Y=log(y); M=[length(x), sum(x); sum(x), sum(x.^2)]; u=[sum(Y); sum(x.*Y)]; sol=M\u; a=exp(sol(1)); b=sol(2); % ##################### fin del fichero #################### % Ejemplo 121.m % Conjunto de datos x=[0:5]; y=[102.9, 75.8, 56.1, 42.2, 31.1, 23.6]; % Grafico de los datos plot(x,y,'r*') hold on % Calculo de la exponencial [a,b]=aproxexp(x,y) % Calculo del error errorc=norm(y-a*exp(b*x)) % Grafica de la exponencial xp=[0:0.01:5]; yp=a*exp(b*xp); plot(xp,yp) xlabel('Tiempo(horas)'),ylabel('Cantidad(mg)') hold off % % Ejercicio 122 p=polyfit(x,log(y),1) b=p(1);a=exp(p(2)) errorc=norm(y-a*exp(b*x)) % % Ejercicio 123 x=(1:10); y=[3.5 3.6 4.1 4.5 5.1 5.5 6.1 6.6 7.4 8.2]; [p,ex]=polyfit(x,log(y),1) %b=p(1);a=exp(p(2)) %errorc=norm(y-a*exp(b*x)) errorc=norm(y-exp(polyval(p,x))) xp=linspace(1,10); %yp=a*exp(b*xp); [yp,dx]=polyval(p,xp,ex); yp=exp(yp);dx=exp(dx); plot(x,y,'*',xp,yp,'-',xp,yp+2*dx,'r:',xp,yp-2*dx,'r:') grid on