在Matlab中绘制系统的根轨迹图

在Matlab中绘制系统的根轨迹图
例如某系统的开环传递函数为:

在这里插入图片描述
通过上面的开环传递函数可以直接求出2个开环共轭复零点,以及5个开环极点,然后确定根轨迹分支数…自己画根轨迹图的话还是比较麻烦的,这么简单的事就交给计算机干吧!

下面就是在Matlab中进行编程来完成系统根轨迹的绘制:

num=[1,2,4];                             %开环传函分子多项式系数
den=conv(conv([1,4,0],[1,6]),[1,1.4,1]); %开环传函分母多项式系数
sys=tf(num,den);                         %系统传递函数模型
rlocus(sys);                             %绘制系统的根轨迹图
axis([-8 2 -6 6]);                       %设定坐标范围为:实轴[-8,2],虚轴[-6,6]

注:上面的conv(A,B)函数是用来求两个向量A和B的卷积,如果两个向量是多项式的系数的话,结果就表示两个多项式的乘积;如果有多个多项式,则可以多层套用。

在执行完绘制根轨迹图的命令后就可以画出该系统的根轨迹图了,为了显示的效果更好一些,则可以根据实际情况设定合适的坐标系范围。绘制出的根轨迹图如下图所示。通过Matlab绘制出的根轨迹图我们可以直观的看到图中的5个开环极点和2个开环零点,以及开环根轨迹增益K* 对系统稳定性的影响,在本例中我们可以看到,只有在K* 满足一定条件的情况下系统才是稳定的。
在Matlab中绘制系统的根轨迹图_第1张图片
在上图中可以利用游标工具直接在根轨迹图上获取分离点、会合点、根轨迹与虚轴的交点等任何一点的坐标,以及他们所对应的系统的根轨迹增益、阻尼比和超调量等信息,如下图所示。
在Matlab中绘制系统的根轨迹图_第2张图片
在分析系统性能的时候,除了某一点所对应的根轨迹增益外,有时还需要知道该增益所对应的其他闭环极点的值,这时候则只需输入以下命令即可:

[K,p]=rlocfind(sys)

点击回车之后,会在绘图界面出现一个十字光标,移动鼠标将光标对准你所要分析的点后单击左键(在这里选的是分离点),在命令窗口就会返回被选极点的开环增益K和与之对应的所有其他5个闭环极点的值。返回值如下:

selected_point =

  -2.3451 + 0.0000i


K =

    9.4862


p =

  -6.5521 + 0.0000i
  -2.3662 + 0.0000i
  -2.3451 + 0.0000i
  -0.0683 + 1.0193i
  -0.0683 - 1.0193i

也就是说,在根轨迹增益一定的情况下,满足这一增益的极点不止一个。

你可能感兴趣的:(Matlab相关)