MATLAB实现控制系统的时域分析,及稳定性判断,特征根法,劳斯判别法

您所在的位置:网站首页 matlab求特征根 MATLAB实现控制系统的时域分析,及稳定性判断,特征根法,劳斯判别法

MATLAB实现控制系统的时域分析,及稳定性判断,特征根法,劳斯判别法

#MATLAB实现控制系统的时域分析,及稳定性判断,特征根法,劳斯判别法| 来源: 网络整理| 查看: 265

      控制系统的时域分析法,即直接在时间域中对系统进行分析,可以提供系统时间响应的全部信息,具有直观、准确的特点。为了研究控制系统的时域特性,经常采用瞬态响应(如阶跃响应、脉冲响应)。

       用MATLAB求系统的瞬态响应时,将传递函数的分子、分母多项式的系数分别以s的降幂排列写为两个数组num、den。由于控制系统分子的阶次m一般小于其分母的阶次n,所以num中的数组元素与分子多项式系数之间自右向左逐次对其,不足部分用零补齐,缺项系数也用零补上。

例如,对于下列系统:

该系统可以表示为两个数组,每一个数组由相应的多项式系数组成,并且以s的降幂排列。求其阶跃响应的MATLAB指令为:

num = [0 0 25]; den = [1 4 25]; step(num,den) grid

运行结果为:

 同样的,求系统的脉冲响应指令为:impulse(num,den)

        对于系统的稳定性判断,一般有两种方法:

1.直接求根判稳:控制系统稳定的充要条件是其特征方程的根均具有负实部。因此为了判别系统的稳定性就要求出系统特征方程的根,并检验它们是否都具有负实部。

        MATLAB中对多项式求根的函数为roots(),若求以下多项式的根:

则MATLAB指令为:

>> roots([1,10,35,50,24])

运行结果:

ans =

   -4.0000    -3.0000    -2.0000    -1.0000         可见特征方程的根具有负实部,因而系统为稳定的。

2.劳斯稳定判据:劳斯判据是通过构造系统的劳斯表,依据劳斯表的第一列是否有符号的变化,判断系统的稳定性。若劳斯表的第一列没有符号的变化,则系统是稳定的。

        由于MATLAB中没有自带的构造劳斯表的函数,需要自己编写,以下给出一种实现劳斯表的函数代码:

function R = routh(D) %R表示劳斯表,D表示特征多项式系数组成的向量 L = length(D); if rem(L,2)==1 k=L+1; else k=L; end R = zeros(L,k/2); if rem(L,2)==0 for j=1:k/2 R(1,j) = D(2*j-1); R(2,j)=D(2*j); end else for j=1:(k/2)-1 R(1,j)=D(2*j-1); R(1,k/2)=D(k-1); R(2,j)=D(2*j); end end for i=3:L for j=1:k/2-1 R(i,j)=(R(i-1,1)*R(i-2,j+1)-R(i-2,1)*R(i-1,j+1))/R(i-1,1); end end R %在屏幕上显示routh表

以上述多项式为例,由routh判据判定系统的稳定性:

den = [1,10,35,50,24]; r = routh(den)

运行结果:

R =

     1    35    24     10    50     0     30    24     0     42     0     0     24     0     0

        由系统返回的routh表可以看出,其第一列没有符号的变化,系统式稳定的。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3