线性系统的根轨迹根轨迹是指系统的某一参数从零变到无穷大时,特征方程的根在s平面上的变化轨迹。这个参数一般选为开环系统的增益K。用MATLAB可以方便地绘制精确的根轨迹图,并可观测参数变化对特征根位置的影响。nnnnmmmmasbsasbsbsbsbKsKGsG??????????????11111210)()(??0)(10??sKG假设系统的对象模型可以表示为系统的闭环特征方程可以写成对每一个K的取值,我们可以得到一组系统的闭环极点。如果我们改变K的数值,则可以得到一系列这样的极点集合。若将这些K的取值下得出的极点位置按照各个分支连接起来,则可以得到一些描述系统闭环位置的曲线,这些曲线又称为系统的根轨迹。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为根轨迹增益,可设定增益范围。(1) 绘制系统的根轨迹rlocus()例:已知系统的开环传递函数,绘制系统的根轨迹924)1()(23??????ssssKsGMATLAB的调用语句如下:num=[1 1]; %定义分子多项式den=[1 4 2 9]; %定义分母多项式rlocus (num,den) %绘制系统的根轨迹grid %画网格标度线 xlabel(‘Real Axis’),ylabel(‘Imaginary Axis’) %给坐标轴加上说明title(‘Root Locus’) %给图形加上标题名若要绘制K在(1,10)的根轨迹图,则此时的MATLAB的调用格式如下。num=[1 1];den=[1 4 2 9];k=1::10;rlocus(num,den,k)gridxlabel('RealAxis'),ylabel('ImaginaryAxis')title('RootLocus')(2) 确定闭环根位置对应增益值K的函数rlocfind()在MATLAB中,提供了rlocfind函数获取与特定的复根对应的增益K的值。在求出的根轨迹图上,可确定选定点的增益值K和闭环根r(向量)的值。该函数的调用格式为:[k,r]=rlocfind(num,den)执行前,先执行绘制根轨迹命令rlocus(num,den),作出根轨迹图。执行rlocfind命令时,出现提示语句“Select a point in the graphics window”,即要求在根轨迹图上选定闭环极点。将鼠标移至根轨迹图选定的位置,单击左键确定,根轨迹图上出现“+”标记,即得到了该点的增益K和闭环根r的返回变量值。例:系统的开环传递函数为253865)(232???????sssssKsG求:(1)系统的根轨迹;(2)系统稳定的K的范围;(3)K=1时闭环系统阶跃响应曲线。则此时的MATLAB的调用格式为:G=tf([1,5,6],[1,8,3,25]); rlocus (G); %绘制系统的根轨迹[k,r]=rlocfind(G) %确定临界稳定时的增益值k和对应的极点r G1=feedback(G,1); %形成单位负反馈闭环系统step(G1) %绘制闭环系统的阶跃响应曲线系统的根轨迹图和闭环系统阶跃响应曲线如图所示。?n?(3) 绘制阻尼比和无阻尼自然频率的栅格线sgrid( ))2)(1(1)(???ssssG?例:系统的开环传递函数为由rlocfind函数找出能产生主导极点阻尼==tf(1,[conv([1,1],[1,2]),0]);zet=[::1];wn=[1:10];sgrid(zet,wn);hold on;rlocus(G)[k,r]=rlocfind(G)(4)基于根轨迹的系统设计及校正工具rltool MATLAB中提供了一个系统根轨迹分析的图形界面,
根轨迹,频率分析 来自淘豆网www.taodocs.com转载请标明出处.