% APRENDIZAJE AUTOMÁTICO (G. Pajares y J. M. de la Cruz, Eds.)
% Editorial: RA-MA
% Capítulo 5: Máquinas de Vectores Soporte
% Autores: Jesús Antonio Vega Sánchez y Sebastián Dormido Canto

function resultado=experimento(estado)

%Inicializa mismo comienzo de rand
rand('state',estado);

%Iniciar
clc;
disp('Estadística de Procesamiento y Resultado');
disp('----------------------------------------');

%Obtiene Caracterización Wavelet
lnivel=get(findobj('Tag','PopupMenuNivel'),'String');
inivel=get(findobj('Tag','PopupMenuNivel'),'Value');
nivel=lnivel(inivel,:);
lwavelet=get(findobj('Tag','PopupMenuWavelet'),'String');
iwavelet=get(findobj('Tag','PopupMenuWavelet'),'Value');
wavelet=lwavelet(iwavelet,:);
opcion=get(findobj('Tag','RadioButtonA'),'UserData');

disp(' ');
disp('Caracteristica de Wavelet Usada');
disp('...............................');
disp(['Nombre		:',wavelet]);
disp(['Nivel	   :',nivel]);
disp(['Coeficiente:',opcion]);

%Recalcular una vez Wavelets
set(findobj('Tag','StaticTextW'),'UserData','T');

disp(' ');
disp('Resultados');
disp('..........');

%Generar Para Calcular tpcw
genera;

%Obtiene Tiempo Promedio Calculo Wavelet
tpcw=str2num(get(findobj('Tag','StaticTextTiempo'),'String'));

tpt=[];
exitot=[];
for exp=1:20
   
   disp(['Experimento:',num2str(exp)]);
   
   %Entrenar
   entrenasvm
   
   %clasificar 
   clasificasvm
   
   %Obtiene Tiempo Promedio de Clasificación
	tpc=str2num(get(findobj('Tag','StaticTextTiempo'),'String'));
   
   %Obtiene Tasa de Exito
   exito=get(findobj('Tag','StaticTextExito'),'String');
   exito=exito(1:end-1);
   exitot=[exitot;str2num(exito)];
   
   %tiempo de procesamiento total
   tpt=[tpt;(tpc+tpcw)];
   
   %generar sin considerar tiempo de particion de conjuntos de entrenamiento y test
   genera;
   
end;
tpt
exitot

disp(['Tiempo de Procesamiento Promedio:',num2str(mean(tpt))]);
disp(['Tasa de Exito Promedio          :',num2str(mean(exitot))]);
 



