Matlab根轨迹绘制:不同系统结构和参数影响分析

本文使用Matlab代码绘制了不同开环传递函数的根轨迹,并分析了改变开环零点、开环极点位置,以及添加开环极点对根轨迹的影响。

1. G1(s)的根轨迹

clear
clc
K = 1;
sys = tf(K, conv(conv([1 0], [1 1]), [1 2]));
rlocus(sys)

2. G2(s)的根轨迹

clear
clc
K = 1;
sys = tf(K, [1 5 85 65]);
rlocus(sys)

3. G3(s)的根轨迹

a1 = -1;
a2 = -2;
a3 = -3;
K = 1;
sys1 = tf(K*conv([1 a1], [5 6 8]), conv([1 0], [1 2 4]));
sys2 = tf(K*conv([1 a2], [5 6 8]), conv([1 0], [1 2 4]));
sys3 = tf(K*conv([1 a3], [5 6 8]), conv([1 0], [1 2 4]));
subplot(1,3,1)
rlocus(sys1)
title(['a=', num2str(a1)])
subplot(1,3,2)
rlocus(sys2)
title(['a=', num2str(a2)])
subplot(1,3,3)
rlocus(sys3)
title(['a=', num2str(a3)])

% 当a=1时,增加一个开环极点-b的根轨迹
b1 = -1;
b2 = -2;
b3 = -3;
K = 1;
sys1 = tf(K*conv([1 1], [5 6 8]), conv([1 0], conv([1 2 4], [1 b1])));
sys2 = tf(K*conv([1 1], [5 6 8]), conv([1 0], conv([1 2 4], [1 b2])));
sys3 = tf(K*conv([1 1], [5 6 8]), conv([1 0], conv([1 2 4], [1 b3])));
subplot(1,3,1)
rlocus(sys1)
title(['b=', num2str(b1)])
subplot(1,3,2)
rlocus(sys2)
title(['b=', num2str(b2)])
subplot(1,3,3)
rlocus(sys3)
title(['b=', num2str(b3)])

4. G4(s)的根轨迹

K = 1;
z1 = -2;
z2 = -3;
p1 = -1;
p2 = -4;
sys1 = tf(K*conv([1 z1], [1 z2]), conv([1 p1], [1 p2]));
sys2 = tf(K*conv([1 z1], [1 z2]), conv([1 p1], [1 p2 5]));
sys3 = tf(K*conv([1 z1], [1 z2]), conv([1 p1 2], [1 p2 5]));
subplot(1,3,1)
rlocus(sys1)
title(['增加开环零点'])
subplot(1,3,2)
rlocus(sys2)
title(['增加开环极点'])
subplot(1,3,3)
rlocus(sys3)
title(['增加开环零点和极点'])

通过观察不同情况下根轨迹的变化,可以分析开环零点、开环极点的位置对系统稳定性和性能的影响。例如,增加开环零点通常可以改善系统的稳定性,而增加开环极点则可能导致系统变得不稳定。此外,还可以根据根轨迹的位置判断系统的响应速度和阻尼特性。

注意: 本文提供的Matlab代码仅供参考,实际应用中可能需要根据具体情况进行修改。


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

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