(整理)MATLAB的根轨迹分析法及重点习题.
- 格式:doc
- 大小:365.50 KB
- 文档页数:17
基于MATLAB的根轨迹分析一.实验目的:1. 学习利用MATLAB的语言绘制控制系统根轨迹的方法。
2. 学习利用根轨迹分析系统的稳定性及动态特性。
二.实验内容:1. 应用MATLAB语句画出控制系统的根轨迹。
2. 求出系统稳定时,增益k的范围。
3. 分析系统开环零点和极点对系统稳定性的影响。
三.实验步骤1•给定某系统的开环传递函数G(s)H(s)=k/s(s*s+4s+16)用MATLAB与语言绘出该系统的根轨迹。
程序如下:num=[1];den=[1,4,16,0];G=tf(nu m,de n)G1=zpk(G)Z=tzero(G)P=pole(G)pzmap( nu m,de n);title('pole-zero Map')rlocus( nu m,de n)根轨迹如图-2-6-8-8Root Locus 结论:由上图可知增益k的取值范围:0<k<642.将系统的开环传递函数改为:G(s)H(s)=k/s(s*s+4s+5)绘出该系统根轨迹图,观察增加了开环零点后根轨迹图的变化情况。
程序如下:num=[1,1];den=[1,4,5,0];G=tf(nu m,de n)G1=zpk(G)Z=tzero(G)P=pole(G)pzmap( nu m,de n);title('pole-zero Map')rlocus( nu m,de n)根轨迹如图Root LocusrRrxA-2-2.5 -2 -1.5 -1-0.5Real Axis结论:增加了开环零点后根轨迹的变化tax A■『r r L ■iJ 1「「⑴改变了根轨迹在实轴上的分布。
(2) 改变了根轨迹渐近线的条数、倾角及截距口(3) 若增加的廿坏零点和某个极点車合或距离很近,构成开坏偶极子,则两者和互抵消。
因此,可加入•个零点來抵消有损于系统性能的极点耳(4) 根轨迹曲线将向左倔移,有利于改善系统的动态件能,而且,所加的零点越靠近虚轴,彫响越大。
《自动控制原理》课程实验报告实验名称系统根轨迹分析专业班级 ********************学号姓名**指导教师李离学院名称电气信息学院2012 年 12 月 15 日一、实验目的1、掌握利用MATLAB 精确绘制闭环系统根轨迹的方法;2、了解系统参数或零极点位置变化对系统根轨迹的影响;二、实验设备1、硬件:个人计算机2、软件:MATLAB 仿真软件(版本6.5或以上)三、实验内容和步骤 1.根轨迹的绘制利用Matlab 绘制跟轨迹的步骤如下:1) 将系统特征方程改成为如下形式:1 + KG ( s ) = 1 + K )()(s q s p =0, 其中,K 为我们所关心的参数。
2) 调用函数 r locus 生成根轨迹。
关于函数 rlocus 的说明见图 3.1。
不使用左边的选项也能画出根轨迹,使用左边的选项时,能 返回分别以矩阵和向量形式表征的特征根的值及与之对应的增益值。
图3.1 函数rlocus 的调用例如,图 3.2 所示系统特征根的根轨迹及其绘制程序见图 3.3。
图3.2 闭环系统一图3.3 闭环系统一的根轨迹及其绘制程序图 3.4 函数 rlocfind 的使用方法注意:在这里,构成系统 s ys 时,K 不包括在其中,且要使分子和分母中 s 最高次幂项的系数为1。
当系统开环传达函数为零、极点形式时,可调用函数 z pk 构成系统 s ys : sys = zpk([zero],[pole],1);当系统开环传达函数无零点时,[zero]写成空集[]。
对于图 3.2 所示系统,G(s)H(s)=)2()1(++s s s K *11+s =)3)(2()1(+++s s s s K . 可如下式调用函数 z pk 构成系统 s ys :sys=zpk([-1],[0 -2 -3],1)若想得到根轨迹上某个特征根及其对应的 K 的值,一种方法是在调用了函数 rlocus 并得到了根 轨迹后调用函数 rlocfind 。
|实验四 用MATLAB 绘制根轨迹图 (The Root Locus Using MATLAB )一、绘制系统的根轨迹在绘制根轨迹之前,先把系统的特征方程整理成标准根轨迹方程r num(s)1+G(s)H(s)=1+K =0den(s)⋅其中:rK为根轨迹增益;num(s)为系统开环传递函数的分子多项式;den(s)为系统开环传递函数的分母多项式。
绘制根轨迹的调用格式有以下三:rlocus(num,den) 开环增益k 的范围自动设定; rlocus(num,den,k) 开环增益k 的范围人工设定; [K,p]=rlocfind(G ) 确定所选定处的增益和对应的特征根。
例4.1 已知某系统的开环传递函数为s s s s K s r 424)(23+++⋅=G试绘制该系统的根轨迹。
解: 在Matlab 命令窗口键入 num=[1 4];den=[1 2 4 0]; rlocus(num,den)可得如图4-1的结果。
-5-4-3-2-11-10-8-6-4-20246810Real AxisI m a g i n a r y A x i sRoot Locus图4-1由于采用rlocus()函数绘制根轨迹时,不同的根轨迹分支之间只区分颜色而不区分线形,所以打印时是不容易分辨各个分支的,需要在运行Matlab 程序时注意观察曲线的颜色。
■例4-2 若要求例4-1中的r K 在1到10之间变化,绘制相应的根轨迹。
解 在MATLAB 命令窗口键入 num=[1 4];den=[1 2 4 0];k=[1:0.5:10]; rlocus(num,den,k)可得如图4-2.的结果。
-4.5-4-3.5-3-2.5-2-1.5-1-0.500.5Root LocusReal AxisI m a g i n a r y A x i s图4-2例4-3 设系统的开环传递函数为)22)(3(()(2+++=s s s K s s rs H G )试绘制其闭环系统的根轨迹图并在图上找出几点的相关数据。
matlab中根轨迹M a t l a b中的根轨迹是一种用于分析和设计控制系统的有力工具。
根轨迹图能够帮助我们直观地了解系统的稳定性、动态特性和控制参数对系统性能的影响。
在本文中,我们将一步一步地回答关于M a t l a b中根轨迹的一些常见问题。
1.什么是根轨迹?根轨迹是指系统传递函数零极点在复平面上随参数变化时所形成的轨迹。
这些轨迹是系统的特征线,可以帮助我们分析和预测系统的动态行为。
根轨迹图通常以虚轴为对称轴,用于研究连续时间域系统的稳定性和相应的频率响应。
2.如何在M a t l a b中绘制根轨迹?在M a t l a b中,绘制根轨迹有多种方法,其中最常用的是使用"r l o c u s"函数。
这个函数的基本语法为r l o c u s(s y s)或r l o c u s(s y s K)或r l o c u s(s y s,K),其中s y s是控制系统的传递函数,K是增益。
通过改变K的值,可以生成不同增益对应的根轨迹图。
3.如何选择适当的增益K?选择适当的增益K是非常重要的,因为它直接决定了系统的稳定性和性能。
通常情况下,我们可以通过观察根轨迹来判断系统是否稳定,并选择合适的增益K。
当系统的根轨迹趋近于虚线的无穷远处时,该系统是稳定的。
此时,我们可以选择一个适当的增益K,以实现所需的动态性能。
4.如何分析根轨迹图?根轨迹图提供了丰富的信息,可以帮助我们分析系统的动态行为。
首先,我们可以根据根轨迹的形状判断系统的稳定性。
如果所有的根轨迹都位于左半平面,则系统是稳定的;如果有根轨迹位于右半平面,则系统是不稳定的。
其次,我们还可以通过根轨迹图估计系统的动态特性,如振荡频率、过渡时间和超调量。
振荡频率可以通过根轨迹的旋转速度和半径来估计,而过渡时间和超调量可以通过根轨迹到达虚线和实轴的位置来估计。
此外,根轨迹图还可以帮助我们选择合适的控制器增益。
根据根轨迹的位置,我们可以调整增益的大小,以达到所需的系统性能。
第4章 利用MATLAB 绘制系统根轨迹一、 利用MATLAB 绘制系统根轨迹相关知识假设闭环系统中的开环传递函数可以表示为:)()())(()())(()(021********s KG p s p s p s z s z s z s K den numK a s a s a s b b s b s K s G n m nn n n m m m m k =+⋅⋅⋅+++⋅⋅⋅++==++⋅⋅⋅++++⋅⋅⋅++=---- 则闭环特征方程为: 01=+dennumK特征方程的根随参数K 的变化而变化,即为闭环根轨迹。
控制系统工具箱中提供了rlocus()函数,可以用来绘制给定系统的根轨迹,它的调用格式有以下几种:rlocus(num ,den) rlocus(num ,den ,K) 或者 rlocus(G) rlocus(G ,K)以上给定命令可以在屏幕上画出根轨迹图,其中G 为开环系统G 0(s)的对象模型,K 为用户自己选择的增益向量。
如果用户不给出K 向量,则该命令函数会自动选择K 向量。
如果在函数调用中需要返回参数,则调用格式将引入左端变量。
如[R ,K]=rlocus(G)此时屏幕上不显示图形,而生成变量R 和K 。
R 为根轨迹各分支线上的点构成的复数矩阵,K 向量的每一个元素对应于R 矩阵中的一行。
若需要画出根轨迹,则需要采用以下命令:plot(R ,¹¹)plot()函数里引号内的部分用于选择所绘制曲线的类型,详细内容见表1。
控制系统工具箱中还有一个rlocfind()函数,该函数允许用户求取根轨迹上指定点处的开环增益值,并将该增益下所有的闭环极点显示出来。
这个函数的调用格式为:[K ,P]=rlocfind(G)这个函数运行后,图形窗口中会出现要求用户使用鼠标定位的提示,用户可以用鼠标左键点击所关心的根轨迹上的点。
这样将返回一个K 变量,该变量为所选择点对应的开环增益,同时返回的P 变量则为该增益下所有的闭环极点位置。
实验三利用MATLAB进行根轨迹分析实验三利用MATLAB进行根轨迹分析一、实验目的1、熟悉MATLAB用于控制系统中的一些基本编程语句和格式。
2、利用MATLAB语句绘制系统的根轨迹。
3、掌握用根轨迹分析系统性能的图解方法。
二、实验原理1、绘制系统的根轨迹rlocus()2、确定闭环根位置对应增益值K的函数rlocfind()该函数的调用格式为:[k,r]=rlocfind(num,den)三、实验内容请绘制下面系统的根轨迹曲线①、G(s)=k/s*(s^2+2*s+2)*(s^2+6*s+13)K:从0到无穷大时的根轨迹,x轴、y轴和标题。
②、G(s)=k*(s+12)/(s+1)*(s^2+12*s+100)*(s+10)K:从0到1000时的根轨迹曲线。
③、G(s)=k*(0.05+1)/s*(0.0714+1)*(0.012*s^2+0.1*s+1) K:从0到无穷大时的根轨迹曲线,图形窗口任选一点,确定系统稳定性。
程序:①num=[1];>> den=conv(conv([1,0],[1,2,2]),[1,6,13]);>> tf(num,den)Transfer function:1------------------------------------s^5 + 8 s^4 + 27 s^3 + 38 s^2 + 26 s>> num=[0,0,1];>> den=[1,8,27,38,26];>> rlocus(num,den)>> grid>> xlabel('Real Axis'),ylabel('Imaginary Axis')>> title('Root Locus')②num=[1,12];den=conv(conv([1,1],[1,12,100]),[1,10]); >> tf(num,den) Transfer function:s + 12--------------------------------------s^4 + 23 s^3 + 242 s^2 + 1220 s + 1000 >> num=[1,12]; >> den=[1,23,242,1220,1000];>> k=1:0.5:1000;>> rlocus(num,den)>> grid③num=[0.05 1];den=conv(conv([1,0],[0.0714 1]),[0.012 0.1 1]); rlocus(num,den)r=rlocus(num,den)[r,k]=rlocus(num,den)G=tf(num,den);rlocus(G);[k,r]=rlocfind(G)G_c=feedback(G,1);step(G_c)gridxlabel('Real Axis'),ylabel('Imaginary Axis')title('Root Locus')从k的取值可以知道系统是稳定的。
利用Matlab绘制系统的根轨迹本章前面的内容介绍了控制系统根轨迹的绘制以及利用系统大致的根轨迹图分析系统性能的方法,若要由根轨迹获得系统在某一特定参数下准确的性能指标或者准确的闭环极点,需要依据幅值条件精确地作图。
如果利用MATLAB工具箱中函数,则可方便、准确地作出根轨迹图,并利用图对系统进行分析。
MATLAB工具箱中,求系统根轨迹的几个常用函数有rlocus,rlocfind,sgrid,下面通过具体的例子来说明这些函数的应用。
例4-13控制系统的开环传递函数为G(s)H(s)=绘制系统的根轨迹图。
解利用函数rlocus函数可直接作出系统的根轨迹图,程序如下:%example4-13%num=[1,5];dun=[1,6,11,6,0];rlocus(num,dun)执行该程序后,可得到如图4-20所示的根轨迹。
图4-20例4-13题根轨迹图利用函数rolcus可画出系统的根轨迹图后,可用rlocfind函数在根轨迹上选择任意极点,得到相应的开环增益和其它闭环极点。
例4-14控制系统的开环传递函数为绘制系统的根轨迹图,并确定根轨迹的分离点及相应的开环增益。
解将开环传递函数写为Matlab程序如下:%example4-14%num=[1];den=[0.0002,0.03,1,0];rlocus(num,den)title(‘Root Locus’)[k,p]=rlocfind(num,den)程序执行过程中,先绘出系统的根轨迹,并在图形窗口中出现十字光标,提示用户在根轨迹上选择一点,这时,将十字光标移到所选择的地方,可得到该处对应的系统开环增益及其它闭环极点。
此例中,将十字光标移至根轨迹的分离点处,可得到k=9.6115p=-107.7277-21.9341-20.3383若光标能准确定位在分离点处,则应有两个重极点,即相等。
程序执行后,得到的根轨迹图如图4-21所示。
图4-21例4-14系统的根轨迹例4-15开环系统的传递函数为绘制系统的根轨迹,并分析系统的稳定性。
4.1某系统的结构如题4-1图所示,试求单位阶跃响应的调节时间t s ,若要求t s =0.1秒,系统的反馈系数应调整为多少?解:(1)由系统结构图可知系统闭环传递函数为:100()100()1001()()1001*G s s s G s H s s aa sΦ===+++ 在单位阶跃函数作用下系统输出为:12100()()()(100)100k k C s R s s s s a s s a=Φ==+++为求系统单位阶跃响应,对C(s)进行拉斯反变换:1021001001001001lim ()lim1001001lim (100)()lim 11()(100)1()(1)s s s as a at k sC s s a ak s a C s s aC s as a s a c t e a→→→-→--===+=+==-=-+=-根据定义调节时间等于响应曲线进入5%误差带,并保持在此误差带内所需要的最短时间,且根据响应系统单位阶跃响应的函数表达式可以看出系统单位阶跃响应的稳态值为1a,因此: 10010011()(1)0.950.051ln 201001=0.1ln 20=0.3s 10s s at s at s s c t e a a e t a a t --=-=⇒=⇒==因为题中,所以(2)若要求t s =0.1秒,则有:1ln 20=0.1100=0.3s t aa =⇒ 即:若要求调节时间缩小为0.1秒,则需将反馈环节的反馈系数调整为0.3。
4.2已知二阶系统的阶跃响应曲线如题4.2图所示,该系统为单位负反馈系统,试确定其开环传递函数。
解:根据系统阶跃响应曲线可以看出: 峰值时间=0.1s p t ,超调量 1.3-1%=100%30%1σ⨯=; 根据课本中对典型二阶系统222()2nn ns s s ωζωωΦ=++暂态性能指标的推导计算可知:%p t e σ-==结合本题已知阶跃响应曲线可知:0.1(1)%30%(2)p t e σ-====由式(2)可知:0.3ln 0.30.3832cot =0.3832=arccot 0.3832=69.0332=cos =0.3578eζϕζϕζϕ-=⇒-=⇒==即:将ζ带入式(1)中可得:0.1p n t ω==回顾题意对于典型二阶系统其闭环传递函数为222()2nn ns s s ωζωωΦ=++,且系统为单位负反馈系统,所以系统开环传递函数和闭环传递函数之间满足如下关系:222222222211()()121211211131.8851===224.0753n n n nn n n n n G s s s s G s s G s s G G s s s sωζωζωωωζωωωζωΦ==Φ==+++++++++,因为:所以:,4.3单位反馈控制系统开环传递函数为()(1)KG s s Ts =+,若116s =0.25s K T -=、,试求(1)动态性能指标%(0.05)s t σ∆=、.(2)欲使%=16%σ,当T 不变时,K 应取何值。
解:(1)对于单位反馈控制系统,已知开环传递函数可求出其闭环传递函数,并将其化为标准形式为:22()(1)()1()1(1)1180.25n n n K KG s K s Ts T s K s K G s Ts s K s s Ts T T T Tωζωζω+Φ====+++++++===⇒==即:;22 所以根据动态性能指标的计算公式将上述两参数带入后可得:0.2511ln( 1.5142%44.43%s n t s e e ζωσ--=-=-====(2)由于T=0.25s,所以可知: 1n n T ωζωζ==⇒=2将阻尼比带入超调量的计算公式中:%16%0.16ln 0.16ln 0.16 3.9388e e K σ--==⇒=⇒-==⇒=将阻尼比带入可得:4.4设控制系统如题4-4图所示,其中图(a)为无速度反馈系统,图(b)为带速度反馈系统,试确定系统阻尼比为0.5时K t 的值,并比较图(a)和图(b)系统阶跃响应的动态性能指标。
解:(1)根据系统结构图可求得两系统的闭环传递函数为:2210()101(1)(),101()()1021(1)10()10(1)(),101()()10101(1)(1)1+100.21622a n n b t tt n t n G s s s s G s H s s s s s G s s s s G s H s s s K s K s s s K K ωζωωζω+Φ======++++++Φ===+++++++===所以所以因此(2)根据已经求得的两系统的阻尼比和无阻尼自然振荡角频率可分别计算两系统的动态性能指标:0.55351.0053%60.47%1ln( 6.0168ra pa a sa nt s t s e t sσζω-=======-=0.76481.1471%16.3%1ln( 1.9827rb pb b sb nt s t s e t sσζω-=======-=经对比可看出:采用速度反馈的b 系统虽然上升时间和峰值时间稍有延长,但超调量存在明显下降,系统振荡剧烈程度下降,另外调节时间也显著降低,即使说系统能够在较快的时间内达到稳定,系统动态性能得到了提高。
4.5某系统结构如题4-5图所示,试判断系统的稳定性。
解:根据系统结构图可利用梅森公式求解其传递函数,结构图中前向通道有一条,回路有两个,且两回路相关,因此有:2212111321010(+1)20101(2)1(1)(1)11011010()21101s s s s s s s sP s P s s s s s ∆=--⋅-=+++++=∆=∆+Φ==∆+++因此可得系统特征方程为:32211010s s s +++=列写其劳斯表为:3211021120902111s s s根据劳斯判据可知,劳斯表第一列系数符号均未发生变化,因此系统稳定。
4.6已知系统特征方程如下,用劳斯判据判断系统的稳定性,如不稳定求在s 右半平面的根数及虚根值。
另外用MATLAB 软件直接求其特征跟加以验证。
(1)5432543224312243248011232324484160124800480,148s=2js s s s s s s s s s +++++=+=±2劳斯表中出现全零行,根据上一行数据列写辅助方程为12s 对其求导得到全零行的新系数为:240,求解辅助方程可得通过分析劳斯表中第一列系数可知并没有符号变化,所以不存在位于s 右半平面的特征根,另外由于系统劳斯表中出现全零行,所以系统不稳定,存在对称于原点的根为s=2j ±用MATLAB 软件中函数roots 求特征方程根可得,系统特征方程根为如下所示,进一步验证了上述求解结果的正确性。
(2)5432543210312203525011235320251680(16)(80)033525000250,125s=s s s s s s s s s s +++++=+=2同时乘以非正系数3可简化计算劳斯表中出现全零行,根据上一行数据列写辅助方程为5s 对其求导得到全零行的新系数为:100,求解辅助方程可得通过分析劳斯表中第一列系数可知并没有符号变化,所以不存在位于s 右半平面的特征根,另外由于系统劳斯表中出现全零行,所以系统不稳定,存在对称于原点的根为s=±用MATLAB 软件中函数roots 求特征方程根可得,系统特征方程根为如下所示,进一步验证了上述求解结果的正确性。
(3)6543265432(-20)(10)24447810014710448055100005100,510s=1290110s s s s s s s s s s s s s -+-+--+=------+=-±-4劳斯表中出现全零行,根据上一行数据列写辅助方程为-5s 对其求导得到全零行的新系数为:-20-10,求解辅助方程可得通过分析劳斯表中第一列系数符号变化两次,所以有两个位于s 右半平面的特征根,另外由于系统劳斯表中出现全零行,所以系统不稳定,存在对称于原点的根为s=1±±用MATLAB 软件中函数roots 求特征方程根可得,系统特征方程根为如下所示,进一步验证了上述求解结果的正确性。
(4)65432(4)(6)212741340134000340,34s=j,s=2250314s s s s s s s ----------=--±±--4劳斯表中出现全零行,根据上一行数据列写辅助方程为s 对其求导得到全零行的新系数为:4-6,求解辅助方程可得通过分析劳斯表中第一列系数符号变化1次,所以有1个位于s 右半平面的特征根,另外由于系统劳斯表中出现全零行,所以系统不稳定,存在对称于原点的根为s=j,s=2±±用MATLAB 软件中函数roots 求特征方程根可得,系统特征方程根为如下所示,进一步验证了上述求解结果的正确性。
4.7已知单位反馈系统的开环传递函数为2(0.51)()(+1)(0.51)K s G s s s s s +=++,试确定系统稳定时的K 值范围。
解:根据已知单位反馈系统开环传递函数可知系统特征方程为:4320.5 1.52(0.51)0s s s K s K +++++=,对系统列写劳斯表可得:4320.521.50.5100.51234.50.516(0.51)1s Ks K K s KKs K K K++-+--+欲使系统稳定则需满足:0.5120103K K +->⇒<4.50.510556(0.51)KK K K +->⇒--<<-+-+0K >汇总得:05 1.708K <<-+=4.8已知系统的特征方程为321340400s s s K +++=,试确定系统稳定时的K 值范围,若要求闭环系统极点均位于s=-1垂线之左,K 值该如何调整。
解:(1)对系统列写劳斯表为:321401340404013140s s K K s K-欲使系统稳定则需满足:40400;40013KK ->>,即:013K <<。
(2)将1s s =-带入系统原特征方程中得:323210174028011710402819.8414028s s s K s s K s K K +++-=---欲使系统稳定则需满足:19.840 4.95K K ->⇒<;402800.7K K ->⇒>;即0.7 4.95K <<4.9已知系统稳定,求2()1()2t r t t t =++的系统稳态误差。