Codigo Matlab
Codigo Matlab
Codigo Matlab
close all
while(true)
%limpiamos variables de memoria y la consola
clear;
clc;
fprintf('UNIVERSIDAD NACIONAL AUTONOMA DE MXICO\n');
fprintf('Instituto de Ingeniera\n');
fprintf('Programa de Doctorado y Maestra en ingeniea\n');
fprintf('Programa de Matematicas Aplicadas: Ajuste de Datos a una
distribucion normal\n');
fprintf('Alumnos:\nNancy Daz Rodrguez\nHctor Miguel Hernndez
Sols\nFernando Elias Henndez Hernndez\nNina Casas Guzik\nEmmanuel
Zamora Romero\n\n\n');
%desplegamos menu
%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
while(true)
%limpiamos variables de memoria y la consola
clear;
clc;
%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
%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
case 0
%rompemos el bucle
disp('Bye!!!... =) ')
break;
exit
otherwise
%Distribucion normal
set(gcf,'name','Distribucin 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 Distribucin 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','Distribucin Exponencial')
for i=1:1:N
if v(i)<0
v(i)=0.00000000000000000001
else
v(i)=v(i)
end
end
subplot(2,2,1);
plot(pdf('exponential',v,m,vs));
title('Funcion de Densidad de Probabilidad');
subplot(2,2,2);
plot(cdf('exponential',v,m,vs));
title('Funcion de Distribucin Acumulada');
subplot(2,2,3);
probplot('exponential',[x,v]);
title('Papel de Probabilidad');
subplot(2,2,4);
hist(v,c);
title('Histograma');
Codigo Matlab:
Subrutina: Dist_lognormal.m
%Distribucion lognormal
set(gcf,'name','Distribucin Lognormal')
subplot(2,2,1);
plot(pdf('lognormal',v,m,vs));
title('Funcion de Densidad de Probabilidad');
subplot(2,2,2);
plot(cdf('lognormal',v,m,vs));
title('Funcion de Distribucin Acumulada');
subplot(2,2,3);
probplot('lognormal',[x,v]);
title('Papel de Probabilidad');
subplot(2,2,4);
hist(v,c);
title('Histograma');
Codigo Matlab:
Subrutina: Dist_gumbel.m
%Distribucion gumbel
set(gcf,'name','Distribucin Gumbel')
subplot(2,2,1);
plot(pdf('extreme value',v,m,vs));
title('Funcion de Densidad de Probabilidad');
subplot(2,2,2);
plot(cdf('extreme value',v,m,vs));
title('Funcion de Distribucin Acumulada');
subplot(2,2,3);
probplot('extreme value',[x,v]);
title('Papel de Probabilidad');
subplot(2,2,4);
hist(v,c);
title('Histograma');
Codigo Matlab:
Subrutina: Dist_weilbull.m
%Distribucion weilbull
set(gcf,'name','Distribucin Weibull')
subplot(2,2,1);
plot(pdf('weibull',v,m,vs));
title('Funcion de Densidad de Probabilidad');
subplot(2,2,2);
plot(cdf('weibull',v,m,vs));
title('Funcion de Distribucin Acumulada');
subplot(2,2,3);
probplot('weibull',[x,v]);
title('Papel de Probabilidad');
subplot(2,2,4);
hist(v,c);
title('Histograma');