from rnnsim.zip by Hossam Abdelbaki
The program can be used in training and testing the Random Neural Network(RNN) models.

excute(action)
%   File Name      : excute.m
%   Purpose        : excution of the commands associated with buttons and menus 
%                    of the main program window  
%   Author         : Hossam E. Mostafa Abdelbaki, School of Computer Science, 
%                    University of Centeral Florida (UCF). 
%   Release        : ver. 1.0.
%   Date           : October 1998.
%
%       RNNSIM is a software program available to the user without any 
%   license or royalty fees. Permission is hereby granted to use, copy, 
%   modify, and distribute this software for any purpose. The Author 
%   and UCF give no warranty, express, implied, or statuary for the 
%   software including, without limitation, waranty of merchantibility 
%   and warranty of fitness for a particular purpose. The software 
%   provided hereunder is on an "as is"  basis, and the Author and the 
%   UCF has no obligation to provide maintenance, support, updates, 
%   enhancements, or modifications. 
%
%       RNNSIM  is available for any platform (UNIX, PCWIN, MACHITOCH). 
%   It runs under MATLAB ver. 5.0 or highrer. 
%
%       User feedback, bugs, or software and manual suggestions can 
%   be sent via electronic mail to :   ahossam@cs.ucf.edu

function excute(action)

global RnnFigHndl Checkbox1Hndl
global RnnFigallEdtsHndl RnnFigallBtnsHndl RnnFigallMnusHndl RnnFigallMainMnusHndl
global DrawNetPBHndl EditNetFilePBHndl EditTrainFilePBHndl  
global TrainPBHndl StopPBHndl PlotErrorPBHndl ResumePBHndl  
global EditTestFilePBHndl ShowLogPBHndl TestPBHndl AcceptPBHndl ResetPBHndl  
global HelpPBHndl DemoPBHndl AboutPBHndl RNNTutorialPBHndl RnnFigQuitPBHndl

global DrawNetMnuHndl EditNetFileMnuHndl EditTrainFileMnuHndl  
global TrainMnuHndl StopMnuHndl PlotErrorMnuHndl ResumeMnuHndl  
global EditTestFileMnuHndl ShowLogMnuHndl TestMnuHndl AcceptMnuHndl ResetMnuHndl  
global HelpMnuHndl DemoMnuHndl AboutMnuHndl RNNTutorialMnuHndl RnnFigQuitMnuHndl

global NetFileNameEdTHndl TrainFileNameEdTHndl WeightsFileNameEdTHndl 
global TestFileNameEdTHndl LogFileNameEdTHndl
global StartIterationStTHndl StopIterationEdTHndl;
global StartMSEStTHndl       StopMSEEdTHndl
global CurrentIterationStTHndl  CurrentMSEStTHndl
global IterationTimeStTHndl ElapsedTimeStTHndl 
global AutoSaveWeightsEdTHndl SaveIterEdTHndl
global InputNodesEdTHndl HiddenNodesEdTHndl OutputNodesEdTHndl
global LearningRateEdTHndl
global OutputRateEdTHndl  StopMSE1StTHndl
global InitialWeightsRangeEdTHndl LoadedIterEdTHndl
global LoadedMSEEdTHndl InitialWeightsRangeSliHndl
global FilePopHndl StopIteration1StTHndl 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

global NET_FLAG TRN_FLAG WTS_FLAG TST_FLAG;           
global N_Input N_Hidden N_Output N_Total Mse_Threshold MSEaveg Eta; 
global N_Iterations R_Out RAND_RANGE FIX_RIN R_IN Save_Weights;
global Net_File_Name Train_File_Name Weights_File_Name Test_File_Name;
global Log_File_Name
global Temp_Weights_File_Name Temp_Net_File_Name; 
Temp_Weights_File_Name = 'temp_wts.mat';
Temp_Net_File_Name = 'temp_net.m';
       
global N_Patterns TRAIN_INPUT TARGET TEST_INPUT N_Train_Patterns;
global wplus wminus err iter last_iter;
global STOP_FLAG WTS_FLAG_OLD WTS_FLAG_NEW;
global Hidden_Nodes_FLAG Learning_Rate_FLAG Output_Rate_FLAG 
global Stop_Iteration_FLAG Stop_MSE_FLAG;
global Save_Iter_FLAG Initial_Weight_Rage_FLAG Save_Weights_On;
global File_Pop_FLAG
global N_Saved_Iterations; 
global Temp_Save_Weights;
global  OVER_TRAINED start
global OutputFigHndl OutputFigStTHndl

