自动控制仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一控制系统的稳定性分析
一、实验目的
1、研究高阶系统的稳定性,验证稳定判据的正确性;
2、了解系统增益变化对系统稳定性的影响;
3、观察系统结构和稳态误差之间的关系。
二、实验任务
1、稳定性分析
欲判断系统的稳定性,只要求出系统的闭环极点即可,而系统的闭环极点就是闭环传递函数的分母多项式的根,可以利用MATLAB中的tf2zp函数求出系统的零极点,或者利用root函数求分母多项式的根来确定系统的闭环极点,从而判断系统的稳定性。
(1)已知单位负反馈控制系统的开环传递函数为
0.2( 2.5)
()
(0.5)(0.7)(3)
s
G s
s s s s
+
=
+++,
用MATLAB编写程序来判断闭环系统的稳定性,并绘制闭环系统的零极点图。
三、实验内容:
在MATLAB命令窗口写入程序代码如下:
>>z=-2.
z=
-2.5000
>>p=[0,-0.5,-0.7,-3]
p=
0-0.5000-0.7000-3.0000
>>k=0.2
k=
0.2000
>>Go=zpk(z,p,k)
Zero/pole/gain:
0.2(s+2.5)
-----------------------
s(s+0.5)(s+0.7)(s+3)
>>Gc=feedback(Go,1
Zero/pole/gain:
0.2(s+2.5)
----------------------------------------
(s+3.006)(s+1)(s^2+0.1942s+0.1663)
>>Gctf=tf(Gc)
Transferfunction:
0.2s+0.5
---------------------------------------
s^4+4.2s^3+3.95s^2+1.25s+0.5
>>dc=Gctf.den
dc=
[1x5double]
>>dens=poly2str(dc{1},'s')
dens=
s^4+4.2s^3+3.95s^2+1.25s+0.5
>>den=[1,4.2,3.95,1.25,0.5]
den=
1.00004.20003.95001.25000.5000
>>p=roots(den)
p=
-3.0058
-1.0000
-0.0971+0.3961i
-0.0971-0.3961i
p为特征多项式dens的根,即为系统的闭环极点,所有闭环极点都是负的实部,因此闭环系统是稳定的。
下面绘制系统的零极点图,MATLAB程序代码如下:
>>z=-2.5
z=
-2.5000
[0,-0.5,-0.7,-3]
p=0-0.5000-0.7000-3.0000
>>k=0.2
k=
0.2000
>>Go=zpk(z,p,k)
Zero/pole/gain:
0.2(s+2.5)
-----------------------
s(s+0.5)(s+0.7)(s+3)
>>Gc=feedback(Go,1)
Zero/pole/gain:
0.2(s+2.5)
----------------------------------------- (s+3.006)(s+1)(s^2+0.1942s+0.1663)
>>Gctf=tf(Gc)
Transferfunction:
0.2s+0.5
---------------------------------------
s^4+4.2s^3+3.95s^2+1.25s+0.5
>>[z,p,k]=zpkdata(Gctf,'v')
z=
-2.500
p=
-3.0058
-1.0000
-0.0971+0.3961i
-0.0971-0.3961i
k=
>>pzmap(Gctf)
>>grid
零极点分布图
(2)已知单位负反馈控制系统的开环传递函数为
( 2.5)
()
(0.5)(0.7)(3)
k s
G s
s s s s
+
=
+++,
当取k=1,10,100用MATLAB编写程序来判断闭环系统的稳定性。当=取1的时候在MATLAB命令窗口写入程序代码如下:
>>z=-2.5
z=
-2.5000
>>p=[0,-0.5,-0.7,3]
p=
0-0.5000-0.70003.0000
>>k=1
k=
1
>>Go=zpk(z,p,k)
Zero/pole/gain:
(s+2.5)
-----------------------
s(s+0.5)(s+0.7)(s-3)
>>Gc=feedback(Go,1)
Zero/pole/gain:
(s+2.5)
--------------------------------------------
(s-2.841)(s-0.7799)(s^2+1.821s+1.128)
>>Gctf=tf(Gc)
Transferfunction:
s+2.5
---------------------------------------
s^4-1.8s^3-3.25s^2-0.05s+2.5
>>dc=Gctf.den
dc=
[1x5double]
>>dens=poly2str(dc{1},'s')
dens=
s^4-1.8s^3-3.25s^2-0.05s+2.5
>>den=[1,-1.8,-3.25,-0.05,2.5]
den=
1.0000-1.8000-3.2500-0.0500
2.5000
>>p=roots(den)
p=
2.8411
-0.9105+0.5469i
-0.9105-0.5469i
0.7799
p为特征多项式dens的根,即为系统的闭环极点,所有闭环极点都是负的实部,因此闭环系统是不稳定的。
下面绘制系统的零极点图,MATLAB程序代码如下: