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

📄 viewform.m

📁 vTools is a toolbox for Matlab 5.3 developed within the Department of Electrical Systems and A
💻 M
📖 第 1 页 / 共 2 页
字号:
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 + -