![8f46a42db283b0f1d64ac0f6ab91e6d2.png](https://i-blog.csdnimg.cn/blog_migrate/125374bb348995d54ed715ce8259b334.jpeg)
本文内容:系统的根轨迹分析
操作环境:matlab2019b
根轨迹分析
根轨迹梗概:
闭环控制系统的稳定性和性能指标主要和闭环系统的极点在复平面的位置决定,然后为了求出闭环极点就要求解高阶代数,往往非常困难,而且有参数变化又要重新求解。于是,美国人伊文思就提出了根轨迹法,由开环传递函数的零、极点求出闭环极点,是一种图解法
根轨迹是指开环传递函数中某个参数(如开环增益K)从零变化到无穷时,闭环特征根在复平面上移动的轨迹。按照相角的不同根轨迹又分为180°(常规)和零度根轨迹
根轨迹绘制:
下面是小编整理的绘制负反馈(180°根轨迹)的法则~
![2b309e62c869d41a05784459cf9a4db8.png](https://i-blog.csdnimg.cn/blog_migrate/572717aeba3b7a26f3e2b6a1c9a5a172.jpeg)
接下来要介绍matlab的画法,可以用来验证自己画的对不对,或者直接matlab
主要函数rlocus,rlocfind,pzmap,sgrid
例如,某系统的开环传递函数为
![14bd00b0820f47acca1b2dc633b66541.png](https://i-blog.csdnimg.cn/blog_migrate/c3a044a83c781dde3f1b02072263457a.jpeg)
建立传递函数:
d1=[1 -1];
d2=[1 4 16];
den1=conv(d1,d2);
den=[den1 0];
num=[1 1];
G=tf(num,den);
如果需要,可以用pzmap在复平面内标出零极点
pzmap(G);
![0f27fc0df70ec073f4167a44213df984.png](https://i-blog.csdnimg.cn/blog_migrate/0922fbd584b4d1dbdb80b061ac093726.jpeg)
输入rlocus绘制根轨迹
rlocus(G);
![cee5144976d97d7c2b6dfb358d461f28.png](https://i-blog.csdnimg.cn/blog_migrate/d91bf6a4dd1828cdb7bb47a6a6a8b34c.jpeg)
为了计算K的值和此时的闭环极点,可以完成上述之后,使用rlocfind函数,这时根轨迹图上会出现一个+号,
![29c1bdc4d2181603e4dbaed5247c411e.png](https://i-blog.csdnimg.cn/blog_migrate/30271ae28486b4ed89d619007caa3a31.jpeg)
用鼠标将+号移动到根轨迹与虚轴的角点,点击一下或者回车,此时的闭环极点和增益K就会在图上和命令行中显示
![20370a936633f07229f82d0f737e5526.png](https://i-blog.csdnimg.cn/blog_migrate/2f57fe2e63f810706dbde9782960b510.jpeg)
也可以输入[k,p]=rlocfind(G),然后在根轨迹上标记点
[k,p]=rlocfind(G)
另外
rlocus(G,10); % 画出增益为10的根轨迹位置
sgrid %标出网格线
![7f96939ab097e846f2d104eca5865314.png](https://i-blog.csdnimg.cn/blog_migrate/50cd382f8fcd4500ceaa8acbdf6c9a15.jpeg)
阶跃响应的根轨迹分析:
要求系统稳定,则必须使所有的闭环极点均位于s平面的左半部分。
要求系统快速性好,则闭环极点应远离虚轴
要求系统平稳性好,则闭环极点最好设置在s平面中与负实轴成±45°夹角附近,如果是二阶系统对应阻尼比为0.707(最佳工程阻尼比)
在上面建立的系统中,可以看到根轨迹与虚轴共用4个交点(两对极点),可以使用rlocfind函数,可以得到与虚轴的两个交点时的增益K
不过,这里小编介绍一个工具箱rltool
在命令行窗口输入
rltool
然后选择控制系统的结构
![79517562678f22a3760f72d6d8041ba6.png](https://i-blog.csdnimg.cn/blog_migrate/62714f3afe8086f352a2306758684dca.jpeg)
导入传递函数G
![6b07ec8bee2cdd61761573012f1360be.png](https://i-blog.csdnimg.cn/blog_migrate/23af38cee392c1d7576653d0eaf8281a.jpeg)
选择之前建好的传递函数G之后,点击import
![f07b6257f72117519ce671bb5a114393.png](https://i-blog.csdnimg.cn/blog_migrate/aca0814f0f6151879931fa2b416c7728.jpeg)
可以看到一个选项卡是根轨迹图,一个选项卡是单位阶跃响应,这里的阶跃响应是对应根轨迹图中可移动红色极点的所在位置的阶跃响应
![a3e56d20227ebed12c91f66b4c514b3f.png](https://i-blog.csdnimg.cn/blog_migrate/21a4282abd00e7bff05c99ca0a19e8fe.jpeg)
![edb5919d9367c6fddee2efb6d2214521.png](https://i-blog.csdnimg.cn/blog_migrate/528a7cf520b3af9d22792470bb607bdd.jpeg)
为了方便,我们可以把两个图放在一个窗口中,然后拖动根轨迹中的极点,找到想要的阶跃响应,这时的k值可以在左边窗口中选中C查看,比如根轨迹在与虚轴相交时,K1接近23.47,K2接近35.657,所以系统稳定时,K的取值范围为23.47-35.657
![e0f76ab2c5b60ee7a676e19aa30ff1bd.png](https://i-blog.csdnimg.cn/blog_migrate/1d4ddfc0d695285bce653293bc18d1f8.jpeg)
![4cb93f908c654d97ecb45968fda7bfc5.png](https://i-blog.csdnimg.cn/blog_migrate/d48f5279f37dfb9c04bd7047e265776d.jpeg)
再把极点拖到大概与虚轴±45°位置,可以看到这时的增益K大概为33.572。
![c153e9fbed3b89b792aea838781e6dbe.png](https://i-blog.csdnimg.cn/blog_migrate/ce9c01434fa64713baec297632bc7367.jpeg)
本文为小编自行编程,如有错误还请大家批评指出~
待更新~下一篇为“matlab中的频域分析法”(本来想把根轨迹和频域分析放在一起,但是频域分析实在有点多..就下次啦~~)