?? root2.m
字號:
%繪制根軌跡圖
disp('開環傳遞函數G(s)為:')
printsys(num1,den1,'s');
disp('反饋傳遞函數H(s)為:')
printsys(num2,den2,'s');
lcwin=figure('Position',[120 49 513 491],'Name','0度根軌跡圖','NumberTitle','off',...
'MenuBar','none');
axes('position',[0 0 1 1]);
axis off;
dd=text(0.06,0.14,'系統穩定時K的范圍');
set(dd,'fontsize',15,'color',[0 0 0],'fontname','宋體');
numedit=uicontrol(lcwin,'style','edit','units','normalized','position',[0.45 0.1 0.2 0.1],...
'fontsize',17,'back',[1 1 1],'max',10);
dd1=text(0.67,0.14,'到');
set(dd1,'fontsize',15,'color',[0 0 0],'fontname','宋體');
numedit1=uicontrol(lcwin,'style','edit','units','normalized','position',[0.75 0.1 0.2 0.1],...
'fontsize',17,'back',[1 1 1],'max',10);
%設置繪圖區域
axes('Position',[.15 .33 .8 .56]);
%繪制根軌跡圖
sys1=tf(num1,den1)
sys2=tf(num2,den2)
sys3=series(sys1,sys2)
sys=feedback(sys1,sys2,+1)
n1=num1(1,1)
n2=num2(1,1)
d1=den1(1,1)
d2=den2(1,1)
if n1>0&d1>0&n2>0&d2>0||d1<0&n1<0&n2>0&d2>0||n2<0&n1<0&d1>0&d2>0||d2<0&n1<0&d1>0&n2>0||...
n1>0&d1<0&n2<0&d2>0||d1<0&n1>0&n2>0&d2<0||n2<0&n1>0&d1<0&d2>0||d2<0&n1>0&d1>0&n2<0
msgbox('輸入范圍出錯','警告','warn')
else
rlocus(sys3)
%得出系統穩定時K的取值范圍
syms('x','w','k','real')
num=conv(num1,num2)
den=conv(den1,den2)
n=poly2sym(k*num,x)
d=poly2sym(den,x)
f=d-n
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
set(numedit1,'string',max(k1))
end
ylabel('虛 軸');
xlabel('實 軸');
title('根軌跡圖');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -