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

📄 anamodel.m

📁 基于MATLAB的辅助设计 简述了矩阵分析的重要性
💻 M
字号:
% ANAMODEL is a mfile where you chose the model to be analysed 

% PTMENU is a mfile which make the menubar in the plotwindow

%    Author:  Ole Barup Sorensen, Rapid Data Ltd 

%    Copyright (c) 1989-94 by Rapid Data Ltd
%    Revision 10:56  05/10/94

okflag=figflag('Model to be analysed',0);

if okflag==0
  Fig10=figure('Numbertitle','off','Name','Model to be analysed','Menubar','none',...
  'Units','normal','Position',[(90)/Scx (100)/Scy (460)/Scx (250)/Scy],'Nextplot',...
  'new','Resize','off','Color',[0.5 0.5 0.5]);

x=20;y=60;
w=200;h=20;
Sx=460;Sy=250;

Han_In(17)=uicontrol(Fig10,'Style','text','Position',[(x+220)/Sx (180+y)/Sy (w)/Sx (h)/Sy],...
'String','This option allow you to chose which system','Hor','left');
Han_In(18)=uicontrol(Fig10,'Style','text','Position',[(x+220)/Sx (180+y)/Sy (w)/Sx (h)/Sy],...
'String','','Hor','left');

if (an_type < 4)|(an_type > 5)
  Han_In(2)=uicontrol(Fig10,'Style','frame','Position',[(x-5)/Sx (y-5)/Sy (430)/Sx (170)/Sy]);
  Han_In(16)=uicontrol(Fig10,'Style','text','Position',[(x+220)/Sx (140+y)/Sy (w)/Sx (h)/Sy],...
  'String','Closed Loop options:');
  set(Han_In(16),'Hor','left')
else
  Han_In(2)=uicontrol(Fig10,'Style','frame','Position',[(x-5)/Sx (y-5)/Sy (250)/Sx (170)/Sy]);
  if (id>5)&(id~=10)&(id~=12)
    Amod=Amod*0;
    Amod(1)=1;
    id=1;
  end
end

Han_In(1)=uicontrol(Fig10,'Style','text','Position',[(x)/Sx (140+y)/Sy (w)/Sx (h)/Sy],...
'String','Open Loop options:');
set(Han_In(1),'Hor','left')

Han_In(3)=uicontrol(Fig10,'Style','radio','String','G(s)',...
'Position',[(x)/Sx (y+120)/Sy (w)/Sx (h)/Sy],'Value',Amod(1));
Han_In(4)=uicontrol(Fig10,'Style','radio','String','Gc(s)',...
'Position',[(x)/Sx (y+100)/Sy (w)/Sx (h)/Sy],'Value',Amod(2));
Han_In(5)=uicontrol(Fig10,'Style','radio','String','Gc(s)G(s)',...
'Position',[(x)/Sx (y+80)/Sy (w)/Sx (h)/Sy],'Value',Amod(3));
Han_In(6)=uicontrol(Fig10,'Style','radio','String','G(s)H(s)',...
'Position',[(x)/Sx (y+60)/Sy (w)/Sx (h)/Sy],'Value',Amod(4));
Han_In(7)=uicontrol(Fig10,'Style','radio','String','Gc(s)G(s)H(s)',...
'Position',[(x)/Sx (y+40)/Sy (w)/Sx (h)/Sy],'Value',Amod(5));
Han_In(8)=uicontrol(Fig10,'Style','radio','String','G(s) and Gc(s)G(s)',...
'Position',[(x)/Sx (y+20)/Sy (w)/Sx (h)/Sy],'Value',Amod(10));
Han_In(9)=uicontrol(Fig10,'Style','radio','String','G(s)H(s) and Gc(s)G(s)H(s)',...
'Position',[(x)/Sx (y)/Sy (w)/Sx (h)/Sy],'Value',Amod(12));
drawnow
for i = 3:9,
   set(Han_In(i),'UserData',Han_In(:,[3:(i-1),(i+1):9]))
