MATLAB 中的根轨迹图
Ammar Ali
2022年5月11日
本教程将讨论使用 Matlab 中的 rlocus()
函数计算和绘制动态系统的根轨迹。
在 MATLAB 中使用 rlocus()
函数计算并绘制动态系统的根轨迹
我们使用根轨迹来检查反馈增益变化对闭环极点位置的影响,这些位置提供有关时间和频率响应的信息。
rlocus()
函数计算并绘制给定系统的根轨迹。它提供给定函数的闭环极点轨迹,是反馈增益的函数。我们必须在 rlocus()
函数中传递系统的传递函数来绘制该函数的根轨迹。
例如,让我们使用 tf()
函数创建一个系统的传递函数,并使用 Matlab 中的 rlocus()
函数绘制其根轨迹。请参阅下面的代码。
sys = tf([2 5 1],[1 2 3]);
rlocus(sys)
输出:
x
符号提供输出中的极点,o
符号提供系统传递函数的零点。
我们还可以使用 rlocus()
函数绘制多个系统的多个根轨迹。如果我们在 rlocus()
函数中传递多个系统的传递函数,它会将所有系统的根轨迹以不同的颜色绘制在同一个图上。
我们可以使用 legend()
函数为每个绘图命名,以便轻松识别它们。例如,让我们绘制两个系统的根轨迹并使用 legend()
函数添加图例。
请参阅下面的代码。
sys1 = tf([2 5 1],[1 2 3]);
sys2 = tf([2 2 1],[1 2]);
rlocus(sys1,sys2)
legend('sys1','sys2')
输出:
我们还可以使用 rlocus()
函数找到闭环极点位置和反馈增益的值。例如,让我们找出上述系统的闭环极点位置和反馈增益值。请参阅下面的代码。
sys = tf([2 5 1],[1 2 3]);
[R,K] = rlocus(sys)
size(R)
输出:
ans =
2 55
在输出中,你可以看到变量 R
的大小 - 2×55。
Author: Ammar Ali