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