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

📄 som_gui.m

📁 适用于需要用matlab环境
💻 M
📖 第 1 页 / 共 5 页
字号:
   set(Handle,'String','Change parameters for batch training');   Handle = findobj(gcf,'Tag','PopupMenu3');   set(Handle,'Enable','off');   set(Handle,'Visible','off');   Handle = findobj(gcf,'Tag','PopupMenu4');   set(Handle,'Enable','off');   set(Handle,'Visible','off');   Handle = findobj(gcf,'Tag','PopupMenu5');   set(Handle,'Enable','off');   set(Handle,'Visible','off');   Handle = findobj(gcf,'Tag','StaticText17');   set(Handle,'Visible','off');   Handle = findobj(gcf,'Tag','StaticText18');   set(Handle,'Visible','off');   Handle = findobj(gcf,'Tag','StaticText19');   set(Handle,'Visible','off');   Handle = findobj(gcf,'Tag','StaticText13');   set(Handle,'Visible','off');    Handle = findobj(gcf,'Tag','StaticText14');   set(Handle,'Visible','off');   Handle = findobj(gcf,'Tag','EditText6');   set(Handle,'Visible','off');   set(Handle,'Enable','off');   Handle = findobj(gcf,'Tag','EditText10');   set(Handle,'Visible','off');   set(Handle,'Enable','off');    else    return;	endsom_gui('def_values_train');	mask = STRAIN1.mask;Handle = findobj(gcf,'Tag','Listbox1');set(Handle,'String',DATA.comp_names);som_gui('fill_new_defaults');function [] = fill_new_defaults()global STRAIN1 STRAIN2 SOTHERS ALGORITHM;Handle = findobj(gcf,'Tag','EditText4');temp = num2str(STRAIN1.radius_ini);set(Handle,'String',temp);Handle = findobj(gcf,'Tag','EditText8');temp = num2str(STRAIN2.radius_ini);set(Handle,'String',temp);Handle = findobj(gcf,'Tag','EditText5');temp = num2str(STRAIN1.radius_fin);set(Handle,'String',temp);Handle = findobj(gcf,'Tag','EditText9');temp = num2str(STRAIN2.radius_fin);set(Handle,'String',temp);	Handle = findobj(gcf,'Tag','EditText6');temp = num2str(STRAIN1.alpha_ini);set(Handle,'String',temp);Handle = findobj(gcf,'Tag','EditText10');temp = num2str(STRAIN2.alpha_ini);set(Handle,'String',temp);Handle = findobj(gcf,'Tag','EditText7');temp = num2str(STRAIN1.trainlen);set(Handle,'String',temp);Handle = findobj(gcf,'Tag','EditText11');temp = num2str(STRAIN2.trainlen);set(Handle,'String',temp);Handle = findobj(gcf,'Tag','Listbox2');temp = num2str(STRAIN1.mask');set(Handle,'String',temp);Handle = findobj(gcf,'Tag','PopupMenu2');string = get(Handle,'String');val = loop(string,SOTHERS.tracking);set(Handle,'Value',val);Handle = findobj(gcf,'Tag','PopupMenu1');string = get(Handle,'String');val = loop(string,STRAIN1.neigh);set(Handle,'Value',val);if strcmp(ALGORITHM,'seq')   Handle = findobj(gcf,'Tag','PopupMenu3');   string = get(Handle,'String');   val = loop(string,SOTHERS.length_type);   set(Handle,'Value',val);   Handle = findobj(gcf,'Tag','PopupMenu4');   string = get(Handle,'String');   val = loop(string,SOTHERS.oder);   set(Handle,'Value',val);   Handle = findobj(gcf,'Tag','PopupMenu5');   string = get(Handle,'String');   val = loop(string,STRAIN1.alpha_type);   set(Handle,'Value',val);end			function [] = set_new_parameters()global STRAIN1 STRAIN2 ALGORITHM SOTHERS; Handle = findobj(gcbf,'Tag','Listbox2');temp = get(Handle,'String');mask = str2num(temp); %%%%%%%%%%%%% Do somthingmask = mask';Handle = findobj(gcbf,'Tag','PopupMenu1');temp = get(Handle,'String');val = get(Handle,'Value');neigh = temp{val};Handle = findobj(gcbf,'Tag','PopupMenu2');temp = get(Handle,'String');val = get(Handle,'Value');SOTHERS.tracking = temp{val};  %%%%% finetune phase!Handle = findobj(gcbf,'Tag','EditText4');temp = get(Handle,'String');rad_ini1 = str2num(temp);Handle = findobj(gcbf,'Tag','EditText8');temp = get(Handle,'String');rad_ini2 = str2num(temp);Handle = findobj(gcbf,'Tag','EditText5');temp = get(Handle,'String');rad_fin1 = str2num(temp);Handle = findobj(gcbf,'Tag','EditText9');temp = get(Handle,'String');rad_fin2 = str2num(temp);Handle = findobj(gcbf,'Tag','EditText6');temp = get(Handle,'String');alpha_ini1 = str2num(temp);Handle = findobj(gcbf,'Tag','EditText10');temp = get(Handle,'String');alpha_ini2 = str2num(temp);Handle = findobj(gcbf,'Tag','EditText7');temp = get(Handle,'String');train_length1 = str2num(temp);Handle = findobj(gcbf,'Tag','EditText11');temp = get(Handle,'String');train_length2 = str2num(temp);if strcmp(ALGORITHM,'seq')   Handle = findobj(gcbf,'Tag','PopupMenu3');   temp = get(Handle,'String');   val = get(Handle,'Value');   SOTHERS.length_type = temp{val};   Handle = findobj(gcbf,'Tag','PopupMenu4');   temp = get(Handle,'String');   val = get(Handle,'Value');   SOTHERS.oder= temp{val};   Handle = findobj(gcbf,'Tag','PopupMenu5');   temp = get(Handle,'String');   val = get(Handle,'Value');   alpha_type = temp{val};else    alpha_type = 'inv';endSTRAIN1.neigh = neigh;STRAIN2.neigh = neigh;STRAIN1.mask = mask;STRAIN2.mask = mask;STRAIN1.radius_ini = rad_ini1;STRAIN2.radius_ini = rad_ini2;STRAIN1.radius_fin = rad_fin1;STRAIN2.radius_fin = rad_fin2;STRAIN1.alpha_ini = alpha_ini1;STRAIN2.alpha_ini = alpha_ini2;STRAIN1.alpha_type = alpha_type;STRAIN2.alpha_type = alpha_type;STRAIN1.trainlen = train_length1;STRAIN2.trainlen = train_length2;close(gcbf);som_gui('fill_fields');som_gui('def_values_others');function [] = only_finetune()Handle = findobj(gcbf,'Tag','Radiobutton1');test = get(Handle,'Value');if test == 1   Handle = findobj(gcbf,'Tag','StaticText16');   set(Handle,'Enable','off');   Handle = findobj(gcbf,'Tag','StaticText17');   set(Handle,'Enable','off');   Handle = findobj(gcbf,'Tag','StaticText22');   set(Handle,'Enable','off');   Handle = findobj(gcbf,'Tag','StaticText26');   set(Handle,'Enable','off');else    Handle = findobj(gcbf,'Tag','StaticText16');   set(Handle,'Enable','on');   Handle = findobj(gcbf,'Tag','StaticText17');   set(Handle,'Enable','on');   Handle = findobj(gcbf,'Tag','StaticText22');   set(Handle,'Enable','on');   Handle = findobj(gcbf,'Tag','StaticText26');   set(Handle,'Enable','on');endfunction [] = check_rough_radini()global STRAIN1;msgs = {'Initial radius must be number!';...        'Initial radius must be single valued number!'};[msgs_nro, value, Handle] = check_ok('EditText4');if msgs_nro > 0   errordlg({msgs{msgs_nro}},'Incorrect initial radius!')   temp = num2str(STRAIN1.radius_ini);   set(Handle,'String',temp);   return;endfunction [] = check_fine_radini()global STRAIN2;msgs = {'Initial radius must be number!';...        'Initial radius must be single valued number!'};[msgs_nro, value, Handle] = check_ok('EditText8');if msgs_nro > 0   errordlg({msgs{msgs_nro}},'Incorrect initial radius!')   temp = num2str(STRAIN2.radius_ini);   set(Handle,'String',temp);   return;endfunction [] = check_rough_radfin()global STRAIN1;msgs = {'Final radius must be number!';...	'Final radius must be single valued number!'};[msgs_nro, value, Handle] = check_ok('EditText5');if msgs_nro > 0   errordlg({msgs{msgs_nro}},'Incorrect final radius!')   temp = num2str(STRAIN1.radius_fin);   set(Handle,'String',temp);   return;endfunction [] = check_fine_radfin()global STRAIN2;msgs = {'Final radius must be number!';...	'Final radius must be single valued number!'};[msgs_nro, value, Handle] = check_ok('EditText9');if msgs_nro > 0   errordlg({msgs{msgs_nro}},'Incorrect final radius!')   temp = num2str(STRAIN2.radius_fin);   set(Handle,'String',temp);   return;endfunction [] = check_rough_alphaini()global STRAIN1;	msgs = {'Alpha initial must be number!';...	'Alpha initial must be single valued number!'};[msgs_nro, value, Handle] = check_ok('EditText6');if msgs_nro > 0   errordlg({msgs{msgs_nro}},'Incorrect initial alpha!')   temp = num2str(STRAIN1.alpha_ini);   set(Handle,'String',temp);   return;endfunction [] = check_fine_alphaini()global STRAIN2;msgs = {'Alpha initial must be number!';...	'Alpha initial must be single valued number!'};[msgs_nro, value, Handle] = check_ok('EditText10');if msgs_nro > 0   errordlg({msgs{msgs_nro}},'Incorrect initial alpha!')   temp = num2str(STRAIN2.alpha_ini);   set(Handle,'String',temp);   return;endfunction [] = check_rough_trainlen()global STRAIN1;msgs = {'Training length must be number!';...	'Training length must be single valued number!'};[msgs_nro, value, Handle] = check_ok('EditText7');if msgs_nro > 0   errordlg({msgs{msgs_nro}},'Incorrect training length!')   temp = num2str(STRAIN1.trainlen);   set(Handle,'String',temp);   return;endfunction [] = check_fine_trainlen()global STRAIN2;msgs = {'Training length must be number!';...	'Training length must be single valued number!'};[msgs_nro, value, Handle] = check_ok('EditText11');if msgs_nro > 0   errordlg({msgs{msgs_nro}},'Incorrect training length!')   temp = num2str(STRAIN2.trainlen);   set(Handle,'String',temp);   return;end	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%				%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     END OF TRAINING		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%				%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%				%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     START OF SAVING		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%				%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%	function [] = savemap()global MAP MAPSAVED;if isempty(MAP)  str = {'There is no map to be saved! Train map before saving.'};  helpdlg(str,'Empty map!');	  return;end[FileName Path] = uiputfile('*.cod','Save file!');if FileName ~= 0   temp = strcat(Path,FileName);   som_write_cod(MAP,temp);   MAPSAVED = 'SAVED';endHandle = findobj(gcf,'Tag','StaticText10');set(Handle,'String','Status <map saved>');	 function [] = save_workspace()global MAP MAPSAVED;if isempty(MAP)   str = {'There is no map to be saved! Train map before saving.'};   helpdlg(str,'Empty map!');   return;else   prompt = {'Save map as?'};   title = 'Save map!';   lineNo = 1;   answer = inputdlg(prompt,title,lineNo);   if isempty(answer)      return;   end   if not(isempty(answer{1}))      ws_variable = evalin('base','who');      max_length = 0;      for index = 1:size(ws_variable,1)         if max_length < size(ws_variable{index},2)	    max_length = size(ws_variable{index},2);         end      end      length = max_length + 1;      tempfoo(1:1:length) = 'A';       assignin('base',tempfoo,answer{1});      str = ['exist(' tempfoo ')'];	      temp = evalin('base',str); %%%%%%%%%%@@@@@@@@@      evalin('base',['clear ' tempfoo ])       if temp == 0         assignin('base',answer{1},MAP);         MAPSAVED = 'SAVED';      elseif temp ~= 0         Questmsg = strcat('Variable',' ''',answer{1},'''',...         ' exist. Overwrite?');         ButtonName = questdlg(Questmsg);         switch(ButtonName)         case 'Yes'            assignin('base',answer{1},MAP);            MAPSAVED = 'SAVED';         case 'No'              som_gui('save_workspace');		         end     end	   else      helpmsg = {'There cannot be any empty field in ''save'''};      helpdlg(helpmsg,'Help Save!');      som_gui('save');    endendHandle = findobj(gcf,'Tag','StaticText10');set(Handle,'String','Status <map saved>');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%				%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     END OF SAVING		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%				%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%				%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     START OF HELP & INFO	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%				%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%	%HEREXXfunction [] = data_info()global DATA;if isempty(DATA)   helpmsg = 'Load data first!';   helpdlg(helpmsg,'Empty data!');   return;endfile_name = tempname;file_name = strcat(file_name,'.m');fid = fopen(file_name,'w');fprintf(fid,'%% %+35s\n','DATA INFO');fprintf(fid,'%%\n');print_info(DATA,2,fid);directory = tempdir;addpath (directory);helpwin (file_name);fclose(fid);delete(file_name);rmpath (directory);function [] = map_info()global MAP;if isempty(MAP)   helpmsg = 'There is no map!';   helpdlg(helpmsg,'Empty map!');   return;endfile_name = tempname;file_name = strcat(file_name,'.m');fid = fopen(file_name,'w');fprintf(fid,'%% %+35s\n','MAP INFO');fprintf(fid,'%%\n');print_info(MAP,2,fid);directory = tempdir;addpath (directory);helpwin (file_name);fclose(fid);delete(file_name);rmpath (directory); 

⌨️ 快捷键说明

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