📄 viewform.m
字号:
function viewform(tipo)
%VIEW MATRICES of the selected form
%
% viewform(tipo)
%
% Massimo Davini 24/05/99 --- revised 30/09/99
% put delgraf instead of delete(findobj('tag','grafico'));
% 25/may/02 Giampy
global stack;
%---------------------inizializzazione--------------------------
delgraf;
delete(findobj('tag','matrice'));
set(findobj('tag','ana0'),'visible','off');
set(findobj('tag','file_7'),'enable','off');
if isfield(stack.temp,'handles')&(~isempty(stack.temp.handles))
delete(stack.temp.handles);
end;
drawnow;
stack.temp=[];stack.temp.handles=[];
%---------------------------------------------------------------
set(findobj('tag','file_7'),'enable','on');
set(gcf,'Name',sprintf(' Multivariable Tools : ANALYSIS %s --> %s',stack.general.model,tipo));
vf(1)=uicontrol('style','push',...
'unit','normalized','position',[0.05 0.05 0.14 0.12],...
'fontunits','normalized','fontsize',0.35,'fontweight','bold',...
'string','BACK','Horizontalalignment','center','tag','back',...
'TooltipString','Back to the main ANALYSIS window');
vf(2)=uicontrol('backgroundcolor',[1 1 1],...
'style','frame','Visible','on','tag','FA',...
'units','normalized','position',[.037 .833 .106 .11]);
vf(3)=uicontrol('style','push',...
'unit','normalized','position',[0.05 0.85 0.08 0.08],...
'fontunits','normalized','fontsize',0.5,'fontweight','bold',...
'Horizontalalignment','center','visible','off','tag','A');
vf(4)=uicontrol('backgroundcolor',[1 1 1],...
'style','frame','Visible','off','tag','FB',...
'units','normalized','position',[0.167 0.833 0.106 0.11]);
vf(5)=uicontrol('style','push',...
'unit','normalized','position',[0.18 0.85 0.08 0.08],...
'fontunits','normalized','fontsize',0.5,'fontweight','bold',...
'Horizontalalignment','center','visible','off','tag','B');
vf(6)=uicontrol('backgroundcolor',[1 1 1],...
'style','frame','Visible','off','tag','FC',...
'units','normalized','position',[0.297 0.833 0.106 0.11]);
vf(7)=uicontrol('style','push',...
'unit','normalized','position',[0.31 0.85 0.08 0.08],...
'fontunits','normalized','fontsize',0.5,'fontweight','bold',...
'Horizontalalignment','center','visible','off','tag','C');
vf(8)=uicontrol('backgroundcolor',[1 1 1],...
'style','frame','Visible','off','tag','FD',...
'units','normalized','position',[0.427 0.833 0.106 0.11]);
vf(9)=uicontrol('style','push',...
'unit','normalized','position',[0.44 0.85 0.08 0.08],...
'fontunits','normalized','fontsize',0.5,'fontweight','bold',...
'Horizontalalignment','center','visible','off','tag','D');
vf(10)=uicontrol('backgroundcolor',[1 1 1],...
'style','frame','Visible','off','tag','FT',...
'units','normalized','position',[0.557 0.833 0.106 0.11]);
vf(11)=uicontrol('style','push',...
'unit','normalized','position',[0.57 0.85 0.08 0.08],...
'fontunits','normalized','fontsize',0.5,'fontweight','bold',...
'Horizontalalignment','center','visible','off','tag','T');
stack.temp.handles=vf;
ist1='set(findobj(''tag'',''FA''),''visible'',''off'');';
ist2='set(findobj(''tag'',''FB''),''visible'',''off'');';
ist3='set(findobj(''tag'',''FC''),''visible'',''off'');';
ist4='set(findobj(''tag'',''FD''),''visible'',''off'');';
ist5='set(findobj(''tag'',''FT''),''visible'',''off'');';
callb=[ist1,ist2,ist3,ist4,ist5];
switch tipo
case 'System Matrices'
set(vf(3),'string','A','visible','on',...
'callback',[callb,'set(findobj(''tag'',''FA''),''visible'',''on'');',...
'set(gcf,''userdata'',[{''A''},{''sy''},{stack.general.A}]);',...
'visual(stack.general.A,''A'');']);
set(vf(5),'string','B','visible','on',...
'callback',[callb,'set(findobj(''tag'',''FB''),''visible'',''on'');',...
'set(gcf,''userdata'',[{''B''},{''sy''},{stack.general.B}]);',...
'visual(stack.general.B,''B'');']);
set(vf(7),'string','C','visible','on',...
'callback',[callb,'set(findobj(''tag'',''FC''),''visible'',''on'');',...
'set(gcf,''userdata'',[{''C''},{''sy''},{stack.general.C}]);',...
'visual(stack.general.C,''C'');']);
set(vf(9),'string','D','visible','on',...
'callback',[callb,'set(findobj(''tag'',''FD''),''visible'',''on'');',...
'set(gcf,''userdata'',[{''D''},{''sy''},{stack.general.D}]);',...
'visual(stack.general.D,''D'');']);
set(vf(1),'callback','back_ana(''ana0'',[]);')
set(vf(2),'visible','on');
set(gcf,'userdata',[{'A'},{'sy'},{stack.general.A}]);
visual(stack.general.A,'A');
case 'Controllability Form'
Testo(1)=uicontrol('style','frame',...
'units','normalized','position',[0.65 0.115 0.3 0.055],...
'backgroundcolor',[1 1 1],'tag','testo');
Testo(2)=uicontrol('style','text',...
'units','normalized','position',[0.67 0.13 0.05 0.025],...
'backgroundcolor',[1 0 0],'tag','testo');
Testo(3)=uicontrol('style','text',...
'units','normalized','position',[0.73 0.12 0.21 0.045],...
'fontunits','normalized','fontsize',0.7,'fontweight','bold',...
'string','Controllable','backgroundcolor',[1 1 1],...
'tag','testo');
Testo(4)=uicontrol('style','frame',...
'units','normalized','position',[0.65 0.05 0.3 0.055],...
'backgroundcolor',[1 1 1],'tag','testo');
Testo(5)=uicontrol('style','text',...
'units','normalized','position',[0.67 0.065 0.05 0.025],...
'backgroundcolor',[.5 .5 .5],'tag','testo');
Testo(6)=uicontrol('style','text',...
'units','normalized','position',[0.73 0.055 0.21 0.045],...
'fontunits','normalized','fontsize',0.7,'fontweight','bold',...
'string',' not Controllable','backgroundcolor',[1 1 1],...
'tag','testo');
stack.temp.handles=[stack.temp.handles,Testo];
set(vf(1),'callback',[...
'back_ana(''ana0'',[],''Ac'',''Bc'',''Cc'',''Dc'',''Tc'');'])
rangocon=rank(ctrb(stack.general.A,stack.general.B));
iston=['set(findobj(''tag'',''testo''),''visible'',''on'');'];
istoff=['set(findobj(''tag'',''testo''),''visible'',''off'');'];
set(vf(3),'string','Ac','visible','on',...
'callback',[...
callb,iston,...
'set(findobj(''tag'',''FA''),''visible'',''on'');',...
'set(gcf,''userdata'',[{''A''},{''co''},{stack.temp.Ac}]);',...
sprintf('visual(stack.temp.Ac,''Ac'','''',''ctrb'',%u);',rangocon)]);
set(vf(5),'string','Bc','visible','on',...
'callback',[...
callb,iston,...
'set(findobj(''tag'',''FB''),''visible'',''on'');',...
'set(gcf,''userdata'',[{''B''},{''co''},{stack.temp.Bc}]);',...
sprintf('visual(stack.temp.Bc,''Bc'','''',''ctrb'',%u);',rangocon)]);
set(vf(7),'string','Cc','visible','on',...
'callback',[...
callb,iston,...
'set(findobj(''tag'',''FC''),''visible'',''on'');',...
'set(gcf,''userdata'',[{''C''},{''co''},{stack.temp.Cc}]);',...
sprintf('visual(stack.temp.Cc,''Cc'','''',''ctrb'',%u);',rangocon)]);
set(vf(9),'string','Dc','visible','on',...
'callback',[...
callb,istoff,...
'set(findobj(''tag'',''FD''),''visible'',''on'');'...
'set(gcf,''userdata'',[{''D''},{''co''},{stack.temp.Dc}]);',...
'visual(stack.temp.Dc,''Dc'');']);
set(vf(11),'string','Tc','visible','on',...
'callback',[...
callb,istoff,...
'set(findobj(''tag'',''FT''),''visible'',''on'');'...
'set(gcf,''userdata'',[{''T''},{''co''},{stack.temp.Tc}]);',...
'visual(stack.temp.Tc,''Tc'');']);
[Ac,Bc,Cc,Tc,K]=ctrbf(stack.general.A,stack.general.B,stack.general.C);
Dc=stack.general.D;
stack.temp.Ac=Ac;stack.temp.Bc=Bc;
stack.temp.Cc=Cc;stack.temp.Dc=Dc;
stack.temp.Tc=Tc;
set(vf(2),'visible','on');
set(gcf,'userdata',[{'A'},{'co'},{stack.temp.Ac}]);
visual(stack.temp.Ac,'Ac','','ctrb',rangocon);
case 'Observability Form'
Testo(1)=uicontrol('style','frame',...
'units','normalized','position',[0.65 0.115 0.3 0.055],...
'backgroundcolor',[1 1 1],'tag','testo');
Testo(2)=uicontrol('style','text',...
'units','normalized','position',[0.67 0.13 0.05 0.025],...
'backgroundcolor',[1 0 0],'tag','testo');
Testo(3)=uicontrol('style','text',...
'units','normalized','position',[0.73 0.12 0.21 0.045],...
'fontunits','normalized','fontsize',0.7,'fontweight','bold',...
'string','Observable','backgroundcolor',[1 1 1],'tag','testo');
Testo(4)=uicontrol('style','frame',...
'units','normalized','position',[0.65 0.05 0.3 0.055],...
'backgroundcolor',[1 1 1],'tag','testo');
Testo(5)=uicontrol('style','text',...
'units','normalized','position',[0.67 0.065 0.05 0.025],...
'backgroundcolor',[.5 .5 .5],'tag','testo');
Testo(6)=uicontrol('style','text',...
'units','normalized','position',[0.73 0.055 0.21 0.045],...
'fontunits','normalized','fontsize',0.7,'fontweight','bold',...
'string',' not Observable','backgroundcolor',[1 1 1],...
'tag','testo');
stack.temp.handles=[stack.temp.handles,Testo];
set(vf(1),'callback','back_ana(''ana0'',[],''Ao'',''Bo'',''Co'',''Do'',''To'');')
rangoobs=rank(obsv(stack.general.A,stack.general.C));
iston=['set(findobj(''tag'',''testo''),''visible'',''on'');'];
istoff=['set(findobj(''tag'',''testo''),''visible'',''off'');'];
set(vf(3),'string','Ao','visible','on',...
'callback',[callb,iston,'set(findobj(''tag'',''FA''),''visible'',''on'');',...
'set(gcf,''userdata'',[{''A''},{''ob''},{stack.temp.Ao}]);',...
sprintf('visual(stack.temp.Ao,''Ao'','''',''obsv'',%u);',rangoobs)]);
set(vf(5),'string','Bo','visible','on',...
'callback',[callb,iston,'set(findobj(''tag'',''FB''),''visible'',''on'');',...
'set(gcf,''userdata'',[{''B''},{''ob''},{stack.temp.Bo}]);',...
sprintf('visual(stack.temp.Bo,''Bo'','''',''obsv'',%u);',rangoobs)]);
set(vf(7),'string','Co','visible','on',...
'callback',[callb,iston,'set(findobj(''tag'',''FC''),''visible'',''on'');',...
'set(gcf,''userdata'',[{''C''},{''ob''},{stack.temp.Co}]);',...
sprintf('visual(stack.temp.Co,''Co'','''',''obsv'',%u);',rangoobs)]);
set(vf(9),'string','Do','visible','on',...
'callback',[callb,istoff,'set(findobj(''tag'',''FD''),''visible'',''on'');',...
'set(gcf,''userdata'',[{''D''},{''ob''},{stack.temp.Do}]);',...
'visual(stack.temp.Do,''Do'');']);
set(vf(11),'string','To','visible','on',...
'callback',[callb,istoff,'set(findobj(''tag'',''FT''),''visible'',''on'');',...
'set(gcf,''userdata'',[{''T''},{''ob''},{stack.temp.To}]);',...
'visual(stack.temp.To,''To'');']);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -