?? ct_menu.m
字號:
% CT_MENU is a mfile which make the menubar in the mainwindow
% Author: Ole Barup Sorensen, Rapid Data Ltd
% Copyright (c) 1989-94 by Rapid Data Ltd
% Revision 13:45 09/05/94
%Filemenu
Han_fil=uimenu(gcf,'Label','&File');
uimenu(Han_fil,'Label','&New','Callback',...
'G_num=1;G_den=1;Gc_num=1;Gc_den=1;H_num=1;H_den=1;t_delay=0;');
uimenu(Han_fil,'label','&Load Model...','Callback',['[f_name,f_path]=',...
'uigetfile(''*.mat'');if f_name~=0,load([f_path,f_name]);end']);
uimenu(Han_fil,'label','&Save Model...','Callback',['[f_name,f_path]=',...
'uiputfile(''*.mat'');if f_name~=0,mv=[f_path f_name];',...
'eval([''save '',mv, '' G_num G_den Gc_num Gc_den H_num H_den t_delay'']);end']);
uimenu(Han_fil,'Label','&Quit','Sep','on','Callback',...
'close(get(0,''Children''));clear;');
% Modelmenu
Han_mod=uimenu(gcf,'Label','&Model');
uimenu(Han_mod,'label','&Show Parameters...','Callback','showpar');
call2 = ['for i = 1:3,set(Han_M2(i),''Checked'',''off'');end;'];
Han_M1=uimenu(Han_mod,'label','&Model Format','Sep','on');
Han_M2(1)=uimenu(Han_M1,'label','&Transfer Function','Callback',...
[call2,'set(Han_M2(1),''Checked'',''on'');mod_typ = 1;']);
Han_M2(2)=uimenu(Han_M1,'label','&State Space Expression','Callback',...
[call2,'set(Han_M2(2),''Checked'',''on'');mod_typ = 2;']);
Han_M2(3)=uimenu(Han_M1,'label','M&atlab form','Callback',...
[call2,'set(Han_M2(3),''Checked'',''on'');mod_typ = 3;']);
drawnow
set(Han_M2(1),'Checked','on');
uimenu(Han_mod,'Label','Model &to be analysed...','Callback','anamodel')
call1 = ['for i = 1:3,set(Han_M4(i),''Checked'',''off'');end;'];
Han_M3=uimenu(Han_mod,'label','&Define Plant G(s)','Sep','on');
Han_M4(1)=uimenu(Han_M3,'label','&Single Block','Callback',...
[call1,'set(Han_M4(1),''Checked'',''on'');G_typ=1;tit=''G(s)'';inpblock;']);
Han_M4(2)=uimenu(Han_M3,'label','&G(s) as a Super Block','Callback',...
[call1,'set(Han_M4(2),''Checked'',''on'');G_typ=2;tit=''G(s)'';block']);
Han_M4(3)=uimenu(Han_M3,'label','G(s) in Simu&link','Callback',...
[call1,'set(Han_M4(3),''Checked'',''on'');G_typ=3;tit=''G(s)'';sblock']);
drawnow
set(Han_M4(1),'Checked','on');
call2 = ['for i = 1:4,set(Han_M6(i),''Checked'',''off'');end;'];
Han_M5=uimenu(Han_mod,'label','&Define Controller Gc(s)');
Han_M6(1)=uimenu(Han_M5,'label','&Normal Entry','Callback',...
[call2,'set(Han_M6(1),''Checked'',''on'');Gc_typ=0;tit=''Gc(s)'';inpblock;']);
Han_M6(2)=uimenu(Han_M5,'label','&PID Controller','Callback',...
[call2,'set(Han_M6(2),''Checked'',''on'');Gc_typ=1;tit=''Gc(s)'';pidpar']);
Han_M6(3)=uimenu(Han_M5,'label','P&D Controller','Callback',...
[call2,'set(Han_M6(3),''Checked'',''on'');Gc_typ=2;tit=''Gc(s)'';pidpar']);
Han_M6(4)=uimenu(Han_M5,'label','P&I Controller','Callback',...
[call2,'set(Han_M6(4),''Checked'',''on'');Gc_typ=3;tit=''Gc(s)'';pidpar']);
drawnow
set(Han_M6(1),'Checked','on');
% analysis menu
Han_ana=uimenu(gcf,'Label','&Analysis');
call = ['for i = 1:9,set(Han_M(i),''Checked'',''off'');end;'];
Han_M(1)=uimenu(Han_ana,'Label','&Bode plot','Callback',...
[call,'set(Han_M(1),''Checked'',''on'');an_type=1;tit1=''Bode plot'';']);
Han_M(2)=uimenu(Han_ana,'Label','&Nyquist plot','Callback',...
[call,'set(Han_M(2),''Checked'',''on'');an_type=2;tit1=''Nyquist plot'';']);
Han_M(3)=uimenu(Han_ana,'Label','In&verse Nyquist plot','Callback',...
[call,'set(Han_M(3),''Checked'',''on'');an_type=3;tit1=''Inverse Nyquist plot'';']);
Han_M(4)=uimenu(Han_ana,'Label','Nic&hols Gain-Phaseplot','Callback',...
[call,'set(Han_M(4),''Checked'',''on'');an_type=4;tit1=''Nichols Gain-Phase plot'';']);
Han_M(5)=uimenu(Han_ana,'Label','&Root Locus','Callback',...
[call,'set(Han_M(5),''Checked'',''on'');an_type=5;tit1=''Root Locus'';']);
Han_M(6)=uimenu(Han_ana,'Label','&Step Response','Callback',...
[call,'set(Han_M(6),''Checked'',''on'');an_type=6;tit1=''Step Response'';']);
Han_M(7)=uimenu(Han_ana,'Label','&Impulse Response','Callback',...
[call,'set(Han_M(7),''Checked'',''on'');an_type=7;tit1=''Impulse Response'';']);
Han_M(8)=uimenu(Han_ana,'Label','&Gain and Phase margins...','sep','on','Callback',...
[call,'set(Han_M(8),''Checked'',''on'');an_type=8;tit1=''Gain and Phase Margins'';gpmarg']);
Han_M(9)=uimenu(Han_ana,'Label','Routh &Table and Stability...','Callback',...
[call,'set(Han_M(9),''Checked'',''on'');an_type=9;tit1=''Routh Table and Stability'';stably;']);
drawnow
set(Han_M(1),'Checked','on');
%Plot menu
Han_plot=uimenu(gcf,'Label','&Plot');
uimenu(Han_plot,'Label','&Display Plot...','Callback',...
['if an_type == 1,bodepl;',...
'elseif an_type == 2,nyqst;',...
'elseif an_type == 3,inyqst;',...
'elseif an_type == 4,nichls;',...
'elseif an_type == 5,rtloci;',...
'elseif an_type == 6,stepr;',...
'elseif an_type == 7,impulr;',...
'elseif an_type == 8,gpmarg;',...
'elseif an_type == 9,stably;end;']);
uimenu(Han_plot,'Label','&Plot Range...','Callback','ranges')
uimenu(Han_plot,'Label','Plot Pre&ference...','Callback','plt_prf')
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -