MATLAB根轨迹绘制与验证:示例及代码
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');
代码解释:
-
定义系统传递函数:
num为系统传递函数的分子多项式系数,den为系统传递函数的分母多项式系数。
-
绘制根轨迹:
rlocus(num, den)函数绘制根轨迹图。title('Root Locus Plot')为根轨迹图添加标题。grid on在根轨迹图上添加网格线。
-
验证根轨迹图:
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')为验证图添加标题。
通过上述代码,您可以绘制并验证系统的根轨迹图,加深对根轨迹理论的理解。
原文地址: https://www.cveoy.top/t/topic/ot7W 著作权归作者所有。请勿转载和采集!