MATLAB根轨迹绘制与验证:示例及代码

本文将通过一个具体示例,使用MATLAB代码绘制系统的根轨迹图,并通过验证根轨迹图的正确性,深入理解根轨迹的概念。

系统结构图:

r(s)->X----->3(s^2+k)------------->c(s) ^ |1/(s(s+1)(s+2)___ |

代码如下:

% 系统传递函数
num = [0 0 3];
den = [1 3+k 2*k 0];

% 绘制根轨迹
rlocus(num, den);
title('Root Locus Plot');
grid on;

% 验证根轨迹图
s = tf('s');
G = 1/(s*(s+1)*(s+2));
r = roots(den);
plot(r,'xr');
hold on;
pzmap(G);
legend('Roots', 'Poles');
title('Verification of Root Locus Plot');

代码解释:

  1. 定义系统传递函数

    • num 为系统传递函数的分子多项式系数,den 为系统传递函数的分母多项式系数。
  2. 绘制根轨迹

    • rlocus(num, den) 函数绘制根轨迹图。
    • title('Root Locus Plot') 为根轨迹图添加标题。
    • grid on 在根轨迹图上添加网格线。
  3. 验证根轨迹图

    • s = tf('s') 定义s为传递函数变量。
    • G = 1/(s*(s+1)*(s+2)) 定义系统传递函数。
    • r = roots(den) 求解分母多项式的根,即系统闭环极点。
    • plot(r,'xr') 在图上用红色叉号标记闭环极点。
    • hold on 保持当前图,以便在同一图上绘制其他内容。
    • pzmap(G) 绘制系统传递函数的极点和零点。
    • legend('Roots', 'Poles') 添加图例,区分闭环极点和开环极点/零点。
    • title('Verification of Root Locus Plot') 为验证图添加标题。

通过上述代码,您可以绘制并验证系统的根轨迹图,加深对根轨迹理论的理解。

MATLAB根轨迹绘制与验证:示例及代码

原文地址: https://www.cveoy.top/t/topic/ot7W 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录