switch action
      
        
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
     case 'draw_net'   
         qqq = ['Draw Net  :                                           ' 
                '           Drawing the Neural Network Structure       '];
         display_message(qqq);    
         DrawNetworkFigHndl = findobj('Tag','DrawNetworkFig'); 
         if(isempty(DrawNetworkFigHndl) == 1)
            draw_nn;
            drawrnn3(N_Input,N_Hidden,N_Output);
         else 
            close(DrawNetworkFigHndl)
            draw_nn;
            drawrnn3(N_Input,N_Hidden,N_Output);
         end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        
         
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                
     case 'edit_net'   
        qqq1 = 'Edit   :'; 
        qqq2 = '       Edit the File Containig the Network Data';
        FileName1 = get(NetFileNameEdTHndl,'String');
        qqq3 = sprintf('---->  File (%s) is opened successfully',FileName1);
        qqq4 = sprintf('---->  Invalid Network File (%s)',FileName1);
        qqq5 = sprintf('---->  Error opening File (%s)',FileName1);
        qqq6 = '---->  Check the network file name';    
        ff = check_net_file(FileName1);
        if(ff == 1)
           qqq = str2mat(qqq1,qqq2,qqq3);
           display_message(qqq);    
           comm = sprintf('edit %s',FileName1);
           eval(comm);
        end
        if(ff == 0)
           qqq = str2mat(qqq1,qqq2,qqq4);
           display_message(qqq);    
           edit;
        end
        if(ff == -1)
           qqq = str2mat(qqq1,qqq2,qqq5,qqq6);
           display_message(qqq);    
        edit;   
        end
        if(ff == -2)
           qqq = str2mat(qqq1,qqq2,qqq5,qqq6);
           display_message(qqq);    
           edit;           
        end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        
        
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case 'edit_train'
        qqq1 = 'Edit   :'; 
        qqq2 = '       Edit the File Containig the Train Data';
        FileName2 = get(TrainFileNameEdTHndl,'String');
        qqq3 = sprintf('---->  File (%s) is opened successfully',FileName2);
        qqq4 = sprintf('---->  Invalid Train File (%s)',FileName2);
        qqq5 = sprintf('---->  Error opening File (%s)',FileName2);
        qqq6 = '---->  Check the Train file name (.m)';    
        ff = check_trn_file(FileName2);
        if(ff == 1)
           qqq = str2mat(qqq1,qqq2,qqq3);
           display_message(qqq);    
           comm=sprintf('edit %s',FileName2);
           eval(comm);
        end
        if(ff == 0)
           qqq = str2mat(qqq1,qqq2,qqq4);
           display_message(qqq);    
           edit;
       end   
       if(ff == -1)        
          qqq = str2mat(qqq1,qqq2,qqq5,qqq6);
           display_message(qqq);    
        edit;   
        end
        if(ff == -2)
           qqq = str2mat(qqq1,qqq2,qqq5,qqq6);
           display_message(qqq);    
           edit;           
        end
       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case 'train'
        STOP_FLAG = 0;
        OVER_TRAINED =0;
         
         set(StopPBHndl,'Enable', 'on');
         
         set(PlotErrorPBHndl,'Enable', 'off');
         set(TrainPBHndl,'Enable', 'off');
         set(TestPBHndl,'Enable', 'off');
         set(RnnFigQuitPBHndl,'Enable', 'off');
         set(DemoPBHndl,'Enable', 'off');
         set(AboutPBHndl,'Enable', 'off');
         set(HelpPBHndl,'Enable', 'off');
         set(RNNTutorialPBHndl,'Enable', 'off');
         set(RNNTutorialPBHndl,'Enable', 'off');
         set(DrawNetPBHndl,'Enable', 'off');
         set(ResetPBHndl,'Enable', 'off');
         
         set(StopMnuHndl,'Enable', 'on');
         
         set(PlotErrorMnuHndl,'Enable', 'off');
         set(TrainMnuHndl,'Enable', 'off');
         set(TestMnuHndl,'Enable', 'off');
         set(RnnFigQuitMnuHndl,'Enable', 'off');
         set(DemoMnuHndl,'Enable', 'off');
         set(AboutMnuHndl,'Enable', 'off');
         set(HelpMnuHndl,'Enable', 'off');
         set(RNNTutorialMnuHndl,'Enable', 'off');
         set(RNNTutorialMnuHndl,'Enable', 'off');
         set(DrawNetMnuHndl,'Enable', 'off');
         set(ResetMnuHndl,'Enable', 'off');
         
         qqq1 = 'Train   :';
         qqq2 = '       Start Training the RNN';  
         qqq3 = '-----------------------------';
         qqq4 = ' Wait for network initialization';
         qqq = str2mat(qqq1,qqq2,qqq3,qqq4);
         display_message(qqq);    
         
        %prob1_trn;
        FileName1 = extract_name(Train_File_Name);
        eval(FileName1);
         prep_trn;
         prep_wts;
         
         qqq1 = 'Train   :';
         qqq2 = '       Start Training the RNN';  
         qqq3 = '-----------------------------';
         qqq4 = ' Initialization  Complete   ';
         qqq5 = ' Training in progress       ';
         qqq = str2mat(qqq1,qqq2,qqq3,qqq4,qqq5);
         display_message(qqq);    
        
         train_rnn3;
         if(OVER_TRAINED == 1)
            excute stop;
         end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case 'stop'
         STOP_FLAG = 1;
         RESUME_FLAG = 0;
         qqq1 = 'Stop   :';
         qqq2=  '     Stop Training the RNN';  
         qqq = str2mat(qqq1,qqq2);
         display_message(qqq);    
         
         set(StopPBHndl,'Enable', 'off');
         set(TrainPBHndl,'Enable', 'off');
                 
         set(PlotErrorPBHndl,'Enable', 'on');         
         set(TestPBHndl,'Enable', 'on');
         set(RnnFigQuitPBHndl,'Enable', 'on');
         set(DemoPBHndl,'Enable', 'on');
         set(AboutPBHndl,'Enable', 'on');
         set(HelpPBHndl,'Enable', 'on');
         set(RNNTutorialPBHndl,'Enable', 'on');
         set(DrawNetPBHndl,'Enable', 'on');
         set(ResetPBHndl,'Enable', 'on');
         set(ResumePBHndl,'Enable', 'on');
         
         set(StopMnuHndl,'Enable', 'off');
         set(TrainMnuHndl,'Enable', 'off');
                 
         set(PlotErrorMnuHndl,'Enable', 'on');         
         set(TestMnuHndl,'Enable', 'on');
         set(RnnFigQuitMnuHndl,'Enable', 'on');
         set(DemoMnuHndl,'Enable', 'on');
         set(AboutMnuHndl,'Enable', 'on');
         set(HelpMnuHndl,'Enable', 'on');
         set(RNNTutorialMnuHndl,'Enable', 'on');
         set(DrawNetMnuHndl,'Enable', 'on');
         set(ResetMnuHndl,'Enable', 'on');
         set(ResumeMnuHndl,'Enable', 'on');
         
         if(OVER_TRAINED == 1 )
            if (MSEaveg <= Mse_Threshold) 
               message1 = sprintf('Current Iteration = %d',last_iter);
               message2 = sprintf('Stop Iteration = %d',N_Iterations);
               message3 = sprintf('Current MSE = %12.9f',MSEaveg);
               message4 = sprintf('Stop MSE = %12.9f',Mse_Threshold);
               message5 = sprintf('Can not Resume because Current MSE <= Stop MSE');
               message6 = sprintf('Try to reduce the value of the Stop MSE');
               message = str2mat(message1,message2,message3,message4,message5,message6);
               display_message(message);
            end
            if (iter >= N_Iterations -1) 
               message1 = sprintf('Current Iteration = %d',last_iter);
               message2 = sprintf('Stop Iteration = %d',N_Iterations);
               message3 = sprintf('Current MSE = %12.9f',MSEaveg);
               message4 = sprintf('Stop MSE = %12.9f',Mse_Threshold);
               message5 = 'Can not Resume because Current Iteration'; 
               message6 =  '>= Stop Iteration';
               message7 = 'Try to reduce the value of the Stop'; 
               message8 = 'Iteration Parameter';
               message = str2mat(message1,message2,message3,message4,message5,message6,...
                                 message7, message8);
               display_message(message);
            end
            set(ResumePBHndl,'Enable', 'off'); 
            set(ResumeMnuHndl,'Enable', 'off');             
         end
       %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case 'plot_error'
         qqq1 = 'Plot Error   :';
         qqq2 =  '      Plot the Average Mean Squared Error';  
         qqq = str2mat(qqq1,qqq2);
         display_message(qqq);    
         if(OVER_TRAINED == 1)
            set(ResumePBHndl,'Enable', 'off');
            set(ResumeMnuHndl,'Enable', 'off');            
         else
            set(ResumePBHndl,'Enable', 'on');
            set(ResumeMnuHndl,'Enable', 'on');            
         end
         PlotErrorFigHndl = findobj('Tag','PlotErrorFig'); 
         if(isempty(PlotErrorFigHndl) == 1)
            plot_error;
            FileName = get(WeightsFileNameEdTHndl,'String');
           if(Save_Weights == 1);
              comm = sprintf('load %s err last_iter',FileName);
              eval(comm);
           else
              comm = sprintf('load %s err last_iter',Temp_Weights_File_Name );
              eval(comm);
           end
            iter  = last_iter;
            plot(err(1:iter));
            title('Average Mean Squared Error versus Iteration number');
            xlabel('Iteration number');
            ylabel('Average Mean Squared Error');
            axis([1 iter 0 max(err(1:iter))]); 
         else 
            close(PlotErrorFigHndl);
            excute('plot_error');
         end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case 'resume'
         STOP_FLAG = 0;
         OVER_TRAINED = 0;
         WTS_FLAG_OLD = 1;
         WTS_FLAG_NEW = 0;
         
         qqq1 = 'Resume   :';
         qqq2 = '     Resume Training the RNN';  
         qqq = str2mat(qqq1,qqq2);
         display_message(qqq);    
         
         set(StopPBHndl,'Enable', 'on');
         set(ResumePBHndl,'Enable', 'off');
         
         set(PlotErrorPBHndl,'Enable', 'off');
         set(TrainPBHndl,'Enable', 'off');
         set(TestPBHndl,'Enable', 'off');
         set(ShowLogPBHndl,'Enable', 'off');
         set(RnnFigQuitPBHndl,'Enable', 'off');
         set(DemoPBHndl,'Enable', 'off');
         set(AboutPBHndl,'Enable', 'off');
         set(HelpPBHndl,'Enable', 'off');
         set(RNNTutorialPBHndl,'Enable', 'off');
         set(RNNTutorialPBHndl,'Enable', 'off');
         set(DrawNetPBHndl,'Enable', 'off');
         set(ResetPBHndl,'Enable', 'off');
         set(EditTestFilePBHndl,'Enable','off');
         
         set(StopMnuHndl,'Enable', 'on');
         set(ResumeMnuHndl,'Enable', 'off');
         
         set(PlotErrorMnuHndl,'Enable', 'off');
         set(TrainMnuHndl,'Enable', 'off');
         set(TestMnuHndl,'Enable', 'off');
         set(ShowLogMnuHndl,'Enable', 'off');
         set(RnnFigQuitMnuHndl,'Enable', 'off');
         set(DemoMnuHndl,'Enable', 'off');
         set(AboutMnuHndl,'Enable', 'off');
         set(HelpMnuHndl,'Enable', 'off');
         set(RNNTutorialMnuHndl,'Enable', 'off');
         set(RNNTutorialMnuHndl,'Enable', 'off');
         set(DrawNetMnuHndl,'Enable', 'off');
         set(ResetMnuHndl,'Enable', 'off');
         set(EditTestFileMnuHndl,'Enable','off');
         
         %prob1_trn;
         FileName1 = extract_name(Train_File_Name);
         eval(FileName1);
         prep_trn;
         prep_wts;
         
         train_rnn3;
   if(OVER_TRAINED == 1)
        if (MSEaveg <= Mse_Threshold) 
           message1 = sprintf('Current Iteration = %d',last_iter);
           message2 = sprintf('Stop Iteration = %d',N_Iterations);
           message3 = sprintf('Current MSE = %12.9f',MSEaveg);
           message4 = sprintf('Stop MSE = %12.9f',Mse_Threshold);
           message5 = sprintf('Can not Resume because Current MSE <= Stop MSE');
           message6 = sprintf('Try to reduce the value of the Stop MSE');
           message = str2mat(message1,message2,message3,message4,message5,message6);
           display_message(message);
        end
        if (iter >= N_Iterations -1) 
           message1 = sprintf('Current Iteration = %d',last_iter);
           message2 = sprintf('Stop Iteration = %d',N_Iterations);
           message3 = sprintf('Current MSE = %12.9f',MSEaveg);
           message4 = sprintf('Stop MSE = %12.9f',Mse_Threshold);
           message5 = sprintf('Can not Resume because Current Iteration ');
           message6 = (' >= Stop Iteration');
           message7 = sprintf('Try to reduce the value of the Stop ');
           message8 = ('Iteration Parameter');
           message = str2mat(message1,message2,message3,message4,message5,message6,...
                      message7,message8);
           display_message(message);
        end
        set(ResumePBHndl,'Enable', 'off'); 
      set(ResumeMnuHndl,'Enable', 'off');         
    end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%               
     case 'edit_test'   
        qqq1 = 'Edit   :'; 
        qqq2 = '       Edit the File Containig the Test Data';
        FileName4 = get(TestFileNameEdTHndl,'String');
        qqq3 = sprintf('---->  File (%s) is opened successfully',FileName4);
        qqq4 = sprintf('---->  Invalid Test File (%s)',FileName4);
        qqq5 = sprintf('---->  Error opening File (%s)',FileName4);
        qqq6 = '---->  Check the Test file name';    
        ff=check_tst_file(FileName4);
        
        if(ff == 1)
           qqq = str2mat(qqq1,qqq2,qqq3);
           display_message(qqq);    
           comm = sprintf('edit %s',FileName4);
           eval(comm);
        end
        if(ff == 0)
           qqq = str2mat(qqq1,qqq2,qqq4);
           display_message(qqq);    
           comm = sprintf('edit %s',FileName4);
           edit;
        end
        if(ff == -1)
           qqq = str2mat(qqq1,qqq2,qqq5,qqq6);
           display_message(qqq);    
           edit;
        end
        if(ff == -2)
           qqq = str2mat(qqq1,qqq2,qqq5,qqq6);
           display_message(qqq);    
           edit;
        end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                
     case 'show_log'   
        qqq1 = 'Show   :'; 
        qqq2 = '       Show the Test Results';
        FileName4 = get(LogFileNameEdTHndl,'String');
        qqq3 = sprintf('---->  File (%s) is opened successfully',FileName4);
        qqq4 = sprintf('---->  Error opening File (%s)',FileName4);
        qqq5 = '---->  Check the Log file name';    
        ff = exist(FileName4);
        if(ff ~= 0)
           qqq = str2mat(qqq1,qqq2,qqq3);
           display_message(qqq);    
           comm = sprintf('edit %s',FileName4);
           eval(comm);
        else 
           qqq = str2mat(qqq1,qqq2,qqq4,qqq5);
           display_message(qqq);    
        end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case 'test'
         set(ResumePBHndl,'Enable', 'off');
         set(TrainPBHndl,'Enable', 'off');
         set(PlotErrorPBHndl,'Enable', 'off');
         set(TrainPBHndl,'Enable', 'off');
         set(TestPBHndl,'Enable', 'off');
         set(RnnFigQuitPBHndl,'Enable', 'off');
         set(DemoPBHndl,'Enable', 'off');
         set(AboutPBHndl,'Enable', 'off');
         set(HelpPBHndl,'Enable', 'off');
         set(RNNTutorialPBHndl,'Enable', 'off');
         set(RNNTutorialPBHndl,'Enable', 'off');
         set(DrawNetPBHndl,'Enable', 'off');
         set(ResetPBHndl,'Enable', 'off');
         
         set(ResumeMnuHndl,'Enable', 'off');
         set(TrainMnuHndl,'Enable', 'off');
         set(PlotErrorMnuHndl,'Enable', 'off');
         set(TrainMnuHndl,'Enable', 'off');
         set(TestMnuHndl,'Enable', 'off');
         set(RnnFigQuitMnuHndl,'Enable', 'off');
         set(DemoMnuHndl,'Enable', 'off');
         set(AboutMnuHndl,'Enable', 'off');
         set(HelpMnuHndl,'Enable', 'off');
         set(RNNTutorialMnuHndl,'Enable', 'off');
         set(RNNTutorialMnuHndl,'Enable', 'off');
         set(DrawNetMnuHndl,'Enable', 'off');
         set(ResetMnuHndl,'Enable', 'off');
         
         
         qqq1 = 'Test   :';
         qqq2 =  '       Start Testing the RNN';  
         qqq = str2mat(qqq1,qqq2);
         display_message(qqq);    
         
         %prob1_tst;
         FileName1 = extract_name(Test_File_Name);
         eval(FileName1);
         prep_tst;
         prep_wts;
         
         test_rnn3;
         
         qqq1 = 'Test   :';
         qqq2 =  '       Start Testing the RNN';  
         qqq3 =  '       Testing Complete ...';
         qqq4 =  'See the results by clicking Show button';
         qqq = str2mat(qqq1,qqq2,qqq3,qqq4);
         display_message(qqq);    
         
         set(StopPBHndl,'Enable', 'off');         
         set(TrainPBHndl,'Enable', 'off');
         
         set(PlotErrorPBHndl,'Enable', 'on');
         set(TestPBHndl,'Enable', 'on');
         set(RnnFigQuitPBHndl,'Enable', 'on');
         set(DemoPBHndl,'Enable', 'on');
         set(AboutPBHndl,'Enable', 'on');
         set(HelpPBHndl,'Enable', 'on');
         set(RNNTutorialPBHndl,'Enable', 'on');
         set(DrawNetPBHndl,'Enable', 'on');
         set(ResetPBHndl,'Enable', 'on');
         set(ShowLogPBHndl,'Enable', 'on');         
         
         set(StopMnuHndl,'Enable', 'off');         
         set(TrainMnuHndl,'Enable', 'off');
         
         set(PlotErrorMnuHndl,'Enable', 'on');
         set(TestMnuHndl,'Enable', 'on');
         set(RnnFigQuitMnuHndl,'Enable', 'on');
         set(DemoMnuHndl,'Enable', 'on');
         set(AboutMnuHndl,'Enable', 'on');
         set(HelpMnuHndl,'Enable', 'on');
         set(RNNTutorialMnuHndl,'Enable', 'on');
         set(DrawNetMnuHndl,'Enable', 'on');
         set(ResetMnuHndl,'Enable', 'on');
         set(ShowLogMnuHndl,'Enable', 'on');         
         
         if(OVER_TRAINED == 1)
            set(ResumePBHndl,'Enable', 'off');
            set(ResumeMnuHndl,'Enable', 'off');            
            else
            set(ResumePBHndl,'Enable', 'on');
            set(ResumeMnuHndl,'Enable', 'on');               
         end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case 'accept'
         qqq1 = 'Accept   :';
         qqq2 =  '       Accept All Options';  
         qqq = str2mat(qqq1,qqq2);
         display_message(qqq);    
         
    %%%%%%%%%%%%%%%%%%%%%%%%%%%
     FileName = get(NetFileNameEdTHndl,'String');
     Net_File_Name = FileName;   
     NET_FLAG = 0;
     NET_FLAG = check_net_file(FileName);
        if(NET_FLAG == 1)
           qqq1 = 'Network File : O.K';
        else
           qqq1 = 'Network File : ERR';
        end            
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%    
       FileName = get(TrainFileNameEdTHndl,'String');
       Train_File_Name = FileName;
       TRN_FLAG = 0;
       TRN_FLAG = check_trn_file(FileName);
       if(TRN_FLAG == 1)
           qqq2 = 'Train File : O.K';
       else
           qqq2 = 'Train File : ERR';
       end            
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    
       FileName = get(TestFileNameEdTHndl,'String');
       Test_File_Name = FileName ;      
       TST_FLAG = 0;
       TST_FLAG = check_tst_file(FileName);
       if(TST_FLAG == 1)
           qqq3 = 'Test File : O.K';
        else
           qqq3 = 'Test File : ERR';
       end            
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    if(WTS_FLAG == 1)
      if(WTS_FLAG_OLD == 0 & WTS_FLAG_NEW == 1)
         if(Save_Weights == 1)
            qqq4 = 'Weights File : O.K';
         else
            qqq4 = 'Weights File : O.K';
         end
      elseif(WTS_FLAG_OLD == 1 & WTS_FLAG_NEW == 0)
              qqq4 = 'Weights File : O.K';
      end
    else
              qqq4 = 'Weights File : ERR';
    end
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    
    N_Total = N_Input + N_Hidden + N_Output;   %Total Number of Neurons
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        
           Hidden_Nodes_FLAG = 0;
           excute Hidden_Nodes;
             if(Hidden_Nodes_FLAG == 1)
                qqq5 = 'Hidden Nodes : O.K';
             else
                qqq5 = 'Hidden Nodes : ERR';
             end            
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
     Learning_Rate_FLAG = 0;
     excute Learning_Rate;
        if(Learning_Rate_FLAG == 1)
           qqq6 = 'Learning Rate : O.K';
        else
           qqq6 = 'Learning Rate : ERR';
        end            
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%         
        Stop_Iteration_FLAG = 0;       
        excute Stop_Iteration;        
          if(Stop_Iteration_FLAG == 1)
             qqq7 = 'Stop Iteration : O.K';
          else
             qqq7 = 'Stop Iteration : ERR';
          end            
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%           
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
     Stop_MSE_FLAG = 0;           
     excute Stop_MSE;     
     if(Stop_MSE_FLAG == 1)
           qqq8 = 'Stop MSE : O.K';
      else
          qqq8 = 'Stop MSE : ERR';
      end            
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
   excute Initial_Weights_Range_Sli;   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        Initial_Weight_Rage_FLAG = 0;
        excute Initial_Weights_Range_EdT;
        if(Initial_Weight_Rage_FLAG == 1)
           qqq9 = 'Initial Weight Rage : O.K';
        else
           qqq9 = 'Initial Weight Rage : ERR';
        end            
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        Save_Iter_FLAG = 0;
        excute Save_Iter;
        if(Save_Weights == 1)
           if(Save_Iter_FLAG == 1)
              qqq10 = 'Save Iter : O.K' ;
           else
              qqq10 = 'Save Iter : ERR';
           end            
        else 
             qqq10 = 'Save Iter : O.K';
        end
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
   Output_Rate_FLAG = 0;
       excute Output_Rate;        
        if(Output_Rate_FLAG == 1)
           qqq11 = 'Output_Rate : O.K';
        else
           qqq11 = 'Output_Rate : ERR';
        end            
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
       varnames = ['N_Input' ' ' 'N_Hidden' ' ' 'N_Output' ' ' 'Mse_Threshold' ' ' 'Eta' ' ']; 
       varnames = [varnames 'N_Iterations' ' ' 'R_Out' ' ' 'RAND_RANGE' ' ' 'FIX_RIN' ' ' 'R_IN' ' ']; 
       varnames = [varnames 'N_Saved_Iterations' ' ' 'Net_File_Name' ' ']; 
       varnames = [varnames 'Train_File_Name' ' ' 'Weights_File_Name' ' ' 'Test_File_Name' ' '];
       varnames = [varnames 'Log_File_Name' ' ' 'N_Total' ' ' 'last_iter' ' ' 'MSEaveg'];
        mess1 = [qqq1 '  ' qqq2];
        mess2 = [qqq3 '  ' qqq4];
        mess3 = [qqq5 '  ' qqq6];
        mess4 = [qqq7 '  ' qqq8];
        mess5 = [qqq9 '  ' qqq10];
        mess6 = [qqq11];
         
    if(NET_FLAG ==1 & TRN_FLAG == 1 & TST_FLAG == 1 & WTS_FLAG == 1 & ...
         Hidden_Nodes_FLAG ==1 & Learning_Rate_FLAG == 1 & ...
         Stop_Iteration_FLAG == 1 & Stop_MSE_FLAG == 1 & ...
         Output_Rate_FLAG  == 1 & Initial_Weight_Rage_FLAG == 1)
            mess0 = '    ******   O.K    ************  ';
            qqq = str2mat(mess0,mess1,mess2,mess3,mess4,mess5,mess6);
            display_message(qqq);    
     else   
            mess0 = ' ******   ERROR    ************';
            qqq = str2mat(mess0,mess1,mess2,mess3,mess4,mess5,mess6);
            display_message(qqq);    
     end       
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    
  if(NET_FLAG == 1 & TRN_FLAG == 1 & TST_FLAG == 1 & WTS_FLAG == 1 & ...
         Hidden_Nodes_FLAG ==1 & Learning_Rate_FLAG == 1 & ...
         Stop_Iteration_FLAG == 1 & Stop_MSE_FLAG == 1 & ...
         Output_Rate_FLAG == 1 & Initial_Weight_Rage_FLAG ==1)
      
        WtsFileName = get(WeightsFileNameEdTHndl,'String');
        Weights_File_Name = WtsFileName;        

    if(WTS_FLAG_OLD == 0 & WTS_FLAG_NEW == 1)
        if(Save_Weights == 1 & strcmp(Weights_File_Name,Temp_Weights_File_Name) ~= 1)
           
           qqq4 = 'Weights File : O.K';
           mess = sprintf('save %s %s',Weights_File_Name, varnames);
           eval(mess);
       else
          TEMP = Net_File_Name;
          Net_File_Name = Temp_Net_File_Name;
          qqq4 = 'Weights File : O.K';
           mess = sprintf('save %s %s',Temp_Weights_File_Name, varnames);
           eval(mess);
           Net_File_Name = TEMP;   
        end
     end   
     if(WTS_FLAG_OLD == 1 & WTS_FLAG_NEW == 0)
        if(Save_Weights == 1)  
           mess = sprintf('save %s %s -append',Weights_File_Name, varnames);
           eval(mess)
        else
           mess = sprintf('save %s %s',Temp_Weights_File_Name, varnames);             
        end
     end
         set(RnnFigallBtnsHndl, 'Enable', 'off');         
         set(EditNetFilePBHndl,'Enable', 'off');
         set(Checkbox1Hndl,'Enable','off');
         set(InitialWeightsRangeSliHndl,'Enable','off');
      
         set(RnnFigQuitPBHndl,'Enable', 'on');
         set(DemoPBHndl,'Enable', 'on');
         set(AboutPBHndl,'Enable', 'on');
         set(HelpPBHndl,'Enable', 'on');
         set(RNNTutorialPBHndl,'Enable', 'on');
         set(ResetPBHndl,'Enable', 'on');
         set(DrawNetPBHndl,'Enable','on');         
         
         set(RnnFigallMnusHndl, 'Enable', 'off');         
         set(EditNetFileMnuHndl,'Enable', 'off');
      
         set(RnnFigallMainMnusHndl, 'Enable', 'on');
         set(RnnFigQuitMnuHndl,'Enable', 'on');
         set(DemoMnuHndl,'Enable', 'on');
         set(AboutMnuHndl,'Enable', 'on');
         set(HelpMnuHndl,'Enable', 'on');
         set(RNNTutorialMnuHndl,'Enable', 'on');
         set(ResetMnuHndl,'Enable', 'on');
         set(DrawNetMnuHndl,'Enable','on');         
         
        if(WTS_FLAG_OLD == 0 & WTS_FLAG_NEW == 1)
            set(TestPBHndl,'Enable','off');
            set(TrainPBHndl,'Enable','on');
            
            set(TestMnuHndl,'Enable','off');
            set(TrainMnuHndl,'Enable','on');
         end
         
         if(WTS_FLAG_OLD == 1 & WTS_FLAG_NEW == 0)
            set(TrainPBHndl,'Enable','off');
            set(TestPBHndl,'Enable','on');
            set(ResumePBHndl,'Enable','on');
            set(PlotErrorPBHndl,'Enable','on');
            
            set(TrainMnuHndl,'Enable','off');
            set(TestMnuHndl,'Enable','on');
            set(ResumeMnuHndl,'Enable','on');
            set(PlotErrorMnuHndl,'Enable','on');
         end
         
         set(RnnFigallEdtsHndl,'Enable','off');

    if(Save_Weights == 1)
       if(MSEaveg <= Mse_Threshold)
          Resume_Training = 0;
          OVER_TRAINED = 1;
          figure(RnnFigHndl);
          excute stop;   
       end
      
       if(last_iter >= N_Iterations-1)
         Resume_Training = 0;
         OVER_TRAINED = 1;
         figure(RnnFigHndl);
         excute stop;   
       end
     end
      set(FilePopHndl,'Enable','off');
     if(WTS_FLAG_OLD == 0 & WTS_FLAG_NEW == 1)
        set(LoadedIterEdTHndl,'String','0');
        set(LoadedMSEEdTHndl,'String','None');
     end
     
     if(Save_Weights == 0)     
       ff = fopen(Temp_Net_File_Name,'Wt');
       qq1 = sprintf('NET_FLAG = 1;');
       fprintf(ff , '%s\n' , qq1);
       qq2 = sprintf('%%%%%%%%   Network Parameter Initialization %%%%%%%%');
       fprintf(ff , '%s\n' , qq2);
       qq3 = sprintf('N_Input            = %d;', N_Input);
       fprintf(ff , '%s\n' , qq3);
       qq4 = sprintf('N_Hidden           = %d;', N_Hidden);
       fprintf(ff , '%s\n' , qq4);
       qq5 = sprintf('N_Output           = %d;', N_Output);
       fprintf(ff , '%s\n' , qq5);
       qq6 = sprintf('Mse_Threshold      = %e;', Mse_Threshold);
       fprintf(ff , '%s\n' , qq6);
       qq7 = sprintf('Eta                = %f;', Eta);
       fprintf(ff , '%s\n' , qq7);
       qq8 = sprintf('N_Iterations       = %d;', N_Iterations);
       fprintf(ff , '%s\n' , qq8);
       qq9 = sprintf('R_Out              = %f;', R_Out);
       fprintf(ff , '%s\n' , qq9);
       qq10 = sprintf('RAND_RANGE         = %f;', RAND_RANGE);
       fprintf(ff , '%s\n' , qq10);
       qq11 = sprintf('FIX_RIN            = %d;', FIX_RIN);
       fprintf(ff , '%s\n' , qq11);
       qq12 = sprintf('R_IN               = %f;', R_IN);
       fprintf(ff , '%s\n' , qq12);
       qq14 = sprintf('N_Saved_Iterations = %d;', N_Saved_Iterations);
       fprintf(ff , '%s\n' , qq14);
       qq15 = sprintf('Net_File_Name      = ''%s'';', Temp_Net_File_Name);
       fprintf(ff , '%s\n' , qq15);
       qq16 = sprintf('Train_File_Name    = ''%s'';', Train_File_Name);
       fprintf(ff , '%s\n' , qq16);
       qq17 = sprintf('Weights_File_Name  = ''%s'';', Temp_Weights_File_Name);
       fprintf(ff , '%s\n' , qq17);
       qq18 = sprintf('Test_File_Name     = ''%s'';', Test_File_Name);
       fprintf(ff , '%s\n' , qq18);
       qq19 = sprintf('Log_File_Name      = ''%s'';', Log_File_Name);
       fprintf(ff , '%s\n' , qq19);
       qq20 = sprintf('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     ');
       fprintf(ff , '%s\n' , qq20);
       qq21 = sprintf('N_Total = N_Input + N_Hidden + N_Output;  %Total Number of Neurons');
       fprintf(ff , '%s\n' , qq21);
       fclose(ff);
    end
end    
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case 'reset_par'
         qqq1 = 'Reset Parameters   :';
         qqq2 =  '       Reset all Options';  
         qqq = str2mat(qqq1,qqq2);
         display_message(qqq);    
         
         set(RnnFigallEdtsHndl,'Enable','off');
         set(RnnFigallEdtsHndl,'String','');
         set(RnnFigallBtnsHndl, 'Enable', 'off');
         set(Checkbox1Hndl,'Enable','off');
         set(Checkbox1Hndl,'Value',0);
         
         set(RnnFigQuitPBHndl,'Enable', 'on');
         set(DemoPBHndl,'Enable', 'on');
         set(AboutPBHndl,'Enable', 'on');
         set(HelpPBHndl,'Enable', 'on');
         set(RNNTutorialPBHndl,'Enable', 'on');
         set(ResetPBHndl,'Enable', 'on');
         set(EditNetFilePBHndl,'Enable', 'on');
         set(NetFileNameEdTHndl,'Enable','on');
         set(FilePopHndl,'Enable','on');
         
         set(RnnFigallMnusHndl, 'Enable', 'off');
         set(RnnFigallMainMnusHndl, 'Enable', 'on');         
         set(RnnFigQuitMnuHndl,'Enable', 'on');
         set(DemoMnuHndl,'Enable', 'on');
         set(AboutMnuHndl,'Enable', 'on');
         set(HelpMnuHndl,'Enable', 'on');
         set(RNNTutorialMnuHndl,'Enable', 'on');
         set(ResetMnuHndl,'Enable', 'on');
         set(EditNetFileMnuHndl,'Enable', 'on');
         
         set(StartMSEStTHndl,'String','');
         set(CurrentMSEStTHndl,'String','');
         set(StopMSE1StTHndl,'String','');
         set(StartIterationStTHndl,'String','');
         set(StopIteration1StTHndl,'String','');
         set(CurrentIterationStTHndl,'String','');
         set(IterationTimeStTHndl,'String','');
         set(ElapsedTimeStTHndl,'String','');
         set(AutoSaveWeightsEdTHndl,'BackgroundColor',[1 1 1]);         
         
         RnnFigHndl = findobj('Tag','RnnFig');
         RnnFigStTHndl = findobj(RnnFigHndl,'Tag','StaticText1');
         set(RnnFigStTHndl,'HorizontalAlignment','center');
         set(RnnFigStTHndl,'FontSize',18);        
         set(RnnFigStTHndl,'FontWeight','bold');
         
        set(InitialWeightsRangeSliHndl,'Enable','off','value',0);
         
         mess = 'Random Neural Network Simulator ver. 1.0';
         mess1 = [];
         for iii = 1:length(mess)
            mess1 = [mess1 mess(iii)];
            set(RnnFigStTHndl,'String',mess1);
            for kkk=1:10000  end
         end     
    
       varnames = ['N_Input' ' ' 'N_Hidden' ' ' 'N_Output' ' ' 'Mse_Threshold' ' ' 'Eta' ' ']; 
       varnames = [varnames 'N_Iterations' ' ' 'R_Out' ' ' 'RAND_RANGE' ' ' 'FIX_RIN' ' ' 'R_IN' ' ']; 
       varnames = [varnames 'N_Saved_Iterations' ' ' 'Net_File_Name' ' ']; 
       varnames = [varnames 'Train_File_Name' ' ' 'Weights_File_Name' ' ' 'Test_File_Name' ' '];
       varnames = [varnames 'Log_File_Name' ' ' 'N_Total' ' ' 'last_iter' ' ' 'MSEaveg'];
         
       mess = sprintf('clear global %s', varnames);
       eval(mess);
         
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case 'help_nn'
         qqq1 = 'Help    :';
         qqq2 =  '       How to use this Program';  
         qqq = str2mat(qqq1,qqq2);
         display_message(qqq);    
         HelpFigHndl = findobj('Tag','HelpFig'); 
         if(isempty(HelpFigHndl ) == 1)
               help_nn;
            else figure(HelpFigHndl);
         end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case 'demo_nn'
         qqq1 = 'Demo   :';
         qqq2 =  '      Demo for Training and Testind the RNN';  
         qqq = str2mat(qqq1,qqq2);
         display_message(qqq);    
         DemoFigHndl = findobj('Tag','DemoFig'); 
         if(isempty(DemoFigHndl) == 1)
            demo_nn;
            else figure(DemoFigHndl);
         end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case 'about_nn'
         qqq1 = 'About   :';
         qqq2 =  '                   ';  
         qqq = str2mat(qqq1,qqq2);
         display_message(qqq);    
         RnnAboutFigHndl = findobj('Tag','RnnAboutFig'); 
         if(isempty(RnnAboutFigHndl) == 1)
            about_nn;
            else figure(RnnAboutFigHndl);
         end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case 'tutor_nn'
         qqq1 = 'RNN Tutorial   :';
         qqq2 =  '       Learn More About Random Neural Network';  
         qqq = str2mat(qqq1,qqq2);
         display_message(qqq);    
         RnnTutorFigHndl = findobj('Tag','RnnTutorFig'); 
         if(isempty(RnnTutorFigHndl) == 1)
            tutor_nn;
            else figure(RnnTutorFigHndl);
         end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case 'quit_nn'
         qqq1 = 'Quit   :';
         qqq2 =  '       Quit RNN Simulator ';  
         qqq = str2mat(qqq1,qqq2);
         display_message(qqq);    
         RnnQuitFigHndl = findobj('Tag','RnnQuitFig'); 
         if(isempty(RnnQuitFigHndl) == 1)
            quit_nn;
            else figure(RnnQuitFigHndl);
         end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
     case 'File_Pop'
        val = get(FilePopHndl,'Value');
        if(val >= 1)
           Net_File_Name = '';
           FILES  = get(FilePopHndl,'String');
           TTT = FILES(val,:);     
           for i = 1:length(TTT)
              if(TTT(i) ~= ' ')
                 Net_File_Name(i) = TTT(i);
              end
           end
           File_Pop_FLAG = 1;
        else    
           File_Pop_FLAG = 0;
        end
        excute net_file;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     
     case 'net_file'   
        qqq1 = 'Network File Name   :'; 
        qqq2='   Input File containing RNN parameters (.m)';
        
        if(File_Pop_FLAG == 0)
           NetFileName = get(NetFileNameEdTHndl,'String');
           Net_File_Name = NetFileName;
        end
        if(File_Pop_FLAG == 1)
           NetFileName = Net_File_Name;
        end
        ff = check_net_file(NetFileName);
        if(ff == 1)
                 FileName1 = extract_name(NetFileName);
                 eval(FileName1);
                 qqq3 = sprintf('---->  File (%s) is loaded successfully',NetFileName);
                 qqq = str2mat(qqq1,qqq2,qqq3);
                 display_message(qqq);    
                 N_Total = N_Input + N_Hidden + N_Output;   %Total Number of Neurons
                 %%%%%%%%%%%% load parameters %%%%%%%%%%%%%%%
                 set(WeightsFileNameEdTHndl,'Enable','on','String',Weights_File_Name);
                 set(Checkbox1Hndl,'Value',1);
                 
                 excute save_wts;
                  
                  set(AcceptPBHndl,'Enable','on');
                  set(ResetPBHndl,'Enable','on');
                  
                  set(EditTestFilePBHndl,'Enable','on');
                  set(EditTrainFilePBHndl,'Enable','on');
                  
                  set(AcceptMnuHndl,'Enable','on');
                  set(ResetMnuHndl,'Enable','on');
                  set(EditTestFileMnuHndl,'Enable','on');
                  set(EditTrainFileMnuHndl,'Enable','on');
          end
         if(ff == 0)
                 qqq3 = sprintf('---->  Invalid Network File (%s)',NetFileName);
                  qqq = str2mat(qqq1,qqq2,qqq3);
                  display_message(qqq);    
        end    
        if(ff == -1)
                 qqq3 = sprintf('---->  Error opening File (%s)',NetFileName);
                 qqq4 = '----->  Check the network file name (.m)';    
                 qqq = str2mat(qqq1,qqq2,qqq3,qqq4);
                 display_message(qqq);    
       end
       
       File_Pop_FLAG = 0;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%            
      case 'trn_file'   
        qqq1 = 'Train Data File Name   :'; 
        qqq2 = '   Input File containing Train Data (.m)';
        TrnFileName = get(TrainFileNameEdTHndl,'String');
        Train_File_Name = TrnFileName;
        
        ff = check_trn_file(TrnFileName);
        if(ff == 1)
              FileName1 = extract_name(TrnFileName);
              eval(FileName1);
              sss = size(TRAIN_INPUT);
              if(sss(1) ~= N_Patterns) 
                 qqq3 = 'Error : Check Number of Train Patterns';
                 TRN_FLAG = 0;   
                 qqq  = str2mat(qqq1,qqq2,qqq3);
                 display_message(qqq);    
              elseif (sss(2) ~= N_Input)
                 qqq3 = 'Error : Check Number of Input Nodes';
                 TRN_FLAG = 0;                 
                 qqq  = str2mat(qqq1,qqq2,qqq3);
                 display_message(qqq);    
              else             
                 qqq3 = sprintf('---->  File (%s) is loaded successfully',TrnFileName);              
                 qqq = str2mat(qqq1,qqq2,qqq3);
                 display_message(qqq);    
              end 
          end
        if(ff == 0)  
              qqq3 = sprintf('---->  Invalid Network File (%s)',TrnFileName);
              qqq = str2mat(qqq1,qqq2,qqq3);
              display_message(qqq);    
        end
        if(ff == -1)        
           qqq3 = sprintf('---->  Error opening File (%s)',TrnFileName);
           qqq4 = '----->  Check the train data file name (.m)';    
           qqq = str2mat(qqq1,qqq2,qqq3,qqq4);
           display_message(qqq);    
        end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        
        
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
     case 'wts_file'   
        qqq1 = 'Weights File Name   :'; 
        qqq2='    File containing resulted weights (.mat)';
        WtsFileName = get(WeightsFileNameEdTHndl,'String');
        Weights_File_Name = WtsFileName;        
        
        qqq3 = sprintf('---->  File (%s) is loaded successfully',WtsFileName);
        qqq4 = sprintf('---->  New File will be created (%s)',WtsFileName);
        qqq5 = sprintf('---->  File ( %s )is not a valid MATLAB MAT file',WtsFileName);
        WTS_FLAG = 0;
        
        ff = check_wts_file(WtsFileName);
        if(ff == 1) 
              WTS_FLAG = 1;
              qqq = str2mat(qqq1,qqq2,qqq3);
              display_message(qqq);    
              Weights_File_Name_FLAG = 1;
              WTS_FLAG_OLD = 1;
              WTS_FLAG_NEW = 0;
             varnames = ['N_Input' ' ' 'N_Hidden' ' ' 'N_Output' ' ' 'Mse_Threshold' ' ' 'Eta' ' ']; 
             varnames = [varnames 'N_Iterations' ' ' 'R_Out' ' ' 'RAND_RANGE' ' ' 'FIX_RIN' ' ' 'R_IN' ' ']; 
             varnames = [varnames 'N_Saved_Iterations' ' ' 'Net_File_Name' ' ']; 
             varnames = [varnames 'Train_File_Name' ' ' 'Weights_File_Name' ' ' 'Test_File_Name' ' '];
             varnames = [varnames 'Log_File_Name' ' ' 'N_Total' ' ' 'last_iter' ' ' 'MSEaveg'];
             mess = sprintf('load %s %s',Weights_File_Name, varnames);
             eval(mess)
             
             set(NetFileNameEdTHndl,'Enable','on','String',Net_File_Name);
             set(TrainFileNameEdTHndl,'Enable','off','String',Train_File_Name);
             set(TestFileNameEdTHndl,'Enable','off','String',Test_File_Name);
             set(LogFileNameEdTHndl,'Enable','on','String',Log_File_Name);
             set(WeightsFileNameEdTHndl,'Enable','off');             
             set(Checkbox1Hndl,'Enable','on');           
             set(InputNodesEdTHndl,'Enable','off','String',num2str(N_Input));
             set(HiddenNodesEdTHndl,'Enable','off','String',num2str(N_Hidden));
             set(OutputNodesEdTHndl,'Enable','off','String',num2str(N_Output));
             set(LearningRateEdTHndl,'Enable','off','String',num2str(Eta));
             set(OutputRateEdTHndl,'Enable','off','String',num2str(R_Out));
             set(StopIterationEdTHndl,'Enable','on','String',num2str(N_Iterations));
             set(StopMSEEdTHndl,'Enable','on','String',num2str(Mse_Threshold));
             set(InitialWeightsRangeEdTHndl,'Enable','on','String',num2str(RAND_RANGE));
             set(InitialWeightsRangeSliHndl,'Enable','on','Value',RAND_RANGE);
             set(SaveIterEdTHndl,'Enable','on','String',num2str(N_Saved_Iterations));
             set(LoadedIterEdTHndl,'String',num2str(last_iter));
             set(LoadedMSEEdTHndl,'String',num2str(MSEaveg));
             set(InitialWeightsRangeEdTHndl,'Enable','off');
             set(InitialWeightsRangeSliHndl,'Enable','off');
             
             set(LoadedIterEdTHndl,'String',num2str(last_iter));
             set(LoadedMSEEdTHndl,'String',num2str(MSEaveg));
             set(InitialWeightsRangeEdTHndl,'Enable','off');
             set(InitialWeightsRangeSliHndl,'Enable','off');
             
             excute trn_file;
             excute tst_file;
            excute log_file;
            
           end
       if(ff == -1)
          WTS_FLAG = 1;
          FileName = get(WeightsFileNameEdTHndl,'String');
          Weights_File_Name = FileName;        
          set(LoadedIterEdTHndl,'String','0');
          set(LoadedMSEEdTHndl,'String','None');
          set(InitialWeightsRangeEdTHndl,'Enable','on');
          set(InitialWeightsRangeSliHndl,'Enable','on');
          qqq = str2mat(qqq1,qqq2,qqq4);
          display_message(qqq);    
          WTS_FLAG_OLD = 0;
          WTS_FLAG_NEW = 1;
          Weights_File_Name_FLAG = 1;
          MSEaveg = 100000;
         
         Save_Weights = 1;         
         set(LoadedIterEdTHndl,'String',num2str(0));
         set(LoadedMSEEdTHndl,'String','None');
         set(NetFileNameEdTHndl,'Enable','on','String',Net_File_Name);
         set(TrainFileNameEdTHndl,'Enable','on','String',Train_File_Name);
         set(TestFileNameEdTHndl,'Enable','on','String',Test_File_Name);
         set(LogFileNameEdTHndl,'Enable','on','String',Log_File_Name);
         set(Checkbox1Hndl,'Enable','on');           
         set(InputNodesEdTHndl,'Enable','off','String',num2str(N_Input));
         set(HiddenNodesEdTHndl,'Enable','off','String',num2str(N_Hidden));
         set(OutputNodesEdTHndl,'Enable','off','String',num2str(N_Output));
         set(LearningRateEdTHndl,'Enable','on','String',num2str(Eta));
         set(OutputRateEdTHndl,'Enable','on','String',num2str(R_Out));
         set(StopIterationEdTHndl,'Enable','on','String',num2str(N_Iterations));
         set(StopMSEEdTHndl,'Enable','on','String',num2str(Mse_Threshold));
         set(InitialWeightsRangeEdTHndl,'Enable','on','String',num2str(RAND_RANGE));
         set(InitialWeightsRangeSliHndl,'Enable','on','Value',RAND_RANGE);
         
         excute trn_file;
         excute tst_file;
         excute log_file;
      end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       
     case 'tst_file'   
        qqq1 = 'Test Data File Name   :'; 
        qqq2='  Input File containing Test Data (.m)';
        
        TstFileName = get(TestFileNameEdTHndl,'String');
        Test_File_Name = TstFileName;

        ff = check_tst_file(TstFileName);
        if(ff == 1)
              FileName1 = extract_name(TstFileName);
              eval(FileName1);
              sss = size(TEST_INPUT);
              if(sss(1) ~= N_Patterns) 
                 qqq3 = 'Error : Check Number of Test Patterns';
                 TST_FLAG = 0;   
                 qqq  = str2mat(qqq1,qqq2,qqq3);
                 display_message(qqq);    
              elseif (sss(2) ~= N_Input)
                 qqq3 = 'Error : Check Number of Input Nodes';
                 TST_FLAG = 0;                 
                 qqq  = str2mat(qqq1,qqq2,qqq3);
                 display_message(qqq);    
              else             
              qqq3 = sprintf('---->  File (%s) is loaded successfully',TstFileName);
              qqq = str2mat(qqq1,qqq2,qqq3);
              display_message(qqq);    
              end
           end
        if(ff == 0)
              qqq3 = sprintf('---->  Invalid Test File ( %s )',TstFileName);
              qqq = str2mat(qqq1,qqq2,qqq3);
              display_message(qqq);    
        end
        if(ff == -1)
           qqq3 = sprintf('---->  Error opening File (%s)',TstFileName);
           qqq4 = '----->  Check the Test Data file name (.m)';    
           qqq = str2mat(qqq1,qqq2,qqq3,qqq4);
           display_message(qqq);    
        end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        
        
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case 'log_file'   
        qqq1 = 'Log Data File Name   :'; 
        qqq2 = '  Output File containing Test Results (.m)';
        FileName = get(LogFileNameEdTHndl,'String');
        qqq3 = sprintf('---->  File (%s) is opened successfully',FileName);
        qqq4 = sprintf('---->  Error opening File (%s)',FileName);
        qqq5 = '----->  Check the Test Disk Space';    
        ff = fopen(FileName,'w');
        if(ff ~= -1)
           qqq = str2mat(qqq1,qqq2,qqq3);
           display_message(qqq);    
           fclose(ff);   
        else 
           qqq = str2mat(qqq1,qqq2,qqq4,qqq5);
           display_message(qqq);    
        end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        
        
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case 'save_wts'
       qqq1 =  'Weights   :';
       qqq2 =  'Will be saved after the number of ';  
       qqq3 =  'iterations defined in the parameters';
       qqq4 =  sprintf('to file ( %s )',Weights_File_Name);       
       qqq5 =  '                                    ';
       qqq6 =  'The current parameters are loaded from';
       qqq7 =  sprintf('the file ( %s )',Weights_File_Name);
       qqq8 =  'Will not be saved to ';          
       qqq9 =  sprintf('( %s ) but it will be',Weights_File_Name);
       qqq10 =  sprintf('saved temporarily to ( %s )',Temp_Weights_File_Name);
       qqq11 =  '                                    ';
       qqq12 =  'The current parameters are loaded from';
       qqq13 =  sprintf('the file ( %s )',Net_File_Name);
       
       box_value = get(Checkbox1Hndl,'Value');
       if(box_value == 0)
          ff = check_net_file(Net_File_Name);
          if(ff == 1)
             FileName1 = extract_name(Net_File_Name);
             eval(FileName1);
          end
          Save_Weights = 0;
          Save_Weights_On = 0;
          set(SaveIterEdTHndl,'String','None');   
          set(SaveIterEdTHndl,'Enable','off');
          
          set(WeightsFileNameEdTHndl,'String','');
          set(HiddenNodesEdTHndl,'Enable','on');
          
          set(LoadedIterEdTHndl,'String','0');
          set(LoadedMSEEdTHndl,'String','None');
          
          set(InitialWeightsRangeSliHndl,'Enable','on');
          set(InitialWeightsRangeEdTHndl,'Enable','on');
          
          set(NetFileNameEdTHndl,'Enable','on','String',Net_File_Name);
          set(TrainFileNameEdTHndl,'Enable','off','String',Train_File_Name);
          set(TestFileNameEdTHndl,'Enable','off','String',Test_File_Name);
          set(LogFileNameEdTHndl,'Enable','on','String',Log_File_Name);
          
          set(Checkbox1Hndl,'Enable','on');           
          set(InputNodesEdTHndl,'String',num2str(N_Input));
          set(HiddenNodesEdTHndl,'Enable','on','String',num2str(N_Hidden));
          set(OutputNodesEdTHndl,'Enable','off','String',num2str(N_Output));
          set(LearningRateEdTHndl,'Enable','on','String',num2str(Eta));
          set(OutputRateEdTHndl,'Enable','on','String',num2str(R_Out));
          set(StopIterationEdTHndl,'Enable','on','String',num2str(N_Iterations));
          set(StopMSEEdTHndl,'Enable','on','String',num2str(Mse_Threshold));
          set(InitialWeightsRangeEdTHndl,'Enable','on','String',num2str(RAND_RANGE));
          set(InitialWeightsRangeSliHndl,'Enable','on','Value',RAND_RANGE);

          set(InputNodesEdTHndl,'Enable','off');
          set(HiddenNodesEdTHndl,'Enable','on');
          
          WTS_FLAG_OLD = 0;
          WTS_FLAG_NEW = 1;

          qqq = str2mat(qqq1,qqq8,qqq9,qqq10,qqq11,qqq12,qqq13);
          display_message(qqq);  
     end          
     if(box_value == 1)
          Save_Weights = 1;
          Save_Weights_On = 1;          
          set(SaveIterEdTHndl,'Enable','on');
          set(SaveIterEdTHndl,'String',num2str(N_Saved_Iterations));
          set(WeightsFileNameEdTHndl,'String',Weights_File_Name);
          set(HiddenNodesEdTHndl,'Enable','off');
          set(OutputNodesEdTHndl,'Enable','off');          
          set(InitialWeightsRangeSliHndl,'Enable','off');
          set(InitialWeightsRangeEdTHndl,'Enable','off');
          
          excute wts_file;   
          
          qqq = str2mat(qqq1,qqq2,qqq3,qqq4,qqq5,qqq6,qqq7);
          display_message(qqq);  
       end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        
     case  'Hidden_Nodes'
        qqq1 = 'Hidden nodes   :'; 
        qqq2 = '  Number of Hidden Nodes in the Neural Network';
        str = get(HiddenNodesEdTHndl,'String');
        num = str2num(str);
        if(isempty(num) ~=1)
           if(num > 0)
              if(mod(num,1) == 0)
                 N_Hidden = num;
                 qqq3 = sprintf('( %s ) Hidden Nodes ------> O.K',str);
                 qqq = str2mat(qqq1,qqq2,qqq3);
                 display_message(qqq);
                 Hidden_Nodes_FLAG = 1;
              else
                 qqq3 = sprintf('( %s ) is fractional number of Hidden Nodes ------> ERROR',str);
                 qqq = str2mat(qqq1,qqq2,qqq3);
                 display_message(qqq);
                 Hidden_Nodes_FLAG = 0;
              end   
           else  
              qqq3 = sprintf('( %s ) is negative number of Hidden Nodes ------> ERROR',str);
              qqq = str2mat(qqq1,qqq2,qqq3);
              display_message(qqq);
              Hidden_Nodes_FLAG = 0;  
           end
        else
           qqq3 = sprintf('( %s ) is an invalid number ------> ERROR',str);
           qqq = str2mat(qqq1,qqq2,qqq3);
           display_message(qqq);
         Hidden_Nodes_FLAG = 0;  
      end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      
      case  'Learning_Rate'
         qqq1 = 'Learning Rate ( Eta )   :'; 
         qqq2 = '  Learning Rate ( Eta ) of the Learning Algorithm ( 0.0 - 1.0)';
         str = get(LearningRateEdTHndl,'String');
         num = str2num(str);
         if(isempty(num) ~=1)
            if(num > 0 & num <= 1)
               Eta = num;
               qqq3 = sprintf('( %s ) Learning Rate ------> O.K',str);
               qqq = str2mat(qqq1,qqq2,qqq3);
               display_message(qqq);
               Learning_Rate_FLAG = 1;
            else
               qqq3 = sprintf(' %s ( Eta should be between 0.0 and 1.0 ) ------> ERROR',str);
               qqq = str2mat(qqq1,qqq2,qqq3);
               display_message(qqq);
               Learning_Rate_FLAG = 0;
            end   
          if(num < 0 )  
             qqq3 = sprintf('( %s ) is negative Learning Rate ------> ERROR',str);
             qqq = str2mat(qqq1,qqq2,qqq3);
            display_message(qqq);
            Learning_Rate_FLAG = 0;  
         end
      else
         qqq3 = sprintf('( %s ) is an invalid number ------> ERROR',str);
         qqq = str2mat(qqq1,qqq2,qqq3);
         display_message(qqq);
         Learning_Rate_FLAG = 0;  
      end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case  'Output_Rate'
        qqq1 = 'Output Rate   :'; 
        qqq2 = '  Firing Rate of the output Nodes ';
        str = get(OutputRateEdTHndl,'String');
        num = str2num(str);
        if(isempty(num) ~=1)
           if(num > 0 & num <= 3)
              R_Out = num;
              qqq3 = sprintf('( %s ) Output Firing Rate ------> O.K',str);
              qqq = str2mat(qqq1,qqq2,qqq3);
              display_message(qqq);
              Output_Rate_FLAG = 1;
           else
              qqq3 = sprintf(' %s ( Allowed Range 0.0  3.0 ) ------> ERROR',str);
              qqq = str2mat(qqq1,qqq2,qqq3);
              display_message(qqq);
              Output_Rate_FLAG = 0;
           end   
           if(num < 0 )  
              qqq3 = sprintf('( %s ) is negative Firing  Rate ------> ERROR',str);
              qqq = str2mat(qqq1,qqq2,qqq3);
              display_message(qqq);
              Output_Rate_FLAG = 0;  
           end
        else
           qqq3 = sprintf('( %s ) is an invalid number ------> ERROR',str);
           qqq = str2mat(qqq1,qqq2,qqq3);
           display_message(qqq);
           Output_Rate_FLAG = 0;  
        end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      
     case  'Stop_Iteration'
        qqq1 = 'Stop Iteration   :'; 
        qqq2 = '  Number of Iterations After which Learning will stop';
        str = get(StopIterationEdTHndl,'String');
        num = str2num(str);
        if(isempty(num) ~=1)
           if(num > 0)
              if(mod(num,1) == 0)
                 N_Iterations = num;
                 qqq3 = sprintf('( %s ) Iterations ------> O.K',str);
                 qqq = str2mat(qqq1,qqq2,qqq3);
                 display_message(qqq);
                 Stop_Iteration_FLAG = 1;
              else
                 qqq3 = sprintf('( %s ) is fractional number of Iterations ------> ERROR',str);
                 qqq = str2mat(qqq1,qqq2,qqq3);
                 display_message(qqq);
                 Stop_Iteration_FLAG = 0;
              end   
           else  
             qqq3 = sprintf('( %s ) is negative number of Iterations ------> ERROR',str);
             qqq = str2mat(qqq1,qqq2,qqq3);
             display_message(qqq);
             Stop_Iteration_FLAG = 0;  
          end
       else
          qqq3 = sprintf('( %s ) is an invalid number ------> ERROR',str);
         qqq = str2mat(qqq1,qqq2,qqq3);
         display_message(qqq);
         Stop_Iteration_FLAG = 0;  
      end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      
     case  'Stop_MSE'
        qqq1 = 'Stop MSE   :'; 
        qqq2 = '  Mean Squared Error below which the training will stop';
        str = get(StopMSEEdTHndl,'String');
        num = str2num(str);
        if(isempty(num) ~=1)
           if(num > 0 & num <= 1)
               Mse_Threshold = num;
               qqq3 = sprintf('( %s ) Stop MSE ------> O.K',str);
               qqq = str2mat(qqq1,qqq2,qqq3);
               display_message(qqq);
               Stop_MSE_FLAG = 1;
            else
               qqq3 = sprintf(' %s ( Stop MSE should be between 0.0 and 1.0 ) ------> ERROR',str);
               qqq = str2mat(qqq1,qqq2,qqq3);
               display_message(qqq);
               Stop_MSE_FLAG = 0;
            end   
          if(num < 0 )  
             qqq3 = sprintf('( %s ) is negative Stop MSE ------> ERROR',str);
             qqq = str2mat(qqq1,qqq2,qqq3);
            display_message(qqq);
            Stop_MSE_FLAG = 0;  
         end
      else
         qqq3 = sprintf('( %s ) is an invalid number ------> ERROR',str);
         qqq = str2mat(qqq1,qqq2,qqq3);
         display_message(qqq);
         Stop_MSE_FLAG = 0;  
      end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      
     case  'Save_Iter'
        qqq1 = 'Save Iter.   :'; 
        qqq2 = '  Number of Iterations After which Weights Will be Saved (Auto Save flag should be checked on)';
        if(Save_Weights == 1) 
           str = get(SaveIterEdTHndl,'String');
           num = str2num(str);
           if(isempty(num) ~=1)
              if(num > 0)
                 if(mod(num,1) == 0)
                    N_Saved_Iterations = num;
                    qqq3 = sprintf('( %s ) Iterations ------> O.K',str);
                    qqq = str2mat(qqq1,qqq2,qqq3);
                    display_message(qqq);
                    Save_Iter_FLAG = 1;
                 else
                    qqq3 = sprintf('( %s ) is fractional number of Iterations ------> ERROR',str);
                    qqq = str2mat(qqq1,qqq2,qqq3);
                    display_message(qqq);
                    Save_Iter_FLAG = 0;
                 end   
              else  
                 qqq3 = sprintf('( %s ) is negative number of Iterations ------> ERROR',str);
                 qqq = str2mat(qqq1,qqq2,qqq3);
                 display_message(qqq);
                 Save_Iter_FLAG = 0;  
              end
           else
              qqq3 = sprintf('( %s ) is an invalid number ------> ERROR',str);
              qqq = str2mat(qqq1,qqq2,qqq3);
              display_message(qqq);
              Save_Iter_FLAG = 0;  
           end
        else 
           qqq3 =  'Auto Save flag is not checked on   ';
           qqq = str2mat(qqq1,qqq2,qqq3);
           display_message(qqq);
           Save_Iter_FLAG = 0;  
        end   
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      
     case  'Initial_Weights_Range_EdT'
        qqq1 = 'Initial Weight Rage   :'; 
        qqq2 = 'Initial Random Weights will be generted between 0.0 and - Initial Weight Rage)';
        str = get(InitialWeightsRangeEdTHndl,'String');
        num = str2num(str);
        set(InitialWeightsRangeSliHndl,'value',num);
        if(isempty(num) ~=1)
           if(num > 0 & num <= 1)
              RAND_RANGE = num;
              qqq3 = sprintf('( %s ) Range ------> O.K',str);
              qqq = str2mat(qqq1,qqq2,qqq3);
              display_message(qqq);
              Initial_Weight_Rage_FLAG = 1;
           else
              qqq3 = sprintf(' %s ( Range should be between 0.0 and 1.0 ) ------> ERROR',str);
              qqq = str2mat(qqq1,qqq2,qqq3);
              display_message(qqq);
              Initial_Weight_Rage_FLAG = 0;
           end   
           if(num < 0 )  
              qqq3 = sprintf('( %s ) is negative Rage ------> ERROR',str);
              qqq = str2mat(qqq1,qqq2,qqq3);
              display_message(qqq);
              Initial_Weight_Rage_FLAG = 0;  
           end
        else
           qqq3 = sprintf('( %s ) is an invalid number ------> ERROR',str);
           qqq = str2mat(qqq1,qqq2,qqq3);
           display_message(qqq);
           Initial_Weight_Rage_FLAG = 0;  
        end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     case  'Initial_Weights_Range_Sli'
        num =	get(InitialWeightsRangeSliHndl,'value');
        set(InitialWeightsRangeEdTHndl,'string',num2str(num));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      

