控制理论基础实验(基于MATLAB)
由图可知:k=2.38
(3)以区间[-20,-1]之间的值替代零点的位置,重新绘制根轨迹图,观察其对根轨迹图的影响。
实验代码: a=-40:1:-5; h=[1]; hold on; for i=1:length(a); num=[-5]; den=[-1,3,a(i)]; G=zpk(num,den,h); sys=feedback(G,1); rlocus(sys) end
实验结果:
p1=-2.12
p2=-11.8
21
控制理论基础实验(基于MATLAB)
结果分析:
随着极点的变化,根轨迹的形状一直在改变,但是一直是始于开环极点,终于开环零点或无穷远处,并且开环极点数目不变,根轨迹的分指数也不变。
2. 已知系统开环传递函数为
G(s)?K(s?8) 2s(s?2)(s?8s?32)(1)使用MATLAB 绘制系统的根轨迹图。 实验代码: num=[-8];
den=[0,-2,-4+4*j,-4-4*j]; h=[1];
G=zpk(num,den,h); sys=feedback(G,1); rlocus(sys)
实验结果:
22
控制理论基础实验(基于MATLAB)
(2)计算两条分支进入右半平面和两条分支复数极点出发在实轴相交处的K 值。 实验结果:
由图可知:k1=52
(3)以区间[-20,-1]之间的值替代零点的位置,重新绘制根轨迹图,观察其对根轨迹图的影响。
实验代码: a=-20:5:-1; h=[1] hold on; for i=1:length(a) num=[a(i)];
den=[0,-2,-4+4*j,-4-4*j]; G=zpk(num,den,h); sys=feedback(G,1); rlocus(sys); end
23
k2=2.07x10^3
控制理论基础实验(基于MATLAB)
实验结果:
(3)已知单位负反馈系统的开环传递函数为
G(s)?K
s(s2?4s?5)(1)使用MATLAB 绘制系统的根轨迹图。 实验代码: num=[1]; den=[1 4 5 0]; G=tf(num,den); sys=feedback(G,1); rlocus(sys)
24
控制理论基础实验(基于MATLAB)
实验结果:
(2)分析使系统稳定的K值范围和使系统无超调的K值范围,并通过观察系统的单位阶跃响应曲线加以验证。
实验代码: den=[1 4 5 0]; a=20:10:100; hold on; for i=1:length(a); num1=[a(i)]; G1=tf(num1,den); sys1=feedback(G1,1); step(sys1) end
b=1:2:20; hold on;
25
for i=1:length(b) num=[b(i)]; G2=tf(num,den); sys2=feedback(G2,1); step(sys2) end
c=0.1:0.1:1; hold on; for i=1:length(c); num3=[c(i)]; G3=tf(num3,den);