利用MATLAB绘制系统根轨迹
利用MATLAB进行根轨迹分析
利用MATLAB进行根轨迹分析根轨迹分析是一种用于研究系统稳定性和动态特性的方法,通过研究系统的传递函数来绘制系统极点随参数变化的轨迹。
MATLAB提供了强大的工具和函数来进行根轨迹分析。
根轨迹是由系统的极点随参数变化所形成的轨迹,它可以反映系统的稳定性、阻尼比、上升时间、超调量等动态性能指标。
根轨迹的绘制通常包括以下步骤:1.定义系统传递函数:首先,需要根据具体的控制系统问题定义系统的传递函数。
传递函数是描述输入与输出间关系的数学模型,通常用分子多项式和分母多项式的比值来表示。
2. 极点位置确定:根据系统传递函数的分母多项式,可以求解系统的极点位置。
MATLAB提供了roots函数来计算多项式的根。
3. 绘制根轨迹:通过参数变化,将系统的极点位置代入传递函数的分子多项式中,可以计算得出系统的零点。
然后,使用MATLAB的plot函数将所有极点和零点绘制在复平面上。
4.判断稳定性:通过观察根轨迹的形状,可以判断系统的稳定性。
如果所有极点都位于左半平面,系统是稳定的。
如果存在极点位于右半平面,系统是不稳定的。
5.分析动态特性:根轨迹的形状可以提供许多关于系统动态特性的信息。
例如,阻尼比可以通过根轨迹上极点到原点的距离和纵坐标之比来估计;超调量可以通过根轨迹的形状和最大振幅来估计。
MATLAB提供了许多用于根轨迹分析的函数和工具箱,包括rlocus函数、nyquist函数和bode函数等。
这些函数可以方便地绘制根轨迹、Nyquist图和Bode图,从而帮助工程师分析系统稳定性以及设计和调整控制器。
根轨迹分析在控制系统设计和调优中具有重要作用。
通过根轨迹的绘制和分析,工程师可以深入了解控制系统的动态特性,并根据需要调整系统参数来达到设计要求。
同时,根轨迹分析也是控制系统教学和研究中常用的方法和工具。
总之,MATLAB是进行根轨迹分析的强大工具,通过绘制根轨迹和分析根轨迹的形状和特性,可以帮助工程师深入了解控制系统的稳定性和动态特性,从而有效地设计和调整控制器。
用MATLAB绘制根轨迹
国防工业出版社
.
16
[M例a子tla]b系画统出的系开统环的传根递轨函迹数。为:Gk(s)s(s11)(s2) ,试利用 [解]打开Matlab,创建一个m文件,输入下列程序片段:
num=[0 0 0 1];%开环传递函数分子系数,降幂排列 den=[1 3 2 0]; %开环传递函数分母系数,降幂排列 r=rlocus(num,den);
(s)
|sd
可以求得分离点。
近似求法:分离点在[-4,0]之间。
s0
-0.5 -1 -1.5 -2.0 -2.5 -3 -3.5 -4
k gd 0
1.628 3
5.971 8.80 9.375 7.457 3.949
k gd 的最大值为9.375,这时s=-2.5,是近似分离点。
.
4
➢ 入射角:2 103 ➢ 与虚轴的交点(略)。这时的增益值:kgp14,64,195
解得:kg 44
k ( i s 1)
开环传递函数以G k (s)
i 1 n
的形式表示时,k称为开环放
大系数。
(T j s 1)
j 1
显然 k与 k g 的关系为:k kg
zi ,式中 p j 不计0极点。 pj
所以,开环放大系数:k 44 1.83
46
由于闭环极点之和等于开环极点之和,所以另一个闭环极点
n2 2nsn2
(s)
n2 s(s2)
共轭极点为:s1,2 nj 12n
在s平面上的分布如右图: 闭环极点的张角 为:
n
j 1 2n
co s(12 n)n 2 (n )2, co 1s
控制系统MATLAB仿真2-根轨迹仿真
Gk ( s)
k g ( s 0.5) s( s 1)( s 2)( s 5)
绘制系统的根轨迹,确定当系统稳定时,参数kg 的取值范围。 num=[1 0.5]; den=conv([1 3 2],[1 5 0]); G=tf(num,den); K=0:0.05:200; rlocus(G,K) [K,POLES]= rlocfind(G) figure(2) Kg=95; t=0:0.05:10; G0=feedback(tf(Kg*num,den),1); step(G0,t)
Root Locus 8
8 6 4 2 0 -2 -4 -6 -8 -8 x x x
6
4
2
Imaginary Axis
0
-2
-4
-6
-8 -8
-6
-4
-2
0 Real Axis
2
4
6
8
-6
-4
-2
0
2
4
6
8
(a) 直接绘制根轨迹
(b) 返回参数间接绘制根轨迹
图1 例1系统根轨迹
二、MATLAB根轨迹分析实例
用户可以通过Control Architecture窗口进行系 统模型的修改,如图9。
图9 rltool工具Control Architecture窗口
也可通过System Data窗口为不同环节导入已 有模型,如图10。
图10 rltool工具System Data窗口
可以通过Compensator Editor的快捷菜单进行 校正环节参数的修改,如增加或删除零极点、 增加超前或滞后校正环节等,如图11。
Step Response 2 1.8 1.6 1.4 1.2
控制系统的根轨迹分析(matlab)
用户可以 通过 Control Architec ture窗口 进行系统 模型的修 改,如图 13.10。
图13.10 rltool工具Control Architecture窗口
也可通过 System Data窗口 为不同环 节导入已 有模型, 如图 13.11。
图13.11 rltool工具System Data窗口
1
0.8
Amplitude
0.6
0.4
0.2
0
0
1
2
3
4
5
6
Time (sec)
图13.8 例4当时系统的单位阶跃响应曲 线
13.2图形化根轨迹法分析与设计
图形化根轨迹法分析与设计工 具rltool
• MATLAB图形化根轨迹法分析与设计工具rltool 是对SISO系统进行分析设计的。既可以分析 系统根轨迹,又能对系统进行设计。其方便 性在于设计零极点过程中,能够不断观察系 统的响应曲线,看其是否满足控制性能要求, 以此来达到提高系统控制性能的目的。
%鼠标确定文本的左下角位置
gtext('x')
Imaginary Axis
Root Locus
8
8
6
6
4
4
2
2
0
0
x
xx
-2
-2
-4
-4
-6
-6
-8
-8
-6
-4
-2
0
2
4
6
8
-8 -8
-6
-4
-2
0
2
4
6
8
Real Axis
(a) 直接绘制根轨迹
自控实验报告实验三线性系统的根轨迹
实验三 线性系统的根轨迹一、实验目的1. 熟悉MATLAB 用于控制系统中的一些基本编程语句和格式。
2. 利用MATLAB 语句绘制系统的根轨迹。
3. 掌握用根轨迹分析系统性能的图解方法。
4. 掌握系统参数变化对特征根位置的影响。
二、实验报告1.根据内容要求,写出调试好的MATLAB 语言程序,及对应的结果。
2. 记录显示的根轨迹图形,根据实验结果分析根轨迹的绘制规则。
3. 根据实验结果分析闭环系统的性能,观察根轨迹上一些特殊点对应的K 值,确定闭环系统稳定的范围。
4.写出实验的心得与体会。
三、实验内容请绘制下面系统的根轨迹曲线同时得出在单位阶跃负反馈下使得闭环系统稳定的K 值的范围。
一、 )136)(22()(22++++=s s s s s Ks G1、程序代码:G=tf([1],[1,8,27,38,26]); rlocus (G); [k,r]=rlocfind(G)G_c=feedback(G,1); step(G_c)2、实验结果:-8-6-4-22468Root LocusReal AxisI m a g i n a r y A x i sselected_point = -8.8815 + 9.4658i k =1.8560e+04 r =-10.2089 + 8.3108i -10.2089 - 8.3108i 6.2089 + 8.2888i6.2089 - 8.2888iTime (seconds)A m p l i t u d eselected_point =-9.5640 - 7.6273i k =1.3262e+04 r =-9.5400 + 7.6518i -9.5400 - 7.6518i 5.5400 + 7.6258i5.5400 - 7.6258iTime (seconds)A m p l i t u d eTime (seconds)A m p l i t u d eselected_point =-0.0095 + 2.1118i k =73.9872 r =-3.9617 + 2.4724i -3.9617 - 2.4724i -0.0383 + 2.1409i -0.0383 -2.1409iTime (seconds)A m p l i t u d e3、结果分析:根轨迹与虚轴有交点,所以在K 从零到无穷变化时,系统的稳定性会发生变化。
《自动控制原理》实验报告(线性系统的根轨迹)
实验四 线性系统的根轨迹一、实验目的1. 熟悉MATLAB 用于控制系统中的一些基本编程语句和格式。
2. 利用MATLAB 语句绘制系统的根轨迹。
3. 掌握用根轨迹分析系统性能的图解方法。
4. 掌握系统参数变化对特征根位置的影响。
基础知识及MATLAB 函数根轨迹是指系统的某一参数从零变到无穷大时,特征方程的根在s 平面上的变化轨迹。
这个参数一般选为开环系统的增益K 。
课本中介绍的手工绘制根轨迹的方法,只能绘制根轨迹草图。
而用MATLAB 可以方便地绘制精确的根轨迹图,并可观测参数变化对特征根位置的影响。
假设系统的对象模型可以表示为nn n n m m m m a s b s a s b s b s b s b K s KG s G ++++++++==--+-11111210)()(ΛΛ 系统的闭环特征方程可以写成: 0)(10=+s KG对每一个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:已知系统的开环传递函数924)1()(23++++=*ssssKsG,绘制系统的根轨迹的MATLAB的调用语句如下:num=[1 1]; %定义分子多项式den=[1 4 2 9]; %定义分母多项式rlocus (num,den)%绘制系统的根轨迹grid%画网格标度线xlabel(‘Real Axis’),ylabel(‘Imaginary Axis’) %给坐标轴加上说明title(‘Root Locus’) %给图形加上标题名则该系统的根轨迹如图3-1所示:若上例要绘制K在(1,10)的根轨迹图,则此时的MATLAB的调用格式如下,对应的根轨迹如图3-2所示。
参数根轨迹的matlab绘制原理
参数根轨迹的matlab绘制原理参数根轨迹是控制系统分析和设计中非常重要的概念,可以帮助我们分析控制系统的稳定性和动态响应特性。
在Matlab中,可以通过一些简单的指令实现参数根轨迹的绘制,从而更好地理解控制系统的行为。
本文将简要介绍参数根轨迹的概念和Matlab中绘制参数根轨迹的原理,以及具体的绘制方法。
一、什么是参数根轨迹?我们知道,在控制系统中,控制器的传递函数通常是由若干个参数构成的,例如比例控制器的传递函数为$K_p$,积分控制器的传递函数为$\frac{K_i}{s}$等。
参数根轨迹是指控制器参数变化时,系统极点和极点轨迹的变化关系。
在某些情况下,通过控制器参数的设计和调节,我们可以使得系统的极点轨迹穿过我们所期望的点(通常是一条直线),从而使系统的性能和稳定性得到改善。
参数根轨迹的绘制是一种基于控制理论的分析方法,它可以用来分析控制系统的动态响应特性,包括稳态误差、阻尼比、过渡过程时间等。
参数根轨迹的概念适用于各种类型的控制系统,包括比例控制、积分控制、微分控制、比例积分控制、比例微分控制等。
二、参数根轨迹的Matlab绘制原理Matlab提供了许多用于控制系统分析和设计的工具箱,包括控制系统工具箱、优化工具箱等。
在控制系统工具箱中,可以使用“rlocus”指令绘制参数根轨迹。
rlocus指令的使用形式为:```rlocus(num,den,k)```num和den是控制器的分子和分母系数向量,k是控制器参数的范围,通常选择在0到一个较大的数之间。
对于一个比例控制器,可以使用以下代码绘制参数根轨迹:```num=[1];den=[1 10];k=0:0.1:10;rlocus(num,den,k)```这个代码将绘制一个比例控制器$G(s)=k$的参数根轨迹,其中控制器的分母为$s+10$。
在绘制出来的图像中,可以看到参数$k$的变化对系统极点轨迹的影响。
通常我们会选择一个合适的$k$值,使得系统极点轨迹经过我们期望的稳定位置。
MATLAB绘制根轨迹
结语
谢谢大家!
某系统开环传递函数为:
G(s)s3
2k 3s2
2s
要绘制系统的根轨迹,那么输入:
n = [0 0 0 2] d=[1 3 2 0] rlocus〔n,d〕
假设要得到指定增益k值对应的r值那么输入: n = 2; d = [ 1 3 2 0 ]; [ r,k] = rlocus〔n,d,5〕
结果如下:
Hale Waihona Puke 零极点分布图在MATLAB中,可利用pzmap( )函数绘制连 续系统的零、极点图,从而分析系统的稳 定性,该函数调用格式为: pzmap(num,den)。
给定传递函数:
利用以下命令可自动翻开一个图形窗口,显示该系统的零、极点分布图。 用鼠标点击图中零、极点可自动显示其坐标值。
num=[3,2,5,4,6]; den=[1,3,4,2,7,2]; pzmap(num,den) title(‘Pole-Zero Map’) % 图形标题
求系统根轨迹
rlocus 命令可求得系统的根轨迹 格式:
[ r,k ] = rlocus〔num,den〕 [ r,k ] = rlocus〔num,den,k〕 不带输出变量时那么绘出系统的根轨迹图, 带输出变量时给出一组r,k的对应数据。 假设给定了k的取值范围,那么该命令将按 要求绘出图形或数组或者输出指定增益k所 对应的r值。每条根轨迹都以不同的颜色区 别。
MATLAB绘制根轨迹
由传递函数求零点和极点
在MATLAB控制系统工具箱中,给出了由传 递函数对象G求系统零点和极点的函数,其 调用格式分别为: Z=tzero(G) P=pole(G) 注意:上式中要求的G必须是零极点模型对 象。
传递函数为
matlab中根轨迹
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.如何分析根轨迹图?根轨迹图提供了丰富的信息,可以帮助我们分析系统的动态行为。
首先,我们可以根据根轨迹的形状判断系统的稳定性。
如果所有的根轨迹都位于左半平面,则系统是稳定的;如果有根轨迹位于右半平面,则系统是不稳定的。
其次,我们还可以通过根轨迹图估计系统的动态特性,如振荡频率、过渡时间和超调量。
振荡频率可以通过根轨迹的旋转速度和半径来估计,而过渡时间和超调量可以通过根轨迹到达虚线和实轴的位置来估计。
此外,根轨迹图还可以帮助我们选择合适的控制器增益。
根据根轨迹的位置,我们可以调整增益的大小,以达到所需的系统性能。
基于MATLAB的根轨迹仿真实验设计
Ab s t r a c t : I n a u t o ma t i c c o n t r o l p r i n c i p l e c o u r s e e x p e r i me n t s, a d e s i g n i d e a o f t h e r o o t l o c us s i mu l a t i o n e x p e r i me nt u s i n g MA T LA B
控制理论中非 常重要的 一种方法 , 也是 在 不 满 足 要 求 时 , 能够正确设计校正装置, 改 用 于 获 取 选 定 点 对 应 的 闭环 极 点 和 增 益 K 工 程 实 际 中 得 到 广 泛 应 用 的 一 种 图解 方 善 系 统 的 性 能 。 因此 , 仿 真 实 验 由 绘制 根 轨
a s a t o o l i S p r o p o s e d, wh i c h ?i n c l u d e s t hr e e a s p e c t s :t h e r o o t l o c u s ma p p i n g, t h e a n a l y s i s o f s y s t e m p e r f o r ma n c e, a n d s y s t e m c o r r e c t i o n.
根轨迹分析的MATLAB实现
函数命令调用格式:
[k,poles]=rlocfind(sys) [k,poles]=rlocfind(sys,p)
函数命令使用说明:
rlocfind()函数命令可计算出与根轨迹上极点(位 置为poles)相对应的根轨迹增益(k)。rlocfind()函 数既适用于连续时间系统,也适用于离散时间系统。
pzmap(a,b,c,d)函数可以在复平面内绘制用状态空间 模型描述系统的零极点图,对于MIMO系统,可绘制所有 输入到输出间的传递零点。
pzmap(sys)函数可以在复平面里绘制以传递函数模 型sys表示开环系统的零极点。传递函数模型sys即 G(s)=num(s)/den(s)。
pzmap(p,z)函数可在复平面里绘制零极点图,其中 行矢量p为极点位置,列矢量z为零点位置。这个函数命令 用于直接绘制给定的零极点图。
[k,poles]=rlocfind(sys,p)函数可对指定根计算对应 的增益与根矢量p。
[k,poles]=rlocfind(sys)函数输入参量sys可以是由函 数tf()、zpk()、ss()中任何一个建立的LTI对象模 型。函数命令执行后,可在根轨迹图形窗口中显示十字形 光标,当用户选择根轨迹上一点时,其相应的增益由k记 录,与增益相关的所有极点记录在poles中。
2.求系统根轨迹的函数rlocus()
函数命令调用格式:
[r,k]=rlocus(a,b,c,d) [r,k]=rlocus(sys) [r,k]=rlocus(a,b,c,d,k) [r,k]=rlocus(num,den,k)
函数命令使用说明:
rlocus()函数命令用来绘制SISO系统的根轨迹图。 rlocus()函数既可适用于连续时间系统,也适用于离散时 间系统。
利用Matlab绘制系统的根轨迹
利用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所示。
MATLAB在控制系统根轨迹中的应用
MATLAB在控制系统根轨迹中应用
在控制系统分析中,为了避开直接求解高阶多项式根时碰到困难,在实践中提出了一个图解求根法,即根轨迹法。
所谓根轨迹是指当系统某一个(或多个)参数从-∞到+∞时,闭环特征方程根在复平面上描绘部分曲线。
应用这些曲线,能够依据某个参数确定对应特征根。
在根轨迹法中,通常取系统开环放大倍数K作为可变参数,利用它来反应出开环系统零极点和闭环系统极点(特征根)之间关系。
根轨迹能够分析系统参数和结构已定系统时域响应特征,和参数改变对时域响应特征影响,而且还能够依据对时域响应特征要求确定可变参数及调整开环系统零极点位置,并改变它们个数,也就是说根轨迹法可用于处理线性系统分析和综合问题。
MATLAB提供了专门绘制根轨迹函数指令,以下表所表示,使绘制根轨迹变得轻松自如。
表系统根轨迹绘制及零极点分析函数
试绘制其零极点图和根轨迹图。
MATLAB程序为:
num=[2,5,1];den=[1,2,3];sys=tf(num,den); %生成传输函数模型figure(1);pzmap(sys);title(’零极点图’)%绘制零极点图Figure(2);rlocus(sys);sgrid;title(’根轨迹’)%绘制根轨迹图。
matlab根轨迹函数
matlab根轨迹函数
Matlab中的根轨迹函数是用于绘制系统的根轨迹图的工具。
根轨迹图是一种描述系统极点与零点随参数变化而移动的图形,通常用于设计和分析控制系统。
Matlab中的根轨迹函数是rlocus,语法格式为:
rlocus(sys) % 绘制系统sys 的根轨迹
rlocus(sys, k) % 绘制系统sys 的增益为k 时的根轨迹
rlocus(sys, kvec) % 绘制系统sys 在不同增益下的根轨迹
其中,sys是指代表系统的传递函数或状态空间模型,k是指定增益大小的标量值,kvec是指定多个增益值的向量。
绘制根轨迹图的过程中,根据系统的传递函数或状态空间模型,先求出系统的极点和零点,然后根据根轨迹的定义,计算出系统在不同增益下的极点位置,将它们绘制在图上,在极点移动时,根据根轨迹的性质,可以判断系统的稳定性和响应速度等性能指标。
因此,Matlab中的根轨迹函数是在控制系统设计和分析中非常有用的工具,可以帮助工程师更加直观地理解和优化系统的性能。
实验四基于MATLAB的根轨迹绘制与性能分析
实验四基于MATLAB的根轨迹绘制与性能分析一、实验目的1.了解根轨迹的概念和作用;2.学习使用MATLAB绘制根轨迹;3.通过根轨迹进行系统性能分析。
二、实验原理1.根轨迹的概念根轨迹是指随着系统参数变化,系统极点随参数变化所经过的连续点的轨迹。
根轨迹可以用来表示系统的动态性能,并可以用来分析系统的稳定性、抗干扰能力以及动态响应等。
2.根轨迹的绘制方法根轨迹的绘制方法主要有以下几步:(1)确定系统传递函数的开环极点和零点;(2)根据系统传递函数的特征方程确定根轨迹起始点和抵达无穷远点的分支数量;(3)确定分支的方向;(4)计算根轨迹抵达无穷远点的角度;(5)计算根轨迹与实轴的交点。
三、实验步骤1.准备工作(1)安装MATLAB软件,并确保已安装了Control System Toolbox;(2)准备所需绘制根轨迹的系统传递函数。
2.绘制根轨迹(1)在MATLAB命令窗口中输入以下命令,定义系统传递函数:G = tf([1],[1 2 3]);(2)输入以下命令,绘制系统的根轨迹:rlocus(G);3.性能分析(1)根据根轨迹的形状,可以判断系统的稳定性。
如果根轨迹与实轴相交的次数为奇数,则系统是不稳定的。
(2)根据根轨迹的形状以及相交点的位置,可以判断系统的过渡过程的振荡性和阻尼性。
(3)根据根轨迹抵达无穷远点时的角度,可以判断系统的相对稳定性。
角度接近0或180度时,系统相对稳定。
(4)根据根轨迹抵达实轴的位置,可以判断系统的动态性能。
抵达实轴的位置越远离原点,系统的动态响应越快。
四、实验结果分析通过上述步骤,我们可以得到系统的根轨迹图,并根据根轨迹图进行性能分析。
根据根轨迹的形状、交点位置、角度以及抵达实轴的位置,我们可以判断系统的稳定性、过渡过程的振荡性和阻尼性、相对稳定性以及动态响应速度。
根轨迹分析可以帮助我们设计和优化系统的控制器,从而改善系统的性能。
五、实验总结本实验通过MATLAB绘制根轨迹,并利用根轨迹进行系统性能分析。
matlab零度根轨迹
在MATLAB中绘制零度根轨迹,您需要使用控制系统工具箱中的rootlocus函数。
以下是一个简单的示例,说明如何绘制零度根轨迹:
matlab
定义系统参数
num = [1]; 分子
den = [1 2 3]; 分母
定义根轨迹参数
rlocus(num, den);
添加额外的参数
ax = gca;
ax.GridLineStyle = 'on';
ax.GridAlpha = 0.2;
ax.GridColor = 'k';
ax.XGridOn = 'on';
ax.YGridOn = 'on';
ax.XAxisLocation = 'left';
ax.YAxisLocation = 'below';
ax.XAxisTickMode = 'auto';
ax.YAxisTickMode = 'auto';
ax.XLim([-5 5]);
ax.YLim([-5 5]);
ax.XGridLineLocation = 'major';
ax.YGridLineLocation = 'major';
ax.XGridLineWidth = 0.5;
ax.YGridLineWidth = 0.5;
在这个示例中,我们定义了一个传递函数num/den,其中分子为1,分母为2和3。
然后,我们使用rlocus函数绘制了该系统的零度根轨迹。
最后,我们添加了一些额外的参数,以改进图形的外观和可读性。
实验三 MATLAB用于根轨迹分析
实验三 MATLAB用于根轨迹分析
一、实验目的
通过使用MATLAB完成根轨迹绘制、部分分式展开以及根轨迹分析等工作。
二、实验原理
绘制根轨迹可用函数rlocus(num,den)或rlocus(num,den,k)。
其中num,den分别对应系统开环传递函数的分子系数和分母系数构成的数组。
如果参数k是指定的,将按照给定的参数绘制根轨迹图,否则k是自动确定的,k的变化范围为0到∞。
三、实验内容
用MATLAB绘制系统的根轨迹图。
四、实验代码
1、
num=[1];
den=[1 3 2 0];
rlocus(num,den)
2、
Gc=tf(1,[1 5]);
Go=tf([1 1],[1 8 0]);
H=tf(1,[1 2]);
rlocus(Gc*Go*H);
v=[-10 10 -10 13];
axis(v);
grid on
五、实验结果
1、
2、
六、实验总结
本次实验通过MATLAB实现了由系统结构图绘制根轨迹图。
七、实验心得
本次实验相对于前两次实验来说比较简单、较为容易实现,但是需要结合其它相关的函数比如说Gain、Pole、Damping等函数来加以理解。
自动控制原理MATLAB仿真实验指导书(4个实验)
自动控制原理MATLAB仿真实验实验指导书电子信息工程教研室实验一典型环节的MA TLAB仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。
2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。
3.定性了解各参数变化对典型环节动态特性的影响。
二、SIMULINK的使用MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。
利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。
1.运行MA TLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。
2.选择File菜单下New下的Model命令,新建一个simulink仿真环境常规模板。
图1-1 SIMULINK仿真界面图1-2 系统方框图3.在simulink仿真环境下,创建所需要的系统。
以图1-2所示的系统为例,说明基本设计步骤如下:1)进入线性系统模块库,构建传递函数。
点击simulink下的“Continuous”,再将右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。
2)改变模块参数。
在simulink仿真环境“untitled”窗口中双击该图标,即可改变传递函数。
其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK,即完成该模块的设置。
3)建立其它传递函数模块。
按照上述方法,在不同的simulink的模块库中,建立系统所需的传递函数模块。
例:比例环节用“Math”右边窗口“Gain”的图标。
4)选取阶跃信号输入函数。
用鼠标点击simulink下的“Source”,将右边窗口中“Step”图标用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。
实验3 根轨迹分析
-20
-15
-10 Real Axis (seconds )
-1
-5
0
5
>> p = [-1 -3 -10];
Root Locus 30
20
Imaginary Axis (seconds-1)
10
0
-10
-20
-30 -12
-10
-8
-6
-4
-1
-2
0
2
Real Axis (seconds )
>> p = [-1 -3 -5];
10
0
-10
-20
-30 -14
-12
-10
-8
-6
-4
-2
0
2
Real Axis (seconds -1)
(2)
可知此时增益 K 为 3.38。 [a,pole]=rlocfind(sys) Select a point in the graphics window selected_point = -2.1213 + 0.0000i a = 3.3812 pole = -11.7575 -2.1213 + 0.0000i -2.1213 - 0.0000i (3) >> z = [-5]; >> p = [-1 -3 -40]; >> k = [1]; >> sys1 = zpk(z, p, k) sys1 = (s+5) -----------------(s+1) (s+3) (s+40) Continuous-time zero/pole/gain model. >>rlocus(sys1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用MATLAB绘制系统根轨迹————————————————————————————————作者:————————————————————————————————日期:第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 变量则为该增益下所有的闭环极点位置。
此外,该函数还将自动地将该增益下所有的闭环极点直接在根轨迹曲线上显示出来。
例4.1 已知系统的开环传递函数模型为:)()2)(1()(0s KG s s s Ks G k =++=利用下面的MATLAB 命令可容易地验证出系统的根轨迹如图4-1所示。
>> G=tf(1,[conv([1,1],[1,2]),0]); rlocus(G); gridtitle(¹Root_Locus Plot of G(s)=K/[s(s+1)(s+2)]¹) xlabel(¹Real Axis ¹) % 给图形中的横坐标命名。
ylabel(¹Imag Axis¹) % 给图形中的纵坐标命名。
[K,P]=rlocfind(G)用鼠标点击根轨迹上与虚轴相交的点,在命令窗口中可发现如下结果select_point=0.0000+1.3921iK=5.8142p=-2.29830-0.0085+1.3961i-0.0085-1.3961i所以,要想使此闭环系统稳定,其增益范围应为0<K<5.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];endplot(t,Y)对于for循环语句,循环次数由K给出。
系统画出的图形如图4-2所示。
可以看出,当K的值增加时,一对主导极点起作用,且响应速度变快。
一旦K接近临界K值,振荡加剧,性能变坏。
4. MATLAB 绘图的基本知识通过以上实例的应用,我们已初步尝试了MATLAB 的绘图功能。
MATLAB 具有丰富的获取图形输出的程序集。
我们已用命令plot()产生线性x-y 图形(用命令loglog 、semilogx 、semilogy 或polar 取代命令plot,可以产生对数坐标图和极坐标图)。
所有这些命令的应用方式都是相似的,它们只是在如何给坐标轴进行分度和如何显示数据上有所差别。
(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所示。
(2)一幅图上画多条曲线。
图4-2 不同K 值下的阶跃响应曲线图4-3一个周期内的正弦曲线利用具有多个输入变量的plot( )命令,可以在一个绘图窗口上同时绘制多条曲线,命令格式为:plot(x1,Y1,x2,Y2,…,xn,Yn)x1、Y1、x2、Y2等一系列变量是一些向量对,每一个x-y对都可以用图解表示出来,因而可以在一幅图上画出多条曲线。
多重变量的优点是它允许不同长度的向量在同一幅图上显示出来。
每一对向量采用不同的线型以示区别。
另外,在一幅图上叠画一条以上的曲线时,也可以利用hold命令。
hold命令可以保持当前的图形,并且防止删除和修改比例尺。
因此,后来画出的那条曲线将会重叠在原曲线图上。
当再次输入命令hold,会使当前的图形复原。
也可以用带参数的hold命令――hold on 和hold off来启动或关闭图形保持。
(3)图形的线型和颜色为了区分多幅图形的重叠表示,MATLAB提供了一些绘图选项,可以用不同的线型或颜色来区分多条曲线,常用选项见下表4-1表4-1MATLAB绘图命令的多种选项选项意义选项意义′-′实线′--′短划线′: ′虚线′-.′点划线′r′红色′*′用星号绘制各个数据点′b′蓝色′o′用圆圈绘制各个数据点′g′绿色′.′用圆点绘制各个数据点′y′黄色′×′用叉号绘制各个数据点表4-1中绘出的各个选项有一些可以并列使用,能够对一条曲线的线型和颜色同时作出规定。
例如′--g′表示绿色的短划线。
带有选项的曲线绘制命令的调用格式为:plot(X1,Y1,S1,X2,Y2,S2,…) (4)加进网络线、图形标题、x轴和y轴标记一旦在屏幕上显示出图形,就可以依次输入以下相应的命令将网络格线、图形标题、x、y轴标记叠加在图形上。
命令格式如下:grid(网络线)title(′图形标题′)xlabel(′x轴标记′)ylabel(′y轴标记′)函数引号内的字符串将被写到图形的坐标轴上或标题位置。
(5)在图形屏幕上书写文本。
如果想在图形窗口中书写文字,可以单击按钮,选择屏幕上一点,点击鼠标,在光标处输入文字。
另一种输入文字的方法是用text()命令。
它可以在屏幕上以(x,y)为坐标的某处书写文字,命令格式如下:text(x,y,′text′)例如,利用语句text(3,0.45,′sint ′)将从点(3,0.45)开始,水平的写出“sint ”。
(6)自动绘图算法及手工坐标轴定标在MATLAB 图形窗口中,图形的横、纵坐标是自动标定的,在另一幅图形画出之前,这幅图形作为现行图将保持不变,但是在另一幅图形画出后,原图形将被删除,坐标轴自动地重新标定。
关于瞬态响应曲线、根轨迹、伯德图、奈魁斯特图等的自动绘图算法已经设计出来,它们对于各类系统具有广泛的适用性,但是并非总是理想的。
因此,在某些情况下,可能需要放弃绘图命令中的坐标轴自动标定特性,由用户自己设定坐标范围,可以在程序中加入下列语句:v=[x-min x-max y-min y-max]axis(v)式中v 是一个四元向量。
axis(v)把坐标轴定标建立在规定的范围内。
对于对数坐标图,v 的元素应为最小值和最大值的常用对数。
执行axis(v)会把当前的坐标轴标定范围保持到后面的图中,再次键入axis 可恢复系统的自动标定特性。
Axis(′sguare ′)能够把图形的范围设定在方形范围内。
对于方形长宽比,其斜率为1的直线恰位于45o上,它不会因屏幕的不规则形状而变形。
Axis(′normal ′)将使长宽比恢复到正常状态。
二、附录 利用MATLAB 绘制系统根轨迹的一些其它实例例4.3 已知知一单位反馈系统开环传函为)2s 2s )(6s )(5s (s )3s (k )s (G 2+++++=试在根轨迹上选择一点,求出该点的增益k 及其闭环极点的位置,并判断在该点系统的稳定性。
程序: num=[1,3];den=conv(conv(conv([1 0],[1 5]),[1 6]),[1 2 2]); rlocus(num,den);[k,poles]=rlocfind(sys); range=[33:1:37]';cpole=rlocus(num,den,range); [range,cpole] 结果:selected_point = -5.3780 - 0.0476i ans =Columns 1 through 533.0000 -5.5745 + 0.6697i -5.5745 - 0.6697i -1.7990 -0.0260 + 1.3210i 34.0000 -5.5768 + 0.6850i -5.5768 - 0.6850i -1.8154 -0.0155 + 1.3340i 35.0000 -5.5791 + 0.7001i -5.5791 - 0.7001i -1.8313 -0.0052 + 1.3467i 36.0000 -5.5815 + 0.7147i -5.5815 - 0.7147i -1.8466 0.0048 + 1.3591i37.0000 -5.5838 + 0.7291i -5.5838 - 0.7291i -1.8615 0.0146 + 1.3712iColumn 6-0.0260 - 1.3210i-0.0155 - 1.3340i-0.0052 - 1.3467i0.0048 - 1.3591i0.0146 - 1.3712i>>例4.4 已知带有延迟因子的系统开环传递函数为:se)1s5.0)(1s(s1)s(G-++=1)试绘制根轨迹图;2)求系统临界稳定时根轨迹增益;3)求系统k=0.5时单位阶跃响应曲线。