实验一 控制系统的稳定性分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一控制系统的稳定性分
班级:光伏2班
姓名:王永强
学号:1200309067
实验一控制系统的稳定性分析
一、实验目的
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.5
p=[0,-0.5,-0.7,-3]
k=1
Go=zpk(z,p,k)
Gc=feedback(Go,1)
Gctf=tf(Gc)
dc=Gctf.den
dens=ploy2str(dc{1},'s')
运行结果如下:
Gctf =
s + 2.5
---------------------------------------
s^4 + 4.2 s^3 + 3.95 s^2 + 2.05 s + 2.5
Continuous-time transfer function.
dens是系统的特征多项式,接着输入如下MATLAB程序代码:
den=[1,4.2,3.95,1.25,0.5]
p=roots(den)
运行结果如下:
p =
-3.0058 + 0.0000i
-1.0000 + 0.0000i
-0.0971 + 0.3961i
-0.0971 - 0.3961i
p为特征多项式dens的根,即为系统的闭环极点,所有闭环极点都是负的实部,因此闭环系统是稳定的。
下面绘制系统的零极点图,MATLAB程序代码如下:
z=-2.5
p=[0,-0.5,-0.7,-3]
k=1
Go=zpk(z,p,k)
Gc=feedback(Go,1)
Gctf=tf(Gc)
[z,p,k]=zpkdata(Gctf,'v')
pzmap(Gctf)
Grid
运行结果如下:
z = -2.5000
p =
-3.0297 + 0.0000i
-1.3319 + 0.0000i
0.0808 + 0.7829i
0.0808 - 0.7829i k =1
输出零极点分布图
(2)已知单位负反馈控制系统的开环传递函数为
( 2.5)
()
(0.5)(0.7)(3)
k s
G s
s s s s
+
=
+++,
当取k=1,10,100用MATLAB编写程序来判断闭环系统的稳定性。
只要将(1)代码中的k值变为1,10,100,即可得到系统的闭环极点,从而判断系统
的稳定性,并讨论系统增益k变化对系统稳定性的影响。
1.当K=1时
在MATLAB命令窗口写入程序代码如下:
z=-2.5
p=[0,-0.5,-0.7,-3]
k=1
Go=zpk(z,p,k)
Gc=feedback(Go,1)
Gctf=tf(Gc)
dc=Gctf.den
dens=ploy2str(dc{1},'s')
运行结果如下:
Gctf =
s + 2.5
---------------------------------------
s^4 + 4.2 s^3 + 3.95 s^2 + 2.05 s + 2.5
Continuous-time transfer function.
接着输入如下MATLAB程序代码:
den=[1,4.2,3.95,1.25,0.5]
p=roots(den)
运行结果如下:
p =
-3.0058 + 0.0000i
-1.0000 + 0.0000i
-0.0971 + 0.3961i
-0.0971 - 0.3961i
下面绘制系统的零极点图,MATLAB程序代码如下:
z=-2.5
p=[0,-0.5,-0.7,-3]
k=1
Go=zpk(z,p,k)
Gc=feedback(Go,1)
Gctf=tf(Gc)
[z,p,k]=zpkdata(Gctf,'v')
pzmap(Gctf)
Grid
运行结果如下:
z = -2.5000
p =
-3.0297 + 0.0000i
-1.3319 + 0.0000i
0.0808 + 0.7829i
0.0808 - 0.7829i
k =1
输出零极点分布图
2.当K=10时
在MATLAB命令窗口写入程序代码如下: z=-2.5
p=[0,-0.5,-0.7,-3]
k=10
Go=zpk(z,p,k)
Gc=feedback(Go,1)
Gctf=tf(Gc)
dc=Gctf.den
dens=ploy2str(dc{1},'s')
运行结果如下: