You are on page 1of 5

Ing. Juan Carlos Gonzlez Fraire.

CODIGO DEL SCRPT PARA MATLAB


%Intrucciones%
%1) Copiar los archivos de la carpeta enviada a la carpeta de "MATLAB"
ubicada en documentos.
%2) Abrir el archivo de matlab estadisticos.m%
%3) Abrir el archivo Estadisticos_matlab.xlsx%
%3) Ingresar los datos a analizar en la columna A hoja 1 en el archivo
Estadisticos_matlab.xlsx%
%4) Guardar.%
%5) Regresar al script y seguir las indicaciones.%
%NOTA: TRABAJA PARA MNIMOS Y MXIMOS-----------------EVITAR CEROS%
clc
clear
input('INGRESE EN LA HOJA 1 COLUMNA A LOS DATOS PARA OBTENER
ESTADISTICOS(evitar ceros), PRESIONE ENTER PARA CONTINUAR')
x= xlsread('Estadisticos_matlab.xlsx',1), input(' LA CARGA DE DATOS HA
SIDO EXITOSA, PRESIONE ENTER PARA CONTINUAR');
n=length(x);
fprintf(' \n ');
prom = 'TECLEE 1 SI TUS DATOS SON MNIMOS o 2 SI TUS DATOS SON MXIMOS:
';
op = input(prom)
fprintf('La media por el programa es: %7.5f\n',mean(x))
fprintf('La desviacion estandar es: %7.5f\n',std(x))
fprintf('La varianza es: %7.5f\n',var(x))
fprintf('La kurtosis es: %7.5f\n',kurtosis(x))
pause(2)
fprintf('
\n')
fprintf('La autocorrelacion es: %7.5f\n',autocorr(x))%Grafca la
autocorrelacin%
pause(2)
plot(autocorr(x), 'LineWidth', 2);
hold('on');
plot( [25,-10], [0,0], 'k','color', 'r')
title('COMPORTAMIENTO DE LA AUTOCORRELACIN','color','m');
grid('off');
pause(2)
if op==1
distNorm=fitdist(x,'normal'); %aqui se ingresa la distribucin a usar
%
minmax=sort(x); % ordenamiento de los datos de menor a mayor%
maxmin=flipud(minmax); % ordenamiento de los datos de mayor a menor%
tam=size(x,1); %tamao de la muetsra a analizar%
ord=[1:1:n]'; %matriz que de 1 hasta n que es el orden de la muestra%
tr=(tam+1)./ord; %periodo de retorno%
prob=(1-(1./tr)); %probabilidad%
fprintf('El gasto calculado con la distribucin NORMAL es : \n')
GASTO_NORMAL=icdf(distNorm,prob) %gastos teoricos con la distribucin
%
error1=(maxmin-GASTO_NORMAL).^2; %dierencia de los datos al cuadrado%
sumerror=(sum(error1)/52); % suma de el error entre el tamao de la
muestra%
fprintf('El error medio cuadratico de la distribucin es : \n')

Ing. Juan Carlos Gonzlez Fraire.


emc1=sumerror.^.5 % error medio cuadratico%
fprintf('LOS PARMETROS DE LA DISTRIBUCIN SON : \n')
distNorm
%Distribucion exponencial%
distexp=fitdist(x,'exponential');
fprintf('El gasto calculado con la distribucin EXPONENCIAL es : \n')
GASTO_EXPONENCIAL=icdf(distexp,prob)
error3=(maxmin-GASTO_EXPONENCIAL).^2;
sumerror3=(sum(error3)/tam);
fprintf('El error medio cuadratico de la distribucin es : \n')
emc3=sumerror3.^.5
fprintf('LOS PARMETROS DE LA DISTRIBUCIN SON : \n')
distexp
%Distribucion Gamma%
distgamma=fitdist(x,'gamma');%Distribucin de gamma por MATLAB%
fprintf('El gasto calculado con la distribucin GAMMA es : \n')
GASTO_GAMMA=icdf(distgamma,prob)%Obtencin de la x(gasto)%
error4=(maxmin-GASTO_GAMMA).^2;
sumerror4=(sum(error4)/tam);
fprintf('El error medio cuadratico de la distribucin es : \n')
emc4=sumerror4.^.5
fprintf('LOS PARMETROS DE LA DISTRIBUCIN SON : \n')
distgamma
%Distribucion weibull%
distw=fitdist(x,'weibull'); %Distribucin de weibull por MATLAB%
fprintf('El gasto calculado con la distribucin WEIBULL es : \n')
GASTO_WEIBULL=icdf(distw,prob) %Obtencin de la x(gasto)%
error5=(maxmin-GASTO_WEIBULL).^2;
sumerror5=(sum(error5)/tam);
fprintf('El error medio cuadratico de la distribucin es : \n')
emc5=sumerror5.^.5
fprintf('LOS PARMETROS DE LA DISTRIBUCIN SON : \n')
distw
%Distribucion Gummble%
alfa=1.2825/std(x);
beta=mean(x)+0.45*std(x);%formula para mnimos%
fprintf('El gasto calculado con la distribucin GUMMBLE es : \n')
GASTO_GUMMBLE=beta-(1/alfa)*log(log(tr./(tr-1)))
error6=(maxmin-GASTO_GUMMBLE).^2;
sumerror6=(sum(error6)/tam);
fprintf('El error medio cuadratico de la distribucin es : \n')
emc6=sumerror6.^.5
fprintf('LOS PARMETROS DE LA DISTRIBUCIN SON : \n')
alfa
beta
%GASTOS TEORICOS %
fprintf(' GASTOs TEORICOS \n')
qs=table(tr,GASTO_EXPONENCIAL,GASTO_GUMMBLE,GASTO_GAMMA,GASTO_NORMAL,GAST
O_WEIBULL)

Ing. Juan Carlos Gonzlez Fraire.


pause(2)
% Error medio cuadratico de las Distribuciones%
fprintf('ERROR MEDIO CUADRATICO DE LAS DISTRIBUCIONES:\n')
fprintf('EMC DE D. NORMAL ES: %7.5f\n',emc1)
fprintf('EMC DE D. EXPONENCIAL ES: %7.5f\n',emc3)
fprintf('EMC DE D. GAMMA ES: %7.5f\n',emc4)
fprintf('EMC DE D. WEIBULL ES: %7.5f\n',emc5)
fprintf('EMC DE D. GUMMBLE ES: %7.5f\n',emc6)
fprintf('
\n')
% Error medio cuadratico de las Distribuciones%
emci=[emc1 emc3 emc4 emc5 emc6]';
fprintf('EL ERROR MEDIO CUADRATICO IDEAL ES: %7.5f\n',min(emci))

if [emc1<emc3 emc1<emc4 emc1<emc5 emc1<emc6]


fprintf('LA DISTRIBUCIN NORMAL ES LA IDEAL PARA ESTOS DATOS\n')
elseif [emc3<emc1 emc3<emc4 emc3<emc5 emc3<emc6]
fprintf('LA DISTRIBUCIN EXPONENCIAL ES LA IDEAL PARA ESTOS
DATOS\n')
elseif [emc4<emc1 emc4<emc3 emc4<emc5 emc4<emc6]
fprintf('LA DISTRIBUCIN GAMMA ES LA IDEAL PARA ESTOS DATOS\n')
elseif [emc5<emc1 emc5<emc3 emc5<emc4 emc5<emc6]
fprintf('LA DISTRIBUCIN WEIBULL ES LA IDEAL PARA ESTOS DATOS\n')
elseif [emc6<emc1 emc6<emc3 emc6<emc4 emc6<emc5]
fprintf('LA DISTRIBUCIN GUMMBLE ES LA IDEAL PARA ESTOS DATOS\n')
end
elseif op==2
distNorm=fitdist(x,'normal'); %aqui se ingresa la distribucin a usar
%
minmax=sort(x); % ordenamiento de los datos de menor a mayor%
maxmin=flipud(minmax); % ordenamiento de los datos de mayor a menor%
tam=size(x,1); %tamao de la muetsra a analizar%
ord=[1:1:n]'; %matriz que de 1 hasta n que es el orden de la muestra%
tr=(tam+1)./ord; %periodo de retorno%
prob=(1-(1./tr)); %probabilidad%
fprintf('El gasto calculado con la distribucin NORMAL es : \n')
GASTO_NORMAL=icdf(distNorm,prob) %gastos teoricos con la distribucin
%
error1=(maxmin-GASTO_NORMAL).^2; %dierencia de los datos al cuadrado%
sumerror=(sum(error1)/52); % suma de el error entre el tamao de la
muestra%
fprintf('El error medio cuadratico de la distribucin es : \n')
emc1=sumerror.^.5 % error medio cuadratico%
fprintf('LOS PARMETROS DE LA DISTRIBUCIN SON : \n')
distNorm
%Distribucion lognormal%
distlogNorm=fitdist(x,'lognormal');
fprintf('El gasto calculado con la distribucin LOGNORMAL es : \n')
GASTO_LogNormal=icdf(distlogNorm,prob)
error2=(maxmin-GASTO_LogNormal).^2;
sumerror2=(sum(error2)/tam);
fprintf('El error medio cuadratico de la distribucin es : \n')
emc2=sumerror2.^.5

Ing. Juan Carlos Gonzlez Fraire.


fprintf('LOS PARMETROS DE LA DISTRIBUCIN SON : \n')
distlogNorm
%Distribucion exponencial%
distexp=fitdist(x,'exponential');
fprintf('El gasto calculado con la distribucin EXPONENCIAL es : \n')
GASTO_EXPONENCIAL=icdf(distexp,prob)
error3=(maxmin-GASTO_EXPONENCIAL).^2;
sumerror3=(sum(error3)/tam);
fprintf('El error medio cuadratico de la distribucin es : \n')
emc3=sumerror3.^.5
fprintf('LOS PARMETROS DE LA DISTRIBUCIN SON : \n')
distexp
%Distribucion Gamma%
distgamma=fitdist(x,'gamma');
fprintf('El gasto calculado con la distribucin GAMMA es : \n')
GASTO_GAMMA=icdf(distgamma,prob)
error4=(maxmin-GASTO_GAMMA).^2;
sumerror4=(sum(error4)/tam);
fprintf('El error medio cuadratico de la distribucin es : \n')
emc4=sumerror4.^.5
fprintf('LOS PARMETROS DE LA DISTRIBUCIN SON : \n')
distgamma
%Distribucion Gummble%
alfa=1.2825/std(x);
beta=mean(x)-0.45*std(x);%formula para mximos%
fprintf('El gasto calculado con la distribucin GUMMBLE es : \n')
GASTO_GUMMBLE=beta-(1/alfa)*log(log(tr./(tr-1)))
error6=(maxmin-GASTO_GUMMBLE).^2;
sumerror6=(sum(error6)/tam);
fprintf('El error medio cuadratico de la distribucin es : \n')
emc6=sumerror6.^.5
fprintf('LOS PARMETROS DE LA DISTRIBUCIN SON : \n')
alfa
beta
%GASTOS TEORICOS %
fprintf(' GASTOs TEORICOS \n')
qs=table(tr,GASTO_EXPONENCIAL,GASTO_GUMMBLE,GASTO_GAMMA,GASTO_NORMAL,GAST
O_LogNormal)
pause(2)
% Error medio cuadratico de las Distribuciones%
fprintf('ERROR MEDIO CUADRATICO DE LAS DISTRIBUCIONES:\n')
fprintf('EMC DE D. NORMAL ES: %7.5f\n',emc1)
fprintf('EMC DE D. Log NORMAL ES: %7.5f\n',emc2)
fprintf('EMC DE D. EXPONENCIAL ES: %7.5f\n',emc3)
fprintf('EMC DE D. GAMMA ES: %7.5f\n',emc4)
fprintf('EMC DE D. GUMMBLE ES: %7.5f\n',emc6)
fprintf('
\n')
% Error medio cuadratico de las Distribuciones%
emci=[emc1 emc2 emc3 emc4 emc6]';

Ing. Juan Carlos Gonzlez Fraire.


fprintf('EL ERROR MEDIO CUADRATICO IDEAL ES: %7.5f\n',min(emci))
if [emc1<emc2 emc1<emc3 emc1<emc4 emc1<emc6]
fprintf('LA DISTRIBUCIN NORMAL ES LA IDEAL PARA ESTOS DATOS\n')
elseif [emc2<emc1 emc2<emc3 emc2<emc4 emc2<emc6]
fprintf('LA DISTRIBUCIN LogNormal ES LA IDEAL PARA ESTOS
DATOS\n')
elseif [emc3<emc1 emc3<emc2 emc3<emc4 emc3<emc6]
fprintf('LA DISTRIBUCIN EXPONENCIAL ES LA IDEAL PARA ESTOS
DATOS\n')
elseif [emc4<emc1 emc4<emc2 emc4<emc3 emc4<emc6]
fprintf('LA DISTRIBUCIN GAMMA ES LA IDEAL PARA ESTOS DATOS\n')
elseif [emc6<emc1 emc6<emc2 emc6<emc3 emc6<emc4]
fprintf('LA DISTRIBUCIN GUMMBEL ES LA IDEAL PARA ESTOS DATOS\n')
end
end

You might also like