📄 demo5.m
字号:
%**********************
%求系统的传递函数
wind_demo5=figure('color',[1,1,1],'position',[0.1*winw,0.1*winh,0.8*winw,0.8*winh],...
'name','习题演示窗口5:求系统的传递函数并确定该传递函数是否是系统的完全描述','numbertitle','off','menubar','none',...
'resize','off','clipping','off');
color=[0.2;0.4;.6];
uicontrol('style','frame','position',[0,0,1,1],...
'units','normalized','backgroundcolor',color);
color=[.3;1;0.7];
pos=[0.1,0.93,0.35,0.04];
showtext(pos,color,'输入系统状态空间并求系统传统函数');
color=[1;.5;0.7];
uicontrol('style','frame','position',[0.095,0.58,.7,.34],...
'units','normalized','backgroundcolor',color);
color=[0;1;1];
pos=[0.1,0.86,0.04,0.04];
showtext(pos,color,'A:');
demo_edita=uicontrol(wind_demo5,'style','edit','pos',[0.15,0.86,0.62,0.04],...
'string','[]','back',[0,0.5,1],'units','normalized');
pos=[0.1,0.81,0.04,0.04];
showtext(pos,color,'B:');
demo_editb=uicontrol(wind_demo5,'style','edit','pos',[0.15,0.81,0.62,0.04],...
'string','[]','back',[0,0.5,1],'units','normalized');
pos=[0.1,0.76,0.04,0.04];
showtext(pos,color,'C:');
demo_editc=uicontrol(wind_demo5,'style','edit','pos',[0.15,0.76,0.62,0.04],...
'string','[]','back',[0,0.5,1],'units','normalized');
pos=[0.1,0.71,0.04,0.04];
showtext(pos,color,'D:');
demo_editd=uicontrol(wind_demo5,'style','edit','pos',[0.15,0.71,0.62,0.04],...
'string','[0]','back',[0,0.5,1],'units','normalized');
color=[.3;1;0.7];
pos=[0.1,0.52,0.35,0.04];
showtext(pos,color,'系统的能控标准型和能观标准型为:');
color=[1;.5;0.7];
uicontrol('style','frame','position',[0.095,0.07,.85,.43],...
'units','normalized','backgroundcolor',color);
color=[0.3;1;.7];
str=['demoa=eval(get(demo_edita,''string''));demob=eval(get(demo_editb,''string''));',...
'democ=eval(get(demo_editc,''string''));demod=eval(get(demo_editd,''string''));',...
'[demonum,demoden]=ss2tf(demoa,demob,democ,demod);',...
'[a2,b2,c2,t2,k2]=ctrbf(demoa,demob,democ);',...
'[a3,b3,c3,t3,k3]=obsvf(demoa,demob,democ);',...
'co=ctrb(demoa,demob);cb=obsv(demoa,democ);',...
'rco=rank(co);rcb=rank(cb);[m,n]=size(demoa);',...
'pos=[0.11,0.65,0.07,0.04];showtext(pos,color,''分子:'');pos=[0.19,0.65,0.59,0.04];showtext(pos,color,mat2str(demonum));',...
'pos=[0.11,0.60,0.07,0.04];showtext(pos,color,''分母:'');pos=[0.19,0.60,0.59,0.04];showtext(pos,color,mat2str(demoden));',...
'pos=[0.11,0.44,0.07,0.04];showtext(pos,color,''Ac:'');pos=[0.19,0.44,0.74,0.04];showtext(pos,color,mat2str(a2));',...
'pos=[0.11,0.39,0.07,0.04];showtext(pos,color,''Bc:'');pos=[0.19,0.39,0.74,0.04];showtext(pos,color,mat2str(b2));',...
'pos=[0.11,0.34,0.07,0.04];showtext(pos,color,''Cc:'');pos=[0.19,0.34,0.74,0.04];showtext(pos,color,mat2str(c2));',...
'pos=[0.11,0.29,0.07,0.04];showtext(pos,color,''Ao:'');pos=[0.19,0.29,0.74,0.04];showtext(pos,color,mat2str(a3));',...
'pos=[0.11,0.24,0.07,0.04];showtext(pos,color,''Bo:'');pos=[0.19,0.24,0.74,0.04];showtext(pos,color,mat2str(b3));',...
'pos=[0.11,0.19,0.07,0.04];showtext(pos,color,''Co:'');pos=[0.19,0.19,0.74,0.04];showtext(pos,color,mat2str(c3));',...
'if ((rco==m)&(rcb==m)),pos=[0.11,0.14,0.82,0.04];showtext(pos,color,''因为系统状态空间Can not分解出不能控子空间或不能观子空间'');',...
'pos=[0.11,0.09,0.82,0.04];showtext(pos,color,''所以传递函数is系统的完全描述'');',...
'else,pos=[0.11,0.14,0.82,0.04];showtext(pos,color,''因为系统状态空间Can分解出不能控子空间或不能观子空间'');',...
' pos=[0.11,0.09,0.82,0.04];showtext(pos,color,''所以传递函数is not系统的完全描述'');end;']
uicontrol(wind_demo5,'style','push','string','Test',...
'position',[0.83,0.77,0.14,0.06],'units','normalized',...
'callback',str);
uicontrol(wind_demo5,'style','push','string','Close',...
'position',[0.83,0.65,0.14,0.06],'units','normalized',...
'callback','close(wind_demo5)');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -