📄 excute.m
字号:
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
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -