Codigo Matlab

Codigo Matlab: Programa matriz: Proyectoiii.m close all while(true) %limpiamos variables de memoria y la consola clear;

Views 78 Downloads 6 File size 331KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Codigo Matlab: Programa matriz: Proyectoiii.m close all while(true) %limpiamos variables de memoria y la consola clear; clc; fprintf('UNIVERSIDAD NACIONAL AUTONOMA DE MÉXICO\n'); fprintf('Instituto de Ingeniería\n'); fprintf('Programa de Doctorado y Maestría en ingenieía\n'); fprintf('Programa de Matematicas Aplicadas: Ajuste de Datos a una distribucion normal\n'); fprintf('Alumnos:\nNancy Díaz Rodríguez\nHéctor Miguel Hernández Solís\nFernando Elias Henández Hernández\nNina Casas Guzik\nEmmanuel Zamora Romero\n\n\n');

%desplegamos menu disp('1.- Checar unicamente la distribucion que mejor se ajusta a los datos'); disp('2.- Elegir manualmente la distribución'); disp('0.- Salir'); opc=input('Elijé alguna opcion:'); %evaluamos la opcion switch (opc) %Distribucion de mayor ajuste case 1 fprintf('Programa de Matematicas Aplicadas: Ajuste de Datos a una distribucion normal\n'); %datos x=xlsread('Datos.xlsx','Hoja1','A3:A90')' v=xlsread('Datos.xlsx','Hoja1','B3:B90')' v=sort(v) N=length(x) vs=std(v,1) m=mean(v) c=round(1+3.222*log(N)) for i=1:1:N s(i)=i/(N+1); end z1=icdf('normal',s,m,vs) z2=icdf('exponential',s,m,vs) z3=icdf('lognormal',s,m,vs) z4=icdf('extreme value',s,m,vs) z5=icdf('weibull',s,m,vs)

cor1=corr2(v,z1) cor2=corr2(v,z2) cor3=corr2(v,z3) cor4=corr2(v,z4) cor5=corr2(v,z5) vcor=[cor1,cor2,cor3,cor4,cor5] xlswrite('Datos.xlsx',vcor,'Resultados','A1') M=max(vcor) pause(5) if M==cor1 DIST_normal elseif M==cor2 DIST_exponencial elseif M==cor3 DIST_lognormal elseif M==cor4 DIST_gumbel else cor5 DIST_weilbull end %Elegir manualmente la distribución case 2 close all while(true) %limpiamos variables de memoria y la consola clear; clc; fprintf('Programa Matematicas Aplicadas\n'); fprintf('Alumnos:\nNancy Díaz Rodriguez\nHector Miguel Hernandez Solis\nFernando\n\n\n'); %datos x=xlsread('Datos.xlsx','Hoja1','A3:A90')'; v=xlsread('Datos.xlsx','Hoja1','B3:B90')'; v=sort(v); N=length(x); vs=std(v,1); m=mean(v); c=round(1+3.222*log(N));

%desplegamos menu disp('1.disp('2.disp('3.disp('4.disp('5.disp('0.-

Distribucion Distribucion Distribucion Distribucion Distribucion Salir');

Normal'); Exponencial'); Lognormal'); de Gumbel'); de Weibull');

opc=input('Elijé alguna opcion:'); %evaluamos la opcion switch (opc) %Distribucion normal case 1 DIST_normal %Distribucion exponencial case 2 DIST_exponencial %Distribucion lognormal case 3 DIST_lognormal %Distribucion gumbel case 4 DIST_gumbel %Distribucion weilbull case 5 DIST_weilbull case 0 %rompemos el bucle disp('Bye!!!... =) ') break; otherwise disp('Elija una opcion correcta'); pause(2) end end case 0 %rompemos el bucle disp('Bye!!!... =) ') break; exit otherwise disp('Elija una opcion correcta'); pause(2) end end

Codigo Matlab: Subrutina: Dist_normal.m %Distribucion normal set(gcf,'name','Distribución Normal') subplot(2,2,1); plot(pdf('normal',v,m,vs)); title('Funcion de Densidad de Probabilidad'); subplot(2,2,2); plot(cdf('normal',v,m,vs)); title('Funcion de Distribución Acumulada'); subplot(2,2,3); probplot('normal',[x,v]); title('Papel de Probabilidad'); subplot(2,2,4); hist(v,c); title('Histograma');

Codigo Matlab: Subrutina: Dist_exponencial.m %Distribucion exponencial set(gcf,'name','Distribución Exponencial') for i=1:1:N if v(i)