实验六 线性系统的根轨迹.docx
- 文档编号:9468607
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:16
- 大小:315.53KB
实验六 线性系统的根轨迹.docx
《实验六 线性系统的根轨迹.docx》由会员分享,可在线阅读,更多相关《实验六 线性系统的根轨迹.docx(16页珍藏版)》请在冰豆网上搜索。
实验六线性系统的根轨迹
实验六线性系统的根轨迹
一、实验目的
1.熟悉MATLAB用于控制系统中的一些基本编程语句和格式。
2.利用MATLAB语句绘制系统的根轨迹。
3.掌握用根轨迹分析系统性能的图解方法。
4.掌握系统参数变化对特征根位置的影响。
二、基础知识及MATLAB函数
根轨迹是指系统的某一参数从零变到无穷大时,特征方程的根在s平面上的变化轨迹。
这个参数一般选为开环系统的增益K。
课本中介绍的手工绘制根轨迹的方法,只能绘制根轨迹草图。
而用MATLAB可以方便地绘制精确的根轨迹图,并可观测参数变化对特征根位置的影响。
假设系统的对象模型可以表示为
系统的闭环特征方程可以写成
对每一个K的取值,我们可以得到一组系统的闭环极点。
如果我们改变K的数值,则可以得到一系列这样的极点集合。
若将这些K的取值下得出的极点位置按照各个分支连接起来,则可以得到一些描述系统闭环位置的曲线,这些曲线又称为系统的根轨迹。
1)绘制系统的根轨迹rlocus()
MATLAB中绘制根轨迹的函数调用格式为:
rlocus(num,den)开环增益k的范围自动设定。
rlocus(num,den,k)开环增益k的范围人工设定。
rlocus(p,z)依据开环零极点绘制根轨迹。
r=rlocus(num,den)不作图,返回闭环根矩阵。
[r,k]=rlocus(num,den)不作图,返回闭环根矩阵r和对应的开环增益向量k。
其中,num,den分别为系统开环传递函数的分子、分母多项式系数,按s的降幂排列。
K为根轨迹增益,可设定增益范围。
例3-1:
已知系统的开环传递函数
,绘制系统的根轨迹的matlab的调用语句如下:
num=[11];%定义分子多项式
den=[1429];%定义分母多项式
rlocus(num,den)%绘制系统的根轨迹
grid%画网格标度线
xlabel(‘RealAxis’),ylabel(‘ImaginaryAxis’)%给坐标轴加上说明
title(‘RootLocus’)%给图形加上标题名
则该系统的根轨迹如图3-1所示:
若上例要绘制K在(1,10)的根轨迹图,则此时的matlab的调用格式如下,对应的根轨迹如图3-2所示。
num=[11];
den=[1429];
k=1:
0.5:
10;
rlocus(num,den,k)
2)确定闭环根位置对应增益值K的函数rlocfind()
在MATLAB中,提供了rlocfind函数获取与特定的复根对应的增益K的值。
在求出的根轨迹图上,可确定选定点的增益值K和闭环根r(向量)的值。
该函数的调用格式为:
[k,r]=rlocfind(num,den)
执行前,先执行绘制根轨迹命令rlocus(num,den),作出根轨迹图。
执行rlocfind命令时,出现提示语句“Selectapointinthegraphicswindow”,即要求在根轨迹图上选定闭环极点。
将鼠标移至根轨迹图选定的位置,单击左键确定,根轨迹图上出现“+”标记,即得到了该点的增益K和闭环根r的返回变量值。
例3-2:
系统的开环传递函数为
,试求:
(1)系统的根轨迹;
(2)系统稳定的K的范围;(3)K=1时闭环系统阶跃响应曲线。
则此时的matlab的调用格式为:
G=tf([1,5,6],[1,8,3,25]);
rlocus(G);%绘制系统的根轨迹
[k,r]=rlocfind(G)%确定临界稳定时的增益值k和对应的极点r
G_c=feedback(G,1);%形成单位负反馈闭环系统
step(G_c)%绘制闭环系统的阶跃响应曲线
则系统的根轨迹图和闭环系统阶跃响应曲线如图3-2所示。
其中,调用rlocfind()函数,求出系统与虚轴交点的K值,可得与虚轴交点的K值为0.0264,故系统稳定的K的范围为
。
3)绘制阻尼比
和无阻尼自然频率
的栅格线sgrid()
当对系统的阻尼比
和无阻尼自然频率
有要求时,就希望在根轨迹图上作等
或等
线。
matlab中实现这一要求的函数为sgrid(),该函数的调用格式为:
sgrid(
)已知
和
的数值,作出等于已知参数的等值线。
sgrid(‘new’)作出等间隔分布的等
和
网格线。
例3-3:
系统的开环传递函数为
,由rlocfind函数找出能产生主导极点阻尼
=0.707的合适增益,如图3-3(a)所示。
G=tf(1,[conv([1,1],[1,2]),0]);
zet=[0.1:
0.2:
1];wn=[1:
10];
说明:
sgrid:
在现存的屏幕根轨迹或零极点图上绘制出自然振荡频率wn、阻尼比矢量z对应的格线。
sgrid(‘new’):
是先清屏,再画格线。
sgrid(z,wn):
则绘制由用户指定的阻尼比矢量z、自然振荡频率wn的格线
添加:
sgrid(‘new’);或cle
sgrid(zet,wn);holdon;rlocus(G)
[k,r]=rlocfind(G)
Selectapointinthegraphicswindow
selected_point=
-0.3791+0.3602i
k=
0.6233
r=
-2.2279
-0.3861+0.3616i
-0.3861-0.3616i
同时我们还可以绘制出该增益下闭环系统的阶跃响应,如图3-3(b)所示。
事实上,等
或等
线在设计系补偿器中是相当实用的,这样设计出的增益K=0.6233将使得整个系统的阻尼比接近0.707。
由下面的MATLAB语句可以求出主导极点,即r(2.3)点的阻尼比和自然频率为
G_c=feedback(G,1);
step(G_c)
dd0=poly(r(2:
3,:
));
wn=sqrt(dd0(3));zet=dd0
(2)/(2*wn);[zet,wn]
ans=
0.72990.5290
我们可以由图3-3(a)中看出,主导极点的结果与实际系统的闭环响应非常接近,设计的效果是令人满意的。
4)基于根轨迹的系统设计及校正工具rltool
matlab中提供了一个系统根轨迹分析的图形界面,在此界面可以可视地在整个前向通路中添加零极点(亦即设计控制器),从而使得系统的性能得到改善。
实现这一要求的工具为rltool,其调用格式为:
rltool或rltool(G)
例3-4:
单位负反馈系统的开环传递函数
输入系统的数学模型,并对此对象进行设计。
den=[conv([1,5],conv([1,20],[1,50])),0,0];
num=[1,0.125];
G=tf(num,den);
rltool(G)
该命令将打开rltool工具的界面,显示原开环模型的根轨迹图,如图3-4(a)所示。
单击该图形菜单命令Analysis中的ResponsetoStepCommand复选框,则将打开一个新的窗口,绘制系统的闭环阶跃响应曲线,如图3-4(b)所示。
可见这样直接得出的系统有很强的振荡,就需要给这个对象模型设计一个控制器来改善系统的闭环性能。
单击界面上的零点和极点添加的按钮,可以给系统添加一对共轭复极点,两个稳定零点,调整它们的位置,并调整增益的值,通过观察系统的闭环阶跃响应效果,则可以试凑地设计出一个控制器
在此控制器下分别观察系统的根轨迹和闭环系统阶跃响应曲线。
可见,rltool可以作为系统综合的实用工具,在系统设计中发挥作用。
三、实验内容
1.请绘制下面系统的根轨迹曲线,同时得出在单位阶跃负反馈下使得闭环系统稳定的K值的范围。
num=[1];
den=[conv([1,2,2],[1,6,13]),0];
G=tf(num,den);
rlocus(G);
grid
xlabel('RealAxis'),ylabel('ImageinaryAxis')
title('根轨迹')
[k,r]=rlocfind(G)
G_c=feedback(G,1);
step(G_c)
结果为:
selected_point=-0.0355+0.9627i
k=26.7666
r=-2.8285+2.1531i
-2.8285-2.1531i
-2.2659
-0.0385+0.9661i
-0.0385-0.9661i
K>26.7666时系统稳定。
num=[1,12];
den=[conv([1,1],conv([1,12,100],[1,10]))];
G=tf(num,den);
rlocus(G);
grid
xlabel('RealAxis'),ylabel('ImageinaryAxis')
title('根轨迹')
[k,r]=rlocfind(G)
G_c=feedback(G,1);
step(G_c)
结果为
selected_point=0.0059+10.0000i
k=1.0930e+003
r=-0.0226+10.0243i
-0.0226-10.0243i
-11.4774+2.9573i
-11.4774-2.9573i
当k>1.0930e+003,时系统稳定
num=[0.0051];
den=[conv([0.012,0.1,1],[0.0714,1]),0];
G=tf(num,den);
rlocus(G);
grid
xlabel('RealAxis'),ylabel('ImageinaryAxis')
title('根轨迹')
[k,r]=rlocfind(G)
G_c=feedback(G,1);
step(G_c)
结果为:
selected_point=2.2512+7.7640i
k=13.5793
r=-12.8277+6.7024i
-12.8277-6.7024i
1.6583+8.5388i
1.6583-8.5388i
所以当k>13.5793时系统稳定
2.在系统设计工具rltool界面中,通过添加零点和极点方法,试凑出上述系统,并观察增加极、零点对系统的影响。
1.1
1.2
1.3
四、实验报告
1.根据实验分析增加极点或零点对系统动态性能的影响。
零点极点的位置能显著改变系统的稳定性,闭环系统无零点,闭环极点为实数,则时间响应一定单调,超调量主要取决于闭环复数的衰减率,实数极点零点,减少系统阻尼使峰值时间提前,超调量增大。
五.写出实验的心得与体会。
①学会利用MATLAB语句绘制系统的根轨迹。
②了解了利用根轨迹分析系统性能的图解方法。
③更深刻地练习了MATALAB软件。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验六 线性系统的根轨迹 实验 线性 系统 轨迹