MATLAB与控制系统仿真实验报告
(实验四)
系 别 : 信息与控制系
班 级 : 测控0704班 姓 名 : 秦海华(11) 学 号 : 时 间 :
06072116 2009-12-1
实验四、控制系统根轨迹分析及频域分析
一、 实验目的及要求
1. 掌握连续系统的根轨迹法及Matlab中的应用 2. 掌握Matlab测量系统频率特性的方法 3. 撰写实验报告
二、 实验内容
1. 系统1的开环传递函数为:Gk1(s)K
s(0.2s1)(0.5s1)要求:1) 绘制并记录根轨迹
2) 确定根轨迹的分离点与相应的根轨迹增益 3) 确定临界稳定时的根轨迹增益
(1)num=[1]
den=conv([0.2 1 0],[0.5 1]) sys=tf(num,den) rlocus(sys)
(2)[kd,pd]=rlocfind(sys)
Select a point in the graphics window selected_point = -0.88 - 0.0359i kd =
0.4065 pd =
-5.2395 -0.8802 + 0.0326i -0.8802 - 0.0326i (3)[kp,pp]=rlocfind(sys)
Select a point in the graphics window selected_point =
-0.0178 + 3.1257i
kp =
6.8044 pp =
-6.9666 -0.0167 + 3.1252i -0.0167 - 3.1252i2.
(广义根轨迹)设控制系统2如图所示,其中Gc(s)为改善系统性能而加入的校正装置。若
Ks2三种传递函数中任选一种,分别作出相应的根轨迹图,分Gc(s)可从Kts、Ks、
s202析说明应选择哪一种校正装置可达到工程最佳阻尼比。
10C(s) R(s) + + 100 s(s10)- - s20
Gc(s)
(1) Kts:sys1=tf(100,[1 20]) sys2=tf(10,[1 10 0]) sys3=tf([1 0],1) sys4=tf(1,1)
sys5= feedback(sys2,sys3,-1) sys6=series(sys1,sys5) Transfer function: 1000 -------------------- s^3 + 40 s^2 + 400 s >> rlocus(sys6)
(2) Kas^2: sys1=tf(100,[1 20])
sys2=tf(10,[1 10 0])
sys3=tf([1 0 0],1) sys4=tf(1,1)
sys5= feedback(sys2,sys3,1)
sys6=series(sys1,sys5)
Transfer function:
1000
------------------------
11 s^3 + 230 s^2 + 200 s >> rlocus(sys6)
(3) (3)sys1=tf(100,[1 20])
sys2=tf(10,[1 10 0]) sys3=tf([1 0 0],[1 20]) sys4=tf(1,1)
sys5= feedback(sys2,sys3,-1)
sys6=series(sys1,sys5) Transfer function:
1000 s + 20000 --------------------------------
s^4 + 60 s^3 + 1000 s^2 + 4000 s
>> rlocus(sys6)
3.系统开环传递函数为G(s)K0: 2s10s5001) 取K0=500,绘制系统的bode图,并用[h,r,wg,wc]=margin(sys)函数求系统的频率
特性参数:幅值裕度、相位裕度、穿越频率、截止频率。
2) 改变K0=[100 500 1000],绘制系统的Nyquist曲线,比较分析K0变化对曲线的影
响。
(1) num=[500]
den=[1 10 500] sys=tf(num,den)
[h,r,wg,wc]=margin(sys) h = Inf r =
36.88 wg = Inf wc =
30.0016
Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 36.9 deg (at 30 rad/sec)200Magnitude (dB)Phase (deg)-20-40-60-800-45-90-135-18010010110Frequency (rad/sec)2103
(2)num=[100] den=[1 10 500] nyquist(num,den)
num=[500] den=[1 10 500] nyquist(num,den)
num=[1000] den=[1 10 500] nyquist(num,den)
Nyquist Diagram5432Imaginary Axis10-1-2-3-4-5-2-1.5-1-0.500.5Real Axis11.522.53
4. 系统开环传递函数为
G(s)16(19s1)(0.44s1)
(0.625s1)(0.676s1)(43.5s1)(0.033s1)[(0.02s)20.015s1]绘制系统的Nyquist曲线,并判定系统的稳定性,并画出系统的阶跃响应。
s=tf('s')
G=[16*(19*s+1)*(0.44*s+1)]/[(0.625*s+1)*(0.676-1)*(43.5*s-1)*(0.033*s+1)*(0.0004*s^2+0.015*s+1)] sys=tf(G) nyquist(num,den) num=[-133.8 -311 -16]
den=[0.0001163 0.008067 0.4352 9.475 13.8 -0.324] [num1,den1]=cloop(num,den) step(num1,den1) P=roots(den1)
disp('系统的闭环极点为'),disp(P) ss=find(real(P)>0) tt=length(ss) if(ss>0)
disp('系统不稳定')
disp('位于右复半平面的极点为'),disp(P(ss)) else disp('系统是稳定的') end
Transfer function: s
Transfer function:
-133.8 s^2 - 311 s - 16
---------------------------------------------------------------- 0.0001163 s^5 + 0.008067 s^4 + 0.4352 s^3 + 9.475 s^2 + 13.88 s - 0.324 num =
-133.8000 -311.0000 -16.0000 den =
0.0001 0.0081 0.4352 9.4750 13.8000 -0.3240 num1 =
0 0 0 -133.8000 -311.0000 -16.0000 den1 =
0.0001 0.0081 0.4352 -124.3250 -297.2000 -16.3240 P =
-71.1605 +96.1257i -71.1605 -96.1257i 75.3294 -2.3158 -0.0562 系统的闭环极点为
-71.1605 +96.1257i -71.1605 -96.1257i 75.3294 -2.3158 -0.0562 ss = 3 tt = 1 系统不稳定
位于右复半平面的极点为 75.3294
0-2-4-6x 105Step ResponseAmplitude-8-10-12-14-16-1800.020.040.060.080.1Time (sec)0.120.140.160.180.2