Matlab 在自动控制原理中的应用
目录
一、实验目的……………………………………….3 二、预习要求……………………………………….3 三、实验内容……………………………………….3 四、实验总结……………………………………….14
一、实验目的:
1. 学习系统数学模型的多种表达方法,并会用函数相互转换。 2. 学习模型串并联及反馈连接后的系统传递函数。
3. 掌握系统BODE图,根轨迹图及奈奎斯特曲线的绘制方法。并利用其对系统进行分析。 4. 掌握系统时域仿真的方法,并利用其对系统进行分析。
二、预习要求:
借阅相关Matlab/Simulink参考书,熟悉能解决题目问题的相关Matlab函数。
三、实验内容:
1.已知H(s)=
0.05s1,求H(s)的零极点表达式和状态空间表达式。
(0.2s1)(0.1s1)答:
(1)零极点表达式: >> num=[0.05 1];
den=conv([0.2 1],[0.1 1]); sys1=tf(num,den)
1
sys2=zpk(sys1)
sys1 =
0.05 s + 1 -------------------- 0.02 s^2 + 0.3 s + 1
Continuous-time transfer function.
sys2 =
2.5 (s+20)
------------ (s+10) (s+5)
Continuous-time zero/pole/gain model. 状态空间表达式: >> num=[0.05 1];
den=conv([0.2 1],[0.1 1]); sys1=tf(num,den); sys3=ss(sys1)
sys3 =
a =
x1 x2 x1 -15 -6.25 x2 8 0
b = u1 x1 4 x2 0
c =
x1 x2 y1 0.625 1.562
d = u1 y1 0
% 零极点表达式 2
Continuous-time state-space model.
2.已知H1(s)s51,H2(s)。
s(s1)(s2)s1(1) 求两模型串联后的系统传递函数。
答:
>> m1=[1,5];
n1=conv([1],conv([1,1],[1,2])); m2=1; n2=[1,1];
[m,n]=series(m1,n1,m2,n2) G=tf(m,n) m =
0 0 1 5 n =
1 4 5 2 G =
s + 5
--------------------- % 两模型串联后的系统传递函数 H(s)=H1(s)*H2(s) s^3 + 4 s^2 + 5 s + 2
Continuous-time transfer function.
(2) 求两模型并联后的系统传递函数。 答:
>> m1=[1,5];
n1=conv([1],conv([1,1],[1,2])); m2=1; n2=[1,1];
[m,n]=parallel(m1,n1,m2,n2) G=tf(m,n) m =
3
0 2 9 7 n =
1 4 5 2 G =
2 s^2 + 9 s + 7
--------------------- % 两模型并联后的系统传递函数H(s)=H1(s)+H2(s) s^3 + 4 s^2 + 5 s + 2
Continuous-time transfer function.
(3) 求两模型在负反馈连接下的系统传递函数。 答:
>> m1=[1,5];
n1=conv([1],conv([1,1],[1,2])); m2=1; n2=[1,1];
[m,n]=feedback(m1,n1,m2,n2,-1) G=tf(m,n) m =
0 1 6 5 n =
1 4 6 7 G =
s^2 + 6 s + 5
--------------------- % 两模型在负反馈连接下的系统传递函数 s^3 + 4 s^2 + 6 s + 7
Continuous-time transfer function.
4
3. 作出上题中(1)的BODE图,并求出幅值裕度与相位裕度。 答:
>> num=[1,5]; den=[1,4,5,2]; w=logspace(-1,2); sys=tf(num,den) bode(num,den);
[g,p,wg,wp]=margin(sys)
sys =
s + 5 --------------------- s^3 + 4 s^2 + 5 s + 2
Continuous-time transfer function. g =
18.0016
p =
67.3499
wg =
4.7960
wp =
1.1127
幅值裕度 g = 18.0016 相位裕度 p = 67.3499 相角频率 wg=4.7960 截止频率 wp=1.1127
% 幅值裕度 % 相位裕度 % 相角频率 % 截止频率
5
Bode图
4.给定系统开环传递函数为G(s)K,绘制系统的根轨迹图与奈奎斯特2(s2)(s2s5)曲线,并求出系统稳定时的增益K的范围。 答:
(1)代码 >> num=[1];
den=conv([1,2],[1,2,5]); G=tf(num,den) figure(1) pzmap(G); figure(2) rlocus(G); figure(3) nyquist(G) G =
1 ---------------------- s^3 + 4 s^2 + 9 s + 10
Continuous-time transfer function.
(2)零极点分布图和根轨迹图
6
图1 零极点分布图
图2 根轨迹图
(3)奈奎斯特曲线
7
图3 Nyquist图
Nyquist Diagram0.10.080.060.04Imaginary Axis0.020-0.02-0.04-0.06-0.08-0.1-1-0.8-0.6-0.4-0.200.20.4Real Axis
图4 Nyquist图
(4)系统稳定时的增益K的范围
8
根轨迹曲线(标记处为 K 的临界值) 从图中得出其坐标为 0+3.01i ,此时 K 的临界值为 25.7。即当增益K<25.7时,系统稳定。
>> [r,k]=rlocus(num,den) r =
1.0e+02 *
-0.0100 + 0.0200i -0.0100 - 0.0200i -0.0200 -0.0091 + 0.0205i -0.0091 - 0.0205i -0.0217 -0.0085 + 0.0209i -0.0085 - 0.0209i -0.0231 -0.0074 + 0.0218i -0.0074 - 0.0218i -0.0253 -0.0057 + 0.0233i -0.0057 - 0.0233i -0.0286 -0.0035 + 0.0256i -0.0035 - 0.0256i -0.0330 -0.0006 + 0.0292i -0.0006 - 0.0292i -0.0388
9
0.0030 + 0.0341i 0.0030 - 0.0341i -0.0459 0.0074 + 0.0407i 0.0074 - 0.0407i -0.0547 0.0128 + 0.0491i 0.0128 - 0.0491i -0.0655 0.0194 + 0.0598i 0.0194 - 0.0598i -0.0788 0.7746 + 1.3650i 0.7746 - 1.3650i -1.53 Inf Inf Inf k =
1.0e+06 *
Columns 1 through 10
0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0002
Columns 11 through 13
0.0003 3.9147 Inf
5、对内容4中的系统,当K=10和40时,分别作出闭环系统的阶跃响应曲线,要求用Simulink实现。 答: (1) K=10
闭环系统的阶跃响应曲线
10
(2) K=40
闭环系统的阶跃响应曲线
11
(3) 实验结论
由图中可以看出:
K=10 时,曲线收敛,系统趋于稳定; K=40 时,曲线发散,系统不稳定。
四、实验总结
在本次实验中,通过对 MATLAB 实验的边做边学,我还对课程中有些不理解的内容进,一步加深了印象。我想起我当时学习根轨迹画图时,总是感觉很纠结,感觉画图不准确或者不理解,而这次通 过 MATLAB 简单地敲几个代码进去而画出了根轨迹的图,加深对课本中知识的理解,受益很多。最后,特别感谢此次实验课老师的悉心辅导和自控原理老师的课堂理论教导!
12