MATLAB分析系统稳定性方法
时间:2020-09-03 08:05:50 来源:达达文档网 本文已影响 人
Matlab在控制系统稳定性判定中的应用
稳定是控制系统的重要性能,也是系统能够工作的首要条件,因此,如何分析系统的稳定性并找出保证系统稳定的措施,便成为自动控制理论的一个基本任务.线性系统的稳定性取决于系统本身的结构和参数,而与输入无关.线性系统稳定的条件是其特征根均具有负实部.
在实际工程系统中,为避开对特征方程的直接求解,就只好讨论特征根的分布,即看其是否全部具有负实部,并以此来判别系统的稳定性,由此形成了一系列稳定性判据,其中最重要的一个判据就是劳斯判据。劳斯判据给出线性系统稳定的充要条件是:系统特征方程式不缺项,且所有系数均为正,劳斯阵列中第一列所有元素均为正号,构造劳斯表比用求根判断稳定性的方法简单许多,而且这些方法都已经过了数学上的证明,是完全有理论根据的,是实用性非常好的方法.
具体方法及举例:
一 用系统特征方程的根判别系统稳定性
设系统特征方程为s5+s4+2s3+2s2+3s+5=0,计算特征根并判别该系统的稳定性。在command window窗口输入下列程序,记录输出结果。
>> p=[1 1 2 2 3 5];
>> roots(p)
二 用根轨迹法判别系统稳定性:对给定的系统的开环传递函数
1.某系统的开环传递函数为 ,在command window窗口输入程序,记录系统闭环零极点图及零极点数据,判断该闭环系统是否稳定。
>> clear
>> n1=[0.25 1];
>> d1=[0.5 1 0];
>> s1=tf(n1,d1);
>> sys=feedback(s1,1);
>> P=sys.den{1};p=roots(P)
>> pzmap(sys)
>> [p,z]=pzmap(sys)
2.某系统的开环传递函数为 ,在command window窗口输入程序,记录系统开环根轨迹图、系统开环增益及极点,确定系统稳定时K的取值范围。
>> clear
>> n=[1];d=conv([1 1 0],[0.5 1]);
>> sys=tf(n,d);
>> rlocus(sys)
>> [k,poles]=rlocfind(sys)
频率特性法判别系统的稳定性
三 BODE图法:
1.已知系统开环传递函数 ,在command window窗口输入程序,用Bode图法判稳,记录运行结果,并用阶跃相应曲线验证(记录相应曲线)
1)绘制开环系统Bode图,记录数据。
>> num=75*[0 0 0.2 1];
>> den=conv([1 0],[1 16 100]);
>> sys=tf(num,den);
>> [Gm,Pm,Wcg,Wcp]=margin(sys)
>> margin(sys)
2)绘制系统阶跃响应曲线,证明系统的稳定性。
>> num=75*[0 0 0.2 1];
>> den=conv([1 0],[1 16 100]);
>> s=tf(num,den);
>> sys=feedback(s,1);
>> t=0:0.01:30;
>> step(sys,t)
四 Nyquist图法
1.已知系统开环传递函数 ,在command window窗口输入程序,用Nyquist图法判稳,记录运行结果,并用阶跃相应曲线验证(记录相应曲线)。
1)绘制Nyquist图,判断系统稳定性。
>> clear
>> num=[10000];
>> den=[1 5 100 0];
>> GH=tf(num,den);
>> nyquist(GH)
五 用阶跃响应曲线验证系统的稳定性
已知系统开环传递函数 判断系统的稳定性
程序如下:
>> num=[10000];
>>den=[1 5 100 0];
>> s=tf(num,den);
>> sys=feedback(s,1);
>> t=0:0.01:0.6;
>> step(sys,t)
学习心得与体会
通过这几周的MATLAB课程的学习,我了解到了MATLAB在自动控制系统分析中的重要意义,在学习过程中,我体会到了MATLAB的在控制系统分析中的快速性与方便性.在学习中也遇到了不少问题,经过老师的细心指导,对MATLAB的学习能够更进一步.最后,感谢老师对我学习上的帮助和鼓励.