- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 利用MATLAB绘制系统根轨迹
一、 利用MATLAB绘制系统根轨迹相关知识
假设闭环系统中的开环传递函数可以表示为:
则闭环特征方程为:
特征方程的根随参数K的变化而变化,即为闭环根轨迹。控制系统工具箱中提供了rlocus()函数,可以用来绘制给定系统的根轨迹,它的调用格式有以下几种:
rlocus(num,den)
rlocus(num, rlocus(G)
rlocus(G,K)
以上给定命令可以在屏幕上画出根轨迹图,其中G为开环系统G0(s)的对象模型,K为用户自己选择的增益向量。如果用户不给出K向量,则该命令函数会自动选择K向量。如果在函数调用中需要返回参数,则调用格式将引入左端变量。如
[R,K]=rlocus(G)
此时屏幕上不显示图形,而生成变量R和K。
R为根轨迹各分支线上的点构成的复数矩阵,K向量的每一个元素对应于R矩阵中的一行。若需要画出根轨迹,则需要采用以下命令:
plot(R,11)
plot()函数里引号内的部分用于选择所绘制曲线的类型,详细内容见表1。控制系统工具箱中还有一个rlocfind()函数,该函数允许用户求取根轨迹上指定点处的开环增益值,并将该增益下所有的闭环极点显示出来。这个函数的调用格式为:
[K,P]=rlocfind(G)
这个函数运行后,图形窗口中会出现要求用户使用鼠标定位的提示,用户可以用鼠标左键点击所关心的根轨迹上的点。这样将返回一个K变量,该变量为所选择点对应的开环增益,同时返回的P变量则为该增益下所有的闭环极点位置。此外,该函数还将自动地将该增益下所有的闭环极点直接在根轨迹曲线上显示出来。
例4.1 已知系统的开环传递函数模型为:
利用下面的MATLAB命令可容易地验证出系统的根轨迹如图4-1所示。
G=tf(1,[conv([1,1],[1,2]),0]);
rlocus(G);
grid
title(1Root_Locus Plot of G(s)=K/[s(s+1)(s+2)]1)
xlabel(1Real Axis1) % 给图形中的横坐标命名。
ylabel(1Imag Axis1) % 给图形中的纵坐标命名。
[K,P]=rlocfind(G)
用鼠标点击根轨迹上与虚轴相交的点,在命令窗口中可发现如下结果
select_point=0.0000+1.3921i
K=
5.8142
p=
-2.29830
-0.0085+1.3961i
-0.0085-1.3961i
所以,要想使此闭环系统稳定,其增益范围应为0K5.81。
参数根轨迹反映了闭环根与开环增益K的关系。我们可以编写下面的程序,通过K的变化,观察对应根处阶跃响应的变化。考虑K=0.1,0.2,…,1,2,…,5,这些增益下闭环系统的阶跃响应曲线。可由以下MATLAB命令得到。
hold off; % 擦掉图形窗口中原有的曲线。
图4-1 系统的根轨迹
t=0:0.2:15;
Y=[ ];
for K=[0.1:0.1:1,2:5]
GK=feedback(K*G,1);
y=step(GK,t);
Y=[Y,y];
end
plot(t,Y)
对于for循环语句,循环次数由K给出。系统画出的图形如图4-2所示。可以看出,当K的值增加时,一对主导极点起作用,且响应速度变快。一旦K接近临界K值,振荡加剧,性能变坏。
图4-2 不同K值下的阶跃响应曲线
4. MATLAB绘图的基本知识
通过以上实例的应用,我们已初步尝试了MATLAB的绘图功能。MATLAB具有丰富的获取图形输出的程序集。我们已用命令plot()产生线性x-y图形(用命令loglog、semilogx、semilogy或polar取代命令plot,可以产生对数坐标图和极坐标图)。所有这些命令的应用方式都是相似的,它们只是在如何给坐标轴进行分度和如何显示数据上有所差别。
(1)二维图形绘制
如果用户将X和Y
文档评论(0)