%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