实验一控制系统的稳定性分析一、实验目的1、研究高阶系统的稳定性,验证稳定判据的正确性;2、了解系统增益变化对系统稳定性的影响;3、观察系统结构和稳态误差之间的关系。
二、实验任务1、稳定性分析欲判断系统的稳定性,只要求出系统的闭环极点即可,而系统的闭环极点就是闭环传递函数的分母多项式的根,可以利用MATLAB中的tf2zp函数求出系统的零极点,或者利用root函数求分母多项式的根来确定系统的闭环极点,从而判断系统的稳定性。
(1)已知单位负反馈控制系统的开环传递函数为0.2( 2.5)()(0.5)(0.7)(3)sG ss 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.2k=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,1Zero/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.dendc=[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.3961ip为特征多项式dens的根,即为系统的闭环极点,所有闭环极点都是负的实部,因此闭环系统是稳定的。
下面绘制系统的零极点图,MATLAB程序代码如下:>>z=-2.5z=-2.5000[0,-0.5,-0.7,-3]p=0-0.5000-0.7000-3.0000>>k=0.2k=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.500p=-3.0058-1.0000-0.0971+0.3961i-0.0971-0.3961ik=>>pzmap(Gctf)>>grid零极点分布图(2)已知单位负反馈控制系统的开环传递函数为( 2.5)()(0.5)(0.7)(3)k sG ss s s s+=+++,当取k=1,10,100用MATLAB编写程序来判断闭环系统的稳定性。
当=取1的时候在MATLAB命令窗口写入程序代码如下:>>z=-2.5z=-2.5000>>p=[0,-0.5,-0.7,3]p=0-0.5000-0.70003.0000>>k=1k=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.dendc=[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.05002.5000>>p=roots(den)p=2.8411-0.9105+0.5469i-0.9105-0.5469i0.7799p为特征多项式dens的根,即为系统的闭环极点,所有闭环极点都是负的实部,因此闭环系统是不稳定的。
下面绘制系统的零极点图,MATLAB程序代码如下:>>z=-2.5z=-2.5000>>p=[0,-0.5,-0.7,-3]p=0-0.5000-0.7000-3.0000>>k=1k=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+3.03)(s+1.332)(s^2-0.1616s+0.6195)>>Gctf=tf(Gc)Transferfunction:s+2.5---------------------------------------s^4+4.2s^3+3.95s^2+2.05s+2.5>>[z,p,k]=zpkdata(Gctf,'v')z=-2.5000p=-3.0297-1.33190.0808+0.7829i0.0808-0.7829ik=1>>pzmap(Gctf)>>grid当=取10的时候在MATLAB命令窗口写入程序代码如下:>>z=-2.5z=-2.5000>>p=[0,-0.5,-0.7,-3]p=0-0.5000-0.7000-3.0000>>k=10k=10>>Go=zpk(z,p,k)Zero/pole/gain:10(s+2.5)-----------------------s(s+0.5)(s+0.7)(s+3)>>Gc=feedback(Go,1)Zero/pole/gain:10(s+2.5)----------------------------------------- (s+2.082)(s+3.335)(s^2-1.217s+3.6)>>Gctf=tf(Gc)Transferfunction:10s+25---------------------------------------s^4+4.2s^3+3.95s^2+11.05s+25>>dc=Gctf.dendc=[1x5double]>>dens=poly2str(dc{1},'s')dens=s^4+4.2s^3+3.95s^2+11.05s+25>>den=[1,4.2,3.95,11.05,25]den=1.00004.20003.950011.050025.0000>>p=roots(den)p=0.6086+1.7971i0.6086-1.7971i-3.3352-2.0821p为特征多项式dens的根,即为系统的闭环极点,所有闭环极点都是负的实部,因此闭环系统是不稳定的。
下面绘制系统的零极点图,MATLAB程序代码如下:>>z=-2.5z=-2.5000>>p=[0,-0.5,-0.7,-3]p=0-0.5000-0.7000-3.0000>>k=10k=10>>Go=zpk(z,p,k)Zero/pole/gain:10(s+2.5)-----------------------s(s+0.5)(s+0.7)(s+3)>>Gc=feedback(Go,1)Zero/pole/gain:10(s+2.5)-----------------------------------------(s+2.082)(s+3.335)(s^2-1.217s+3.6)>>Gctf=tf(Gc)Transferfunction:10s+25---------------------------------------s^4+4.2s^3+3.95s^2+11.05s+25>>[z,p,k]=zpkdata(Gctf,'v')z=-2.500p=0.6086+1.7971i0.6086-1.7971i-3.3352-2.0821p为特征多项式dens的根,即为系统的闭环极点,所有闭环极点都是负的实部,因此闭环系统是不稳定的。
k=10>>pzmap(Gctf)>>grid>>当=取100的时候在MATLAB命令窗口写入程序代码如下:>>z=-2.5z=-2.5000>>p=[0,-0.5,-0.7,-3]p0-0.5000-0.7000-3.0000>>k=100k=100>>Go=zpk(z,p,k)Zero/pole/gain:100(s+2.5)-----------------------s(s+0.5)(s+0.7)(s+3)>>Gc=feedback(Go,1)Zero/pole/gain:100(s+2.5)------------------------------------------- (s+5.358)(s+2.454)(s^2-3.612s+19.01)>>Gctf=tf(Gc)Transferfunction:100s+250----------------------------------------s^4+4.2s^3+3.95s^2+101.1s+250>>dc=Gctf.dendc=[1x5double]>>dens=poly2str(dc{1},'s')dens=s^4+4.2s^3+3.95s^2+101.05s+250>>den=[1,4.2,3.95,101.05,250]den=1.00004.20003.9500101.0500250.0000>>p=roots(den)p=1.8058+3.9691i1.8058-3.9691i-5.3575-2.4541p为特征多项式dens的根,即为系统的闭环极点,所有闭环极点都是负的实部,因此闭环系统是不稳定的。