end  %switch

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 function ff = check_net_file(NAME)
 global NET_FLAG 
 if(strcmp(NAME, '') == 1)
    ff = -2;
    return
 end
 
 if(exist(NAME) ~= 0)
   FileName1 = extract_name(NAME);
   NET_FLAG = 0;
   eval(FileName1);
   if(NET_FLAG == 1)
       ff = 1;     %OK
    else 
      ff = 0;    %invalid network file
    end
  else 
      ff = -1;   %file not found     
  end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
 function ff = check_trn_file(NAME)
 global  TRN_FLAG;
  if(strcmp(NAME, '') == 1)
    ff = -2;
    return
 end

 if(exist(NAME) ~= 0)
   FileName1 = extract_name(NAME);
   TRN_FLAG = 0;
   eval(FileName1);
   if(TRN_FLAG == 1)
      ff = 1;    %OK
    else 
      ff = 0;    %invalid train file
    end
  else 
      ff = -1;   %file not found     
  end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
 function ff = check_tst_file(NAME)
 global  TST_FLAG;
  if(strcmp(NAME, '') == 1)
    ff = -2;
    return
 end

 if(exist(NAME) ~= 0)
   FileName1 = extract_name(NAME);
   TST_FLAG = 0;
   eval(FileName1);
   if(TST_FLAG == 1)
      ff = 1;    %OK
    else 
      ff = 0;    %invalid test file
    end
  else 
      ff = -1;   %file not found     
  end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
 function ff = check_wts_file(NAME)
    if(exist(NAME) ~= 0)
        ff = 1;    %OK
    else 
        ff = -1;   %file not found     
    end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function display_message(message)
OutputFigHndl = findobj('Tag','RnnFig');
OutputFigStTHndl = findobj(OutputFigHndl,'Tag','StaticText1');
set(OutputFigStTHndl,'HorizontalAlignment','left');
set(OutputFigStTHndl,'FontSize',8);        
set(OutputFigStTHndl,'FontWeight','normal');
set(OutputFigStTHndl,'FontAngle','normal');
set(OutputFigStTHndl,'String',message);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function nn = extract_name(Name)
 for i=1:length(Name)
    if(Name(i) ~= '.')
       nn(i) = Name(i);
    else 
       break;
    end
 end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
 

Contact us at files@mathworks.com