?? 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 + -