Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

rlocus

动态系统的根轨迹图

说明

示例

rlocus(sys) 计算并绘制 SISO 模型 sys 的根轨迹。根轨迹以反馈增益 k 的函数形式返回闭环极点轨迹(假设负反馈)。根轨迹用于研究不同反馈增益对闭环极点位置的影响。反过来,这些位置提供有关时间和频率响应的间接信息。

您可以使用 rlocus 通过设置 sys 绘制以下任何反馈回路的根轨迹图,如下所示:

例如,如果 sys 是由下式表示的传递函数:

sys(s)=n(s)d(s)

则闭环极点是下式的根:

d(s)+kn(s)=0

根轨迹图描绘当反馈增益 k 从 0 变化到无穷大时闭环极点的轨迹。rlocus 以自适应方式选择一组正增益 k 以生成平滑图。根轨迹图上的极点用 x 表示,零点用 o 表示。

示例

rlocus(sys1,sys2,...) 在一个图上绘制多个 LTI 模型 sys1, sys2,... 的根轨迹。您可以为每个模型指定颜色、线型和标记。有关更多绘图自定义选项,请参阅 rlocusplot

示例

[r,k] = rlocus(sys) 返回反馈增益的向量 k 以及这些增益的复数根位置 r

示例

r = rlocus(sys,k) 使用用户指定的反馈增益的向量 k 来输出定义根轨迹图的闭环极点 r

示例

全部折叠

对于此示例,绘制以下 SISO 动态系统的根轨迹:

sys(s)=2s2+5s+1s2+2s+3.

sys = tf([2 5 1],[1 2 3]);
rlocus(sys)

Figure contains an axes object. The axes object contains 4 objects of type line. One or more of the lines displays its values using only markers This object represents sys.

在根轨迹图上,系统的极点用 x 表示,零点用 o 表示。您可以使用生成的根轨迹图中的菜单来添加网格线、放大或缩小,还可以调用属性编辑器来自定义该图。

有关更多绘图自定义选项,请使用 rlocusplot

对于此示例,假设 sisoModels.mat 包含以下三个 SISO 模型:

  • sys1 - 一个传递函数模型

  • sys2 - 一个状态空间模型

  • sys3 - 一个零极点增益模型

mat 文件中加载模型。

load('sisoModels.mat','sys1','sys2','sys3');

使用 rlocus 创建根轨迹图,并指定每个系统的颜色。还要向根轨迹图中添加一个图例。

rlocus(sys1,'b',sys2,'k',sys3,'r')
hold on
legend('sys1','sys2','sys3')
hold off

Figure contains an axes object. The axes object contains 13 objects of type line. One or more of the lines displays its values using only markers These objects represent sys1, sys2, sys3.

该图在同一绘图中包含所有三个系统的根轨迹图。有关更多绘图自定义,请参阅 rlocusplot

对于此示例,假设有以下 SISO 传递函数模型:

sys(s)=3s2+19s3+7s2+5s+6

使用上述传递函数模型和 rlocus 提取闭环极点和相关联的反馈增益值。

