⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 excute.m

📁 随机神经网络工具箱
💻 M
📖 第 1 页 / 共 5 页
字号:
        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 = spri

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -