文章目录
- 一、建模层面核心注意事项(90%报错根源)
- 1. rlocus只接收**单位负反馈开环传递函数**
- 2. 分子分母多项式必须降幂排列,多因式必须用conv展开
- 3. 区分连续系统与离散系统建模格式
- 4. 传递函数不能带前置增益,增益由rlocus自动遍历
- 二、绘图函数调用注意事项
- 1. 自定义增益区间格式不能写错
- 2. sgrid网格使用规范
- 3. 多系统同图对比线型区分
- 三、rlocfind交互式选增益高频坑点
- 四、稳定性与性能判断注意事项
- 五、数据提取用法注意事项
- 六、报错与环境相关注意事项
- 七、实验报告/工程绘图规范注意事项
- 八、容易混淆的概念区分提醒
一、建模层面核心注意事项(90%报错根源)
1. rlocus只接收单位负反馈开环传递函数
rlocus内置逻辑默认结构:闭环传递函数 $ \Phi(s)=\dfrac{KG(s)}{1+KG(s)} $,输入必须是开环G ( s ) G(s)G(s),不能直接丢闭环系统进去。
错误示范:把feedback闭环后的模型传入rlocus,轨迹完全失真;
正确逻辑:先写开环G,rlocus(G),选定K后再用feedback(K*G,1)构造闭环验证。
2. 分子分母多项式必须降幂排列,多因式必须用conv展开
传递函数num、den系数从s最高次到常数项依次书写,不能颠倒;
多个一阶因式相乘,禁止手动口算合并,嵌套conv函数避免计算错误。
示例:G = 1 s ( s + 2 ) ( s + 4 ) G=\dfrac{1}{s(s+2)(s+4)}G=s(s+2)(s+4)1
% 正确写法den=conv([10],conv([12],[14]));% 错误:den=[1 6 8 0]手动书写极易写错系数若多项式系数写错,根轨迹分支缺失、走向完全错乱。
3. 区分连续系统与离散系统建模格式
- 连续系统:
G=tf(num,den),无采样时间; - 离散系统:必须传入采样周期
Gz=tf(num,den,Ts),否则rlocus仍按连续系统绘制,z平面根轨迹完全错误。
离散根轨迹在z平面单位圆内才稳定,和s平面虚轴稳定判定规则不同,不要混用判断标准。
4. 传递函数不能带前置增益,增益由rlocus自动遍历
开环模型只能保留分子常数1,可变增益K由rlocus从0→∞遍历。
错误:G=5/(s+1),此时rlocus遍历的是K×5,增益数值混淆;
正确:G=1/(s+1),仿真时的放大倍数全部交给rlocus自动处理。
二、绘图函数调用注意事项
1. 自定义增益区间格式不能写错
限定K范围绘图时,rlocus第二个参数必须为一维递增数组:
% 正确K_range=0:0.01:30;rlocus(G,K_range);% 错误:K为递减数组、非正数数组,轨迹截断缺失只截取局部区间会丢失临界稳定点、渐近线分支,完整分析建议不限制K区间。
2. sgrid网格使用规范
sgrid(zeta,wn)仅适用于连续系统s平面根轨迹,离散z平面不支持sgrid,强行调用直接报错。
- 只画阻尼比线:
sgrid(0.5,[]); - 同时画阻尼比+自然频率:
sgrid([0.4,0.6],[2,5]); - 绘图顺序:先rlocus,再sgrid,顺序颠倒网格不会显示。
3. 多系统同图对比线型区分
多组开环系统叠加根轨迹时,必须手动指定颜色线型,避免曲线重叠无法区分:
rlocus(G1,'r-',G2,'b--');legend('原系统','校正后系统','Location','best');不指定样式时多条曲线默认黑色实线,完全重叠看不清差异。
三、rlocfind交互式选增益高频坑点
- 必须先弹出rlocus图像窗口,再执行rlocfind
代码顺序颠倒会直接无交互弹窗,鼠标点击无任何反馈:
% 正确顺序rlocus(G);sgrid(0.6,[]);[K,pole]=rlocfind(G);- 鼠标点击尽量贴合轨迹线条,点空白区域会返回无效极点、错误K值;
- 若根轨迹分支密集,放大图窗局部区域再点击,精度更高;
- rlocfind返回的K是开环总增益,构造闭环时一定要写成
feedback(K*G,1),不能直接feedback(G,1)。
四、稳定性与性能判断注意事项
- s平面稳定判定标准
根轨迹极点全部在虚轴左侧系统稳定;轨迹穿过虚轴时对应的K为临界稳定增益,超过该K极点进入右半平面,系统发散。
不要把离散z平面单位圆规则套用到连续系统。 - 阻尼比与超调量对应仅针对共轭复极点
实轴上的单实极点无振荡,sgrid阻尼线只对复极点有参考意义,不要用实轴极点判断超调。 - 渐近线、分离点、虚轴交点仅代表开环特性,闭环动态需要step验证
根轨迹只能看极点位置,无法直观体现稳态误差,选定K后必须绘制阶跃响应,综合超调、调节时间、稳态误差评估性能。
五、数据提取用法注意事项
使用[r,Kout] = rlocus(G,Klist)提取数据时:
- 输出r是三维矩阵,每一列对应一组增益下全部闭环极点,遍历读取数据需要矩阵索引;
- Klist步长不宜过大,步长过大会漏掉临界稳定增益;
- 仅提取数据不绘图时,不会弹出图像窗口,无法使用sgrid、rlocfind交互工具。
六、报错与环境相关注意事项
- 提示未定义函数rlocus
未安装Control System Toolbox,命令行输入ver control验证;学生版、精简版MATLAB容易缺失该工具箱,需手动在附加功能管理器安装。 - 图像空白、无轨迹
① num、den系数全部为0;② 传递函数书写错误,分母最高次系数为0;③ 零极点全部抵消,系统降阶为常数。 - 根轨迹分支数量和系统阶数不符
分母多项式展开不全,conv嵌套遗漏因式,导致阶数计算错误,分支缺失。 - 根轨迹左右走向完全反常
混淆开环、闭环模型,把闭环传递函数传入rlocus,轨迹逻辑完全颠倒。
七、实验报告/工程绘图规范注意事项
- 每张根轨迹图必须加
grid on,配合sgrid网格,方便读取阻尼比与增益; - 标注坐标轴:实轴σ、虚轴jω,标题注明系统开环传递函数;
- 对比校正前后轨迹需添加图例,区分原系统、超前/滞后校正系统;
- 临界稳定增益、目标阻尼比对应的极点,建议截图标注K值,配套闭环阶跃响应曲线佐证。
八、容易混淆的概念区分提醒
- rlocus = 根轨迹(K从0到无穷);rlocfind = 交互式拾取增益,二者配套使用,不能互相替代;
- pzmap只画开环固定零极点,不随K变化,仅作为根轨迹前置辅助图;
- bode频域分析、rlocus复平面极点分析,两类工具适用场景不同,不可单独依靠一种完成校正设计。