##Grafica datos demográficos de USA entre 1790-1910 y realiza una linealización y ajuste exponencial clear all close all clc ##Datos poblacionales de USA 1790-1910 A=[1790 1800 1810 1820 1830 1840 1850 1860 1870 1880 1890 1900 1910]; Pob=[3929214 5308483 7239881 9638453 12866020 17069453 23191876 31443321 38558371 50155783 62947714 75994575 91972266]; ##Gráfica sencilla de los datos figure plot(A,Pob,'s','MarkerEdgeColor','k',... 'MarkerFaceColor','r') grid on; axis('normal') title('Pob EE.UU (1790-1910) vs. Años') xlabel('Años') ylabel('Pob EE.UU') ##Suponiendo un crecimiento exponencial, buscamos linearizar tomando el logaritmo de la poblacion logPob=log(Pob); figure hold on plot(A,logPob,'o','MarkerEdgeColor','k',... 'MarkerFaceColor','b') grid on; axis('normal') title('log Pob EE.UU (1790-1910) vs. Años') xlabel('Años') ylabel('log Pob EE.UU') ##Ajustamos los datos a una recta p = polyfit(A,logPob,1) linA = p(1).*A + p(2) ##Realizamos la grafica semi-logaritmica junto con el ajuste lineal figure hold on plot(A,logPob,'o','MarkerEdgeColor','k',... 'MarkerFaceColor','b') plot(A,linA) grid on; axis('normal') title('Ajuste lineal Gráfico 2') xlabel('Años') ylabel('log Pob EE.UU') ##Diferentes leyendas posibles para este gráfico, descomentamos la que preferamos legend('log Pob EE.UU (1790-1910)','Ajuste lineal','Location','southeast') #legend('log Pob EE.UU (1790-1910)',[mat2str(p(1)), 'x +', mat2str(p(2))],'Location','southeast') #legend('Pob EE.UU (1790-1910)',['Ajuste lineal (a=', mat2str(p(1)), ', b=',mat2str(p(2)), ')'],'Location','southeast') ##Ahora podemos obtener un ajuste exponencial a partir del ajuste lineal r=p(1) N_0=exp(p(2)) exp_fit = N_0*exp(r*A) figure hold on plot(A,Pob,'o','MarkerEdgeColor','k','MarkerFaceColor','k') plot(A,exp_fit) grid on; axis('normal') title('Ajuste Exponencial Gráfico 1') xlabel('Años') ylabel('Pob EE.UU') legend('log Pob EE.UU (1790-1910)','Ajuste exponencial','Location','southeast') %,'Orientation','horizontal') #legend('Pob EE.UU (1790-1910)',[mat2str(N_0), 'exp(', mat2str(r),'t)'],'Location','southeast') %,'Orientation','horizontal') #legend('Pob EE.UU (1790-1910)',['Ajuste exponencial (r=', mat2str(r), ', N_0=',mat2str(N_0), ')'],'Location','northwest') %,'Orientation','horizontal')