MATLAB 根轨迹图的稳定性分析
根轨迹分析
在下文中,我们提供了用于根轨迹分析的强大MATLAB命令的简要描述。读者可能想知道为什么当强大的MATLAB命令可用时,教师强调学习手工计算。对于给定的一组开环极点和零点,MATLAB立即绘制根轨迹。在极点和零点中进行的任何更改都会立即产生新的根位点,依此类推。
根据我们的背景和能力,我们可能会在一段时间后开始对模式有所了解。也许我们终于开始制定一套规则,使我们能够在极点和零点出现的那一刻快速制作根轨迹的心理草图。换句话说,通过反复试验,我们找到了根轨迹的规则。
通过系统地制定根轨迹的一套规则,我们寻找对系统动态现象的最清晰,最简单的解释。根轨迹的规则使我们能够清楚而准确地理解无限的特征方程组可以创建的无穷模式。我们最终可以在没有这些规则的情况下学会设计,但我们的技能水平永远不会那么高,或者我们的理解也不会那么好。对于其他分析技术也是如此,例如Bode图,Nyquist图,Nichols图等,在本课程后面将介绍。
MATLAB允许特征方程的根轨迹
1 + G(s)H(s)= 0
用rlocus(GH)命令绘制 。可以使用[K,p] = rlocfind(GH)命令以交互方式选择根轨迹上的点(将十字准线放置在适当的位置)。然后MATLAB 在该点产生增益K以及具有该增益的所有极点p。根轨迹可以在使用sgrid(zeta,wn)命令生成的网格上绘制,该命令允许恒定阻尼比zeta和恒定固有频率 wn曲线。命令rlocus(GH,K)允许我们指定用于绘制根轨迹的增益K的范围。还研究命令[p,K] = rlocus(GH) 和 [p] = rlocus(GH,K) 使用MATLAB在线帮助。
考虑图M6.1的框图中所示的系统。
图M6.1
系统的特征方程是
1 + G(s)= 0
同
以下MATLAB脚本绘制了根轨迹
s = tf(\'s\');
G = 1/(s*(s+7)*(s+11));
rlocus(G);
axis equal;
单击根轨迹与虚轴的交点将得到图M6.2中所示的数据。我们发现闭环系统对于K <1360 是稳定的; 并且K > 1360 不稳定。
图M6.2
图M6.3显示了两个K值的阶跃响应。
>> K = 860;
>> step(feedback(K*G,1),5)
>> hold;
% Current plot held
>> K = 1460;
>> step(feedback(K*G,1),5)
图M6.3
例M6.2
考虑图M6.4所示的系统。
图M6.4
植物转移函数G(s)如下给出
以下MATLAB脚本绘制了闭环系统的根轨迹。
clear all;
close all;
s = tf(\'s\');
G = (s+1)/(s*(0.1*s-1));
rlocus(G);
axis equal;
sgrid;
title(\'Root locus for (s+1)/s(0.1s-1)\');
[K,p]=rlocfind(G)
图M6.5
selected_point =
-2.2204 + 3.0099i
K =
1.4494
p =
-2.2468 + 3.0734i
-2.2468 - 3.0734i
例M6.3
用于具有开环传递功能的单位反馈系统
使用以下MATLAB代码生成了图M6.6中所示的根轨迹图。
s = tf(\'s\');
G =(s ^ 2-4 * s + 20)/((s + 2)*(s + 4));
rlocus(G);
zeta = 0.45;
wn = 0;
使用 右键单击 - >属性 - >限制正确地重新定义根轨迹的轴 。
图M6.6
点击根轨迹与zeta = 0.45线的交点给出系统增益K = 0.415,其对应于闭环极点,点击根轨迹与实轴的交点,给出分离点和该点处的增益。