sys = tf([3 0 1],[9 7 5 6]);
[r,k] = rlocus(sys)
r = 3×53 complex
102 ×

  -0.0094 + 0.0000i  -0.0104 + 0.0000i  -0.0105 + 0.0000i  -0.0106 + 0.0000i  -0.0107 + 0.0000i  -0.0108 + 0.0000i  -0.0109 + 0.0000i  -0.0111 + 0.0000i  -0.0112 + 0.0000i  -0.0113 + 0.0000i  -0.0115 + 0.0000i  -0.0117 + 0.0000i  -0.0119 + 0.0000i  -0.0121 + 0.0000i  -0.0124 + 0.0000i  -0.0126 + 0.0000i  -0.0129 + 0.0000i  -0.0132 + 0.0000i  -0.0135 + 0.0000i  -0.0139 + 0.0000i  -0.0143 + 0.0000i  -0.0148 + 0.0000i  -0.0152 + 0.0000i  -0.0158 + 0.0000i  -0.0163 + 0.0000i  -0.0170 + 0.0000i  -0.0177 + 0.0000i  -0.0184 + 0.0000i  -0.0192 + 0.0000i  -0.0201 + 0.0000i  -0.0211 + 0.0000i  -0.0222 + 0.0000i  -0.0233 + 0.0000i  -0.0246 + 0.0000i  -0.0259 + 0.0000i  -0.0274 + 0.0000i  -0.0290 + 0.0000i  -0.0307 + 0.0000i  -0.0326 + 0.0000i  -0.0346 + 0.0000i  -0.0368 + 0.0000i  -0.0392 + 0.0000i  -0.0418 + 0.0000i  -0.0446 + 0.0000i  -0.0476 + 0.0000i  -0.0508 + 0.0000i  -0.0543 + 0.0000i  -0.0582 + 0.0000i  -0.0623 + 0.0000i  -0.0667 + 0.0000i
   0.0008 + 0.0084i   0.0006 + 0.0083i   0.0006 + 0.0082i   0.0006 + 0.0082i   0.0006 + 0.0082i   0.0006 + 0.0082i   0.0005 + 0.0082i   0.0005 + 0.0082i   0.0005 + 0.0082i   0.0005 + 0.0081i   0.0005 + 0.0081i   0.0004 + 0.0081i   0.0004 + 0.0081i   0.0004 + 0.0080i   0.0004 + 0.0080i   0.0003 + 0.0080i   0.0003 + 0.0080i   0.0003 + 0.0079i   0.0002 + 0.0079i   0.0002 + 0.0078i   0.0002 + 0.0078i   0.0002 + 0.0078i   0.0001 + 0.0077i   0.0001 + 0.0077i   0.0001 + 0.0076i   0.0000 + 0.0076i   0.0000 + 0.0075i  -0.0000 + 0.0074i  -0.0000 + 0.0074i  -0.0000 + 0.0073i  -0.0001 + 0.0073i  -0.0001 + 0.0072i  -0.0001 + 0.0071i  -0.0001 + 0.0071i  -0.0001 + 0.0070i  -0.0001 + 0.0070i  -0.0001 + 0.0069i  -0.0001 + 0.0068i  -0.0001 + 0.0068i  -0.0001 + 0.0067i  -0.0001 + 0.0067i  -0.0001 + 0.0066i  -0.0001 + 0.0066i  -0.0001 + 0.0065i  -0.0001 + 0.0065i  -0.0001 + 0.0064i  -0.0001 + 0.0064i  -0.0001 + 0.0064i  -0.0001 + 0.0063i  -0.0001 + 0.0063i
   0.0008 - 0.0084i   0.0006 - 0.0083i   0.0006 - 0.0082i   0.0006 - 0.0082i   0.0006 - 0.0082i   0.0006 - 0.0082i   0.0005 - 0.0082i   0.0005 - 0.0082i   0.0005 - 0.0082i   0.0005 - 0.0081i   0.0005 - 0.0081i   0.0004 - 0.0081i   0.0004 - 0.0081i   0.0004 - 0.0080i   0.0004 - 0.0080i   0.0003 - 0.0080i   0.0003 - 0.0080i   0.0003 - 0.0079i   0.0002 - 0.0079i   0.0002 - 0.0078i   0.0002 - 0.0078i   0.0002 - 0.0078i   0.0001 - 0.0077i   0.0001 - 0.0077i   0.0001 - 0.0076i   0.0000 - 0.0076i   0.0000 - 0.0075i  -0.0000 - 0.0074i  -0.0000 - 0.0074i  -0.0000 - 0.0073i  -0.0001 - 0.0073i  -0.0001 - 0.0072i  -0.0001 - 0.0071i  -0.0001 - 0.0071i  -0.0001 - 0.0070i  -0.0001 - 0.0070i  -0.0001 - 0.0069i  -0.0001 - 0.0068i  -0.0001 - 0.0068i  -0.0001 - 0.0067i  -0.0001 - 0.0067i  -0.0001 - 0.0066i  -0.0001 - 0.0066i  -0.0001 - 0.0065i  -0.0001 - 0.0065i  -0.0001 - 0.0064i  -0.0001 - 0.0064i  -0.0001 - 0.0064i  -0.0001 - 0.0063i  -0.0001 - 0.0063i

k = 1×53

         0    0.4201    0.4542    0.4911    0.5309    0.5740    0.6205    0.6709    0.7253    0.7841    0.8477    0.9165    0.9908    1.0712    1.1581    1.2521    1.3536    1.4634    1.5822    1.7105    1.8493    1.9993    2.1614    2.3368    2.5263    2.7313    2.9529    3.1924    3.4514    3.7313    4.0340    4.3613    4.7151    5.0975    5.5111    5.9581    6.4415    6.9640    7.5289    8.1397    8.8000    9.5138   10.2856   11.1200   12.0220   12.9973   14.0516   15.1915   16.4238   17.7561

由于 sys 包含 3 个极点,因此生成的极点数组 r 的大小为 3×53。r 中的每列对应于向量 k 中的一个增益值。对于此示例,rlocus 自动选择 k 的从零到无穷大的 53 个值,以获得三个闭环极点的平滑轨迹。

display(r(:,39))
  -3.2585 + 0.0000i
  -0.0145 + 0.6791i
  -0.0145 - 0.6791i
display(k(39))
    7.5289

例如,r(:,39) 包含反馈增益值为 7.5289 的上述闭环极点。

对于此示例,假设有以下 SISO 传递函数模型:

sys(s)=0.5s2-14s4+3s2+2

定义传递函数模型和必需的反馈增益值向量。对于此示例,假设一组增益值从 1 到 8 变化,增量为 0.5,并使用 rlocus 提取闭环极点位置。

sys = tf([0.5 0 -1],[4 0 3 0 2]);
k = (1:0.5:5);
r = rlocus(sys,k);
size(r)
ans = 1×2

     4     9

由于 sys 包含 4 个闭环极点,因此生成的闭环极点位置数组 r 的大小为 4×9,其中 9 列对应于在 k 中定义的 9 个特定增益值。

您还可以在根轨迹图上可视化 k 中特定增益值的闭环极点轨迹。

rlocus(sys,k)

Figure contains an axes object. The axes object contains 6 objects of type line. One or more of the lines displays its values using only markers This object represents sys.

输入参数

全部折叠

SISO 动态系统,指定为以下项之一:

  • 连续时间或离散时间数值 LTI 模型,包括 tfzpkss 模型。

  • 广义或不确定的 LTI 模型,如 genssuss (Robust Control Toolbox) 模型。(使用不确定模型需要 Robust Control Toolbox™ 软件。)

    rlocus 假设:

    • 可调控制设计模块的可调组件的当前值。

    • 不确定控制设计模块的标称模型值。

  • 辨识的 LTI 模型,如 idtf (System Identification Toolbox)idss (System Identification Toolbox)idproc (System Identification Toolbox)idpoly (System Identification Toolbox)idgrey (System Identification Toolbox) 模型。(使用辨识模型需要 System Identification Toolbox™ 软件。)

与极点位置相关的反馈增益值,指定为向量。反馈增益定义极点的轨迹,从而影响根轨迹图的形状。

输出参数

全部折叠

sys 的闭环极点位置,对应于 k 中的每个值,以 n×m 数组形式返回,其中 nsys 的闭环极点数且 m = max(length(k))

与极点位置相关的反馈增益值,以向量形式返回。反馈增益定义极点的轨迹,从而影响根轨迹图的形状。当用户未定义 k 时,rlocus 以自适应方式选择一组介于零和无穷大之间的正增益 k,以生成平滑图。

提示

版本历史记录

在 R2006a 之前推出