end;
call = ['han = get(Fig10,''CurrentObject'');',...
        'if (get(han,''Value'') == 1),',...
           'set(get(han,''UserData''),''Value'',0),',...
           'Amod=Amod*0;',...
        'else,'...
           'set(han,''Value'',1),',...
        'end;'];

set(Han_In(3),'CallBack',[call,'if get(han,''Value'') == 1,',...
   'id = 1;Amod(1)=1;end;']);
set(Han_In(4),'CallBack',[call,'if get(han,''Value'') == 1,',...
   'id = 2;Amod(2)=1;end;']);
set(Han_In(5),'CallBack',[call,'if get(han,''Value'') == 1,',...
   'id = 3;Amod(3)=1;end;']);
set(Han_In(6),'CallBack',[call,'if get(han,''Value'') == 1,',...
   'id = 4;Amod(4)=1;end;']);
set(Han_In(7),'CallBack',[call,'if get(han,''Value'') == 1,',...
   'id = 5;Amod(5)=1;end;']);
set(Han_In(8),'CallBack',[call,'if get(han,''Value'') == 1,',...
   'id = 10;Amod(10)=1;end;']);
set(Han_In(9),'CallBack',[call,'if get(han,''Value'') == 1,',...
   'id = 12;Amod(12)=1;end;']);


if (an_type< 4)|(an_type > 5)
  Han_In(10)=uicontrol(Fig10,'Style','radio','String','G(s)',...
  'Position',[(x+220)/Sx (y+120)/Sy (w)/Sx (h)/Sy],'Value',Amod(6));
  Han_In(11)=uicontrol(Fig10,'Style','radio','String','Gc(s)G(s)',...
  'Position',[(x+220)/Sx (y+80)/Sy (w)/Sx (h)/Sy],'Value',Amod(7));
  Han_In(12)=uicontrol(Fig10,'Style','radio','String','G(s)H(s)',...
  'Position',[(x+220)/Sx (y+60)/Sy (w)/Sx (h)/Sy],'Value',Amod(8));
  Han_In(13)=uicontrol(Fig10,'Style','radio','String','Gc(s)G(s)H(s)',...
  'Position',[(x+220)/Sx (y+40)/Sy (w)/Sx (h)/Sy],'Value',Amod(9));
  drawnow
  Han_In(14)=uicontrol(Fig10,'Style','radio','String','G(s) and Gc(s)G(s)',...
  'Position',[(x+220)/Sx (y+20)/Sy (w)/Sx (h)/Sy],'Value',Amod(11));
  drawnow
  Han_In(15)=uicontrol(Fig10,'Style','radio','String','G(s)H(s) and Gc(s)G(s)H(s)',...
  'Position',[(x+220)/Sx (y)/Sy (w)/Sx (h)/Sy],'Value',Amod(13));
  drawnow

  for i = 3:15,
     set(Han_In(i),'UserData',Han_In(:,[3:(i-1),(i+1):15]))
  end;

  set(Han_In(10),'CallBack',[call,'if get(han,''Value'') == 1,',...
  'id = 6;Amod(6)=1;end;']);
  set(Han_In(11),'CallBack',[call,'if get(han,''Value'') == 1,',...
  'id = 7;Amod(7)=1;end;']);
  set(Han_In(12),'CallBack',[call,'if get(han,''Value'') == 1,',...
  'id = 8;Amod(8)=1;end;']);
  set(Han_In(13),'CallBack',[call,'if get(han,''Value'') == 1,',...
  'id = 9;Amod(9)=1;end;']);
  set(Han_In(14),'CallBack',[call,'if get(han,''Value'') == 1,',...
  'id = 11;Amod(11)=1;end;']);
  set(Han_In(15),'CallBack',[call,'if get(han,''Value'') == 1,',...
  'id = 13;Amod(13)=1;end;']);
end

uicontrol(Fig10,'Style','push','String','Done','Position',...
[(15)/Sx (y-45)/Sy (80)/Sx (20)/Sy],'Callback',...
'close(Fig10);clear Fig10');
end
clear flag

⌨️ 快捷键说明

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