Codigo Matlab

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

Codigo Matlab:

Programa matriz: Proyectoiii.m

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

disp('1.- Checar unicamente la distribucion que mejor se ajusta a


los datos');
disp('2.- Elegir manualmente la distribucin');
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 distribucin


case 2
close all

while(true)
%limpiamos variables de memoria y la consola
clear;
clc;

fprintf('Programa Matematicas Aplicadas\n');


fprintf('Alumnos:\nNancy Daz 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.- Distribucion Normal');


disp('2.- Distribucion Exponencial');
disp('3.- Distribucion Lognormal');
disp('4.- Distribucion de Gumbel');
disp('5.- Distribucion de Weibull');
disp('0.- Salir');

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','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');

También podría gustarte