📄 root01.m
字号:
%绘制根轨迹图
lcwin=figure('Position',[120 49 513 491],'Name','根轨迹图','NumberTitle','off',...
'MenuBar','none');
set(gcf,'Units','normalized','backingstore','off');
axes('position',[0 0 1 1]);
axis off;
dd=text(0.06,0.12,'系统稳定时K的范围');
set(dd,'fontsize',15,'color',[0 0 0],'fontname','宋体');
numedit=uicontrol(lcwin,'style','edit','units','normalized','position',[0.45 0.09 0.2 0.06],...
'fontsize',17,'back',[1 1 1],'max',10);
dd1=text(0.67,0.12,'到');
set(dd1,'fontsize',15,'color',[0 0 0],'fontname','宋体');
numedit1=uicontrol(lcwin,'style','edit','units','normalized','position',[0.75 0.09 0.2 0.06],...
'fontsize',17,'back',[1 1 1],'max',10);
dd=text(0.1,0.22,'T=');
set(dd,'fontsize',15,'color',[0 0 0],'fontname','宋体');
tedit=uicontrol(lcwin,'style','edit','units','normalized','position',[0.18 0.18 0.2 0.06],...
'fontsize',15,'back',[1 1 1],'string',3);
%设置T值变化滑块
tslider=uicontrol(lcwin,'style','slider','units','normalized','position',[0.4 0.19 0.4 0.04],...
'fontsize',15,'back',[1 1 1],'Min',0,'Max',300,'Value',3,...
'CallBack',['t=get(tslider,''Value'');','set(tedit,''string'',[num2str(t)]);',...
'subplot(Axes);',...
'num=[1,t];','den=[1,3,2,0];','sys=tf(num,den);',...
'rlocus(sys);','syms(''x'',''w'',''k'',''real'');','n=poly2sym(k*num,x);','d=poly2sym(den,x);',...
'f=n+d;','g=w*i;','h=compose(f,g);','r=real(h);','l=simplify(imag(h));','[k,w]=solve(r,l);',...
'k1=sym2poly(k);','set(numedit,''string'',min(k1));','set(numedit1,''string'',max(k1));']);
t=get(tslider,'value');
num=[1,t];
den=[1,3,2,0];
%设置绘图区域
Axes=axes('Position',[.15 .33 .8 .56]);
%绘制根轨迹图
sys=tf(num,den)
rlocus(sys)
%得出系统稳定时K的取值范围
syms('x','w','k','real')
n=poly2sym(k*num,x)
d=poly2sym(den,x)
f=n+d
g=w*i
h=compose(f,g)
r=real(h)
l=simplify(imag(h))
[k,w]=solve(r,l)
k1=sym2poly(k)
if min(k1)<0
set(numedit,'string',0)
else
set(numedit,'string',min(k1))
end
if max(k1)<0
set(numedit1,'string',inf)
else
set(numedit1,'string',max(k1))
end
ylabel('虚 轴');
xlabel('实 轴');
title('根轨迹图');
%实验分析菜单
h_menu1=uimenu(lcwin,'label','实验分析','call','analyze1')
h_menu2=uimenu(lcwin,'label','退出','call','close')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -