根轨迹分析实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程名称: 控制理论乙 指导老师: 成绩: 实验名称: 控制系统的根轨迹分析 实验类型: 同组学生姓名:
一、实验目的和要求(必填) 二、实验内容和原理(必填)
三、主要仪器设备(必填) 四、操作方法和实验步骤
五、实验数据记录和处理 六、实验结果与分析(必填)
七、讨论、心得
一、实验目的和要求
1. 掌握用计算机辅助分析法分析控制系统的根轨迹
2. 熟练掌握Simulink 仿真环境
二、实验内容和原理
1. 实验内容
一开环系统传递函数为
22)
34()2()(+++=s s s k s G 绘制出此闭环系统的根轨迹,并分析系统的稳定性。
2. 实验原理
根轨迹是指,当开环系统某一参数(一般来说,这一参数选作开环系统的增益k )从零变到无穷大时,死循环系统特征方程的根在s 平面上的轨迹。因此,从根轨迹,可分析系统的稳定性、稳态性能、动态性能。同时,对于设计系统可通过修改设计参数,使闭环系统具有期望的零极点分布,因此根轨迹对系统设计也具有指导意义。在MATLAB 中,绘制根轨迹有关的函数有:rlocus ,rlocfind ,pzmap 等。
3. 实验要求
(1)编制MA TLAB 程序,画出实验所要求根轨迹, 求出系统的临界开环增益,并用闭环系统的冲击响应证明之。
(2)在Simulink 仿真环境中,组成系统的仿真框图,观察临界开环增益时系统单位阶跃响应曲线并记录之。
三、主要仪器设备
计算机一台以及matlab 软件,simulink 仿真环境
四、实验源代码
>> A=[1 2];
>> B=conv([1 4 3],[1 4 3]);
>> G=tf(A,B)
G =
s + 2
-------------------------------
s^4 + 8 s^3 + 22 s^2 + 24 s + 9
Continuous-time transfer function.
>> figure
>> pzmap(G)
>> rlocus(G)
>> x=solve('s^4-22*s^2+9+2*k=0','-8*s^3+(24+k)*s=0')
x =
k: [5x1 sym]
s: [5x1 sym]
>> x0=x.k
x0 =
-9/2
-32*3^(1/2)
32*3^(1/2)
-32*3^(1/2)
32*3^(1/2)
>> x1=x0(3)
x1 =
32*3^(1/2)
>> G1=G*32*3^(1/2)
G1 =
55.43 s + 110.9
-------------------------------
s^4 + 8 s^3 + 22 s^2 + 24 s + 9
Continuous-time transfer function.
>> G2=G1/(1+G1)
G2 =
55.43 s^5 + 554.3 s^4 + 2106 s^3 + 3769 s^2 + 3159 s + 997.7
-----------------------------------------------------------------------------------
s^8 + 16 s^7 + 108 s^6 + 455.4 s^5 + 1440 s^4 + 3306 s^3 + 4741 s^2 + 3591 s + 1079 Continuous-time transfer function.
>> impulse(G2) >> xlim([0 20])
2.simulink仿真
(1)新建一个simulink仿真文件,然后按照框架图连接如下图所示
(2)分别带入不同的K值,运行仿真,得到最终的波形如下图所示(其中K=32*3^(1/2)=55.425为临界开环增益)
K=32
K=55.425
K=65
五、心得、体会
1.通过本次实验,学会了如何用MATLAB程序来实现根轨迹分析,包括根轨迹图的绘制、根轨迹的临界开环增益求解方法、临界与非临界冲激响应的实现方法等,并且进一步掌握了simulink方法的应用,对我们在课上学习根轨迹更有着促进作用。
2.在根轨迹求解函数中,我们运用了s=solve(‘方程’,’方程’)的方法来求解,实际上还有两种其他方法可以求解方程。一种是用s=roots(‘方程’),这种方法和上述方法基本一样,只是调用的时候有些差别;另一种方法是直接用复数方程来替代原来的实数多项式方程,这种方法较为直接,且减少了人为计算量,不过最终的根也是用复数形式来表示,当你需要引用的时候,可能也需要real()函数和imag()函数来求实部和虚部,也会比较麻烦。
3.另外,在求临界开环增益的过程中,我们同样应用了rlocfind()函数,可以在图上直观地求解临界开环增益。不过,这时的临界开环增益只能是准确值的一种近似,而且这种方法需要提前实现rlocus()函数,让根轨迹图显示出来,然后再用鼠标指向根轨迹与y轴交点,可能会存在一定误差,不过实验证明这点误差并不影响整体结果,而且交点指示也比较明确。
4.在求出临界开环增益之后,我们在用simulink仿真过程中,为了比较开环临界增益5
5.425的准确性,我们分别取了一个大于临界开环增益的数和一个小于临界开环增益的数,结果显示我们的计算是正确的。
5.在根轨迹的开环临界冲激响应时,由于自动求出来的x在0-70之间,等幅振荡波形非常密集,无法观察图像,所以加一条语句xlim([0 20]),减少横坐标的最大范围,来保证实验波形的美观。