📄 anamodel.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 + -