欢迎来到天天文库
浏览记录
ID:1244186
大小:87.00 KB
页数:7页
时间:2017-11-09
《第4章 利用matlab绘制系统根轨迹》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第4章利用MATLAB绘制系统根轨迹一、利用MATLAB绘制系统根轨迹相关知识假设闭环系统中的开环传递函数可以表示为:则闭环特征方程为: 特征方程的根随参数K的变化而变化,即为闭环根轨迹。控制系统工具箱中提供了rlocus()函数,可以用来绘制给定系统的根轨迹,它的调用格式有以下几种: rlocus(num,den)rlocus(num,den,K) 或者 rlocus(G)rlocus(G,K)以上给定命令可以在屏幕上画出根轨迹图,其中G为开环系统G0
2、(s)的对象模型,K为用户自己选择的增益向量。如果用户不给出K向量,则该命令函数会自动选择K向量。如果在函数调用中需要返回参数,则调用格式将引入左端变量。如[R,K]=rlocus(G)此时屏幕上不显示图形,而生成变量R和K。R为根轨迹各分支线上的点构成的复数矩阵,K向量的每一个元素对应于R矩阵中的一行。若需要画出根轨迹,则需要采用以下命令: plot(R,¹¹) plot()函数里引号内的部分用于选择所绘制曲线的类型,详细内容见表1。控制系统工具箱中还有一个rlocf
3、ind()函数,该函数允许用户求取根轨迹上指定点处的开环增益值,并将该增益下所有的闭环极点显示出来。这个函数的调用格式为:[K,P]=rlocfind(G)这个函数运行后,图形窗口中会出现要求用户使用鼠标定位的提示,用户可以用鼠标左键点击所关心的根轨迹上的点。这样将返回一个K变量,该变量为所选择点对应的开环增益,同时返回的P变量则为该增益下所有的闭环极点位置。此外,该函数还将自动地将该增益下所有的闭环极点直接在根轨迹曲线上显示出来。例4.1 已知系统的开环传递函数模型为:利用下面的MATLAB命令可容易地验证出系统的根轨迹如
4、图4-1所示。>>G=tf(1,[conv([1,1],[1,2]),0]);rlocus(G);gridtitle(¹Root_LocusPlotofG(s)=K/[s(s+1)(s+2)]¹)xlabel(¹RealAxis¹) %给图形中的横坐标命名。ylabel(¹ImagAxis¹) %给图形中的纵坐标命名。[K,P]=rlocfind(G)用鼠标点击根轨迹上与虚轴相交的点,在命令窗口中可发现如下结果select_point=0.0000+1.3921iK=5.8142p=-2.29830-0.0085+1.3
5、961i-0.0085-1.3961i所以,要想使此闭环系统稳定,其增益范围应为0>holdoff; %擦掉图形窗口中原有的曲线。图4-1系统的根轨迹t=0:0.2:15;Y=[];forK=[0.1:0.1:1,2:5]GK=feedback(K*G,1);y=step(GK,t);Y=[Y
6、,y];endplot(t,Y)对于for循环语句,循环次数由K给出。系统画出的图形如图4-2所示。可以看出,当K的值增加时,一对主导极点起作用,且响应速度变快。一旦K接近临界K值,振荡加剧,性能变坏。图4-2 不同K值下的阶跃响应曲线4. MATLAB绘图的基本知识 通过以上实例的应用,我们已初步尝试了MATLAB的绘图功能。MATLAB具有丰富的获取图形输出的程序集。我们已用命令plot()产生线性x-y图形(用命令loglog、semilogx、semilogy或polar取代命令plot,可以产生对数坐标图和极坐标图
7、)。所有这些命令的应用方式都是相似的,它们只是在如何给坐标轴进行分度和如何显示数据上有所差别。(1)二维图形绘制如果用户将X和Y轴的两组数据分别在向量x和y中存储,且它们的长度相同,则命令plot(x,y)将画出y值相对于x值的关系图。例4.2 如果想绘制出一个周期内的正弦曲线,则首先应该用t=0:0.01:2*pi(pi是系统自定义的常数,可用help命令显示其定义)命令来产生自变量t;然后由命令y=sin(t)对t向量求出正弦向量y,这样就可以调用plot(t,y)来绘制出所需的正弦曲线,如图4-3所示。图4-3一个周期
8、内的正弦曲线(2)一幅图上画多条曲线。利用具有多个输入变量的plot( )命令,可以在一个绘图窗口上同时绘制多条曲线,命令格式为: plot(x1,Y1,x2,Y2,…,xn,Yn) x1、Y1、x2、Y2等一系列变量是一些向量对,每一个x-y对都可以用图解表示出来,因而可以
此文档下载收益归作者所有