第4章利用MATLAB绘制系统根轨迹

合集下载

利用MATLAB进行根轨迹分析

利用MATLAB进行根轨迹分析

利用MATLAB进行根轨迹分析根轨迹分析是一种用于研究系统稳定性和动态特性的方法,通过研究系统的传递函数来绘制系统极点随参数变化的轨迹。

MATLAB提供了强大的工具和函数来进行根轨迹分析。

根轨迹是由系统的极点随参数变化所形成的轨迹,它可以反映系统的稳定性、阻尼比、上升时间、超调量等动态性能指标。

根轨迹的绘制通常包括以下步骤:1.定义系统传递函数:首先,需要根据具体的控制系统问题定义系统的传递函数。

传递函数是描述输入与输出间关系的数学模型,通常用分子多项式和分母多项式的比值来表示。

2. 极点位置确定:根据系统传递函数的分母多项式,可以求解系统的极点位置。

MATLAB提供了roots函数来计算多项式的根。

3. 绘制根轨迹:通过参数变化,将系统的极点位置代入传递函数的分子多项式中,可以计算得出系统的零点。

然后,使用MATLAB的plot函数将所有极点和零点绘制在复平面上。

4.判断稳定性:通过观察根轨迹的形状,可以判断系统的稳定性。

如果所有极点都位于左半平面,系统是稳定的。

如果存在极点位于右半平面,系统是不稳定的。

5.分析动态特性:根轨迹的形状可以提供许多关于系统动态特性的信息。

例如,阻尼比可以通过根轨迹上极点到原点的距离和纵坐标之比来估计;超调量可以通过根轨迹的形状和最大振幅来估计。

MATLAB提供了许多用于根轨迹分析的函数和工具箱,包括rlocus函数、nyquist函数和bode函数等。

这些函数可以方便地绘制根轨迹、Nyquist图和Bode图,从而帮助工程师分析系统稳定性以及设计和调整控制器。

根轨迹分析在控制系统设计和调优中具有重要作用。

通过根轨迹的绘制和分析,工程师可以深入了解控制系统的动态特性,并根据需要调整系统参数来达到设计要求。

同时,根轨迹分析也是控制系统教学和研究中常用的方法和工具。

总之,MATLAB是进行根轨迹分析的强大工具,通过绘制根轨迹和分析根轨迹的形状和特性,可以帮助工程师深入了解控制系统的稳定性和动态特性,从而有效地设计和调整控制器。

用MATLAB绘制根轨迹

用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在根轨迹中的应用

MATLAB在根轨迹中的应用

班级学号姓名
第四章MATLAB在根轨迹中的应用
一绘制控制系统的根轨迹图
绘制根轨迹的常用命令有rlcous(num,den)relocus(num,den,K).如果参变量K的范围是给定的,则MATLAB将按照给定的参数范围绘制根轨迹图,否则K的范围自动确定的。

其变化范围在0到真无穷之间,在绘制根轨迹时,MATLAB有x,y坐标轴的自动定位功能。

如果用户需要,可自行设置坐标的范围。

只要在相应的程序中加上如下部分。

V=[-x x- y y ]; axis(V)
它表示x 轴的范围为-x~x,y的范围是-y~y
G(s)=k/s(s+1)(s+2)
则MATLAB 的绘制根轨迹如下

运行结果如下所示如果,本例中的G(s)是以传递函数的一般形式传递,可用下列程序求解
运行结果如下所示
二、由根轨迹图对系统的性能进行分析
在对系统性能的分析中,一般需要确定根轨迹图上某一点的根轨迹增益值和其它对应的闭环极点。

对此,只要在rlocus指令后,调用下面指令:
【K2,P2】=rlocfind(num,den)
就能如愿实现。

运行该指令后,在显示根轨迹图形的屏幕上回生成一个十字光标,同时在matlab的命令窗口出现“Select a point in the graphics window”,提示用户选择某一个点。

当使用鼠标移动十字光标到所希望的位置后,单击左键,在matlab的命令窗口就会显示该点数值、增益K和对应其他闭环极点。

例如移动十字光标至下图中的A点,单击左键后,在matlab的命令窗口输出:
同时,可求得该图中B点对应输出为:。

自动控制原理第四章根轨迹法

自动控制原理第四章根轨迹法

i 1
j 1
开环极点到此被测零点 (终点)的矢量相角
8. 根轨迹的平衡性(根之和) ( n-m 2)
特征方程 Qs KPs 0
sn an1sn1 a1s a0 K sm bm1sm1 b1s b0 0
n
Qs KPs s p j sn cn1sn1 c1s c0 0 j 1
i 1
j1
k 0,1,2,
s zoi i 开环有限零点到s的矢量的相角
s poj j 开环极点到s的矢量的相角
矢量的相角以逆时针方向为正。
幅值条件:
s
m
m
s zoi
li
A s
i 1 n
i 1 n
s poj
Lj
j 1
j1
li αi
-zoi
Lj βj
×
-poj
开 环 有 限 零 点 到s的 矢 量 长 度 之 积 开环极点到s的矢量长度之积
, 2 2
c 2k 11800 2
由此可推理得到出射角:
其余开环极点到被测极 点(起点)的矢量相角
n1
m
c 2k 1180o j i
j 1
i 1
有限零点到被测极点
(起点)的矢量相角
同理入射角:
其余开环有限零点到被测 零点(终点)的矢量相角
m1
n
r 2k 1180o i j
1 GsHs 0
m
GsHs
KPs Qs
K
i 1
n
s
s
zoi
poj
j 1
P s sm bm1sm1 b1s b0
Q s sn an1sn1 a1s a0
于是,特征方程

(自动控制原理)第四章根轨迹(06改)

(自动控制原理)第四章根轨迹(06改)
j j 1
i 1 n
A( )e
j ( )
1 Kg
满足根轨迹方程的幅值条件和相角条件为:
由于Wk ( s )是复数,上式可写成:Wk ( s ) | Wk ( s ) A( )e j ( ) 1 | 或 A( )
| ( s z ) | li 1 | (s p j ) |
N z N p 1 2 ( 0,1,2,)
由此,满足幅值条件:
i j N z N p 180 (1 2 )
i 1 j 1
m
n
[例]: 已知系统开环零极点的分布如图示,判断z 2 和p2 之间的实轴是否存在根轨迹?
p4

p3
例题 4-1 已知开环系统的传递函数为:
K k (1s 1) Wk ( s) s(T1s 1)(T2 s 1)
求s=s0 时的放大系数K g 0。
解:改写传递函数为 K g ( s z1 ) K k 1 ( s 1 1 ) Wk ( s) T1T2 s( s 1 T1 )(s 1 T2 ) s( s p1 )(s p2 ) K k 1 K k p1 p2 Kg —— 根轨迹放大系数 T1T2 z1 K g z1 Kk —— 开环放大系数 p1 p2 可将系统的三个极点和一个有限零点画在复平面上如图:
1) 在根轨迹图中,“ ”表示开环极点,“ ”表示开环有限 值零
点。粗线表示根轨迹,箭头表示某一参数增加的方向。“ ” 表
示根轨迹上的点。

2)在绘制根轨迹时,令S平面横轴和纵轴比例尺相同。
g 3)绘制根轨迹的依据是幅角条件。
k
4)利用幅值条件计算
的值。

自动控制原理第四章--根轨迹法

自动控制原理第四章--根轨迹法
G(s)H(s) 1
2.相角条件:
G(s)H(s) (2k 1)
k 0,1, 2
为了把幅值条件和相角条件写成更具体的形 式,把开环传递函数写成如下形式:
m
(s zi )
G(s)H(s) Kg
i 1 n
(s pj)
j 1
式中:K
g 称为根轨迹增益;
zi ,
p
为开环零极
j
点。
∴ 幅值条件:
m
n
pl (2k 1) ( pl z j ) ( pl pi )
j 1
i 1
m
il
( pl z j ) ——所有开环零点指向极点-pl 矢量的相角之和。
j 1
n
( pl pi )——除-pl 之外的其余开环极点指向极点-pl 矢量
i 1
il
的相角之和。
在复数零点-zl 处的入射角为:
而s2、s3点不是根轨迹上的点。
[例]设系统的开环传递函数为 试求实轴上的根轨迹。
Gk (s)
s2(s
K g (s 2) 1)(s 5)(s
10)
[解]:零极点分布如下:
10
5
2 1 0
红线所示为实轴上根轨迹,为:[-10,-5]和[-2,-1] 。
四、根轨迹的渐近线:
渐近线包括两个内容:渐近线的倾角(渐近线与实轴的夹角) 和渐近线与实轴的交点。
n
m
zl (2k 1) (zl pi ) (zl z j )
i 1
j 1
jl
n
(zl pi )
i 1
——所有开环极点指向零点-zl 矢量的相角之和。
m
(zl z j )
j 1 jl

参数根轨迹的matlab绘制原理

参数根轨迹的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$值,使得系统极点轨迹经过我们期望的稳定位置。

自动控制理论第四章 线性系统的根轨迹分析

自动控制理论第四章 线性系统的根轨迹分析

q 0,2, 1 … , G(S ) H (S ) 180(2q 1), 以上条件是判断复平面上某点是否在系统根 轨迹上的充要条件。
一、绘制 根轨迹的 条件
• 系统开环传递函数通常可以写成两种因子形式,即 时间常数表达式和零极点表达式。 (1)时间常数表达式: (2)零极点表达式:
jω ∞
如果系统的开环增益K(根轨迹
增益K1)从0向变化时,系统闭环 曲线,如图所示。 这样获得的曲线称为K1从0向变
K=0 × 特征根在复平面上的变化情况绘制为 -1
K K=0.25 K=0 × K ∞ σ
化时系统的根轨迹。
定义:当系统中某一参数(一般以增益为变化
参数)发生变化时,系统闭环特征根在s平面上描
nm
当q=0时,求得的渐进线倾角最小,q增大,倾角值将重 复出现,而独立的渐进线只有(n-m)条.
(2)渐近线与实轴的交点坐标为:
a
p
i 1
n
i
zj
j 1
m
nm
在计算时,考 虑到共轭复数极点、 零点的虚部总是相 互抵消,只须把开 环零、极点的实部 代入即可.
K1 【例4-3】设系统的开环传递函数为:G(S ) H (S ) S (S 1)(S 2)
幅值条件改写
jω ∞
j )
(s z (s
i 1 j 1 n
m
K
pi )
1 K1
K=0 × -1 K
K=0.25 K=0 ×
σ
当 K1 0 ,必有S= 当 K1 ,必有S=
pi ,即起点是开环极点。∞
zj
,即终点是开环零点。
但在控制系统中,总有n>m,所以根轨迹从n个开环极点处 起始,到m个开环零点处终止,剩下的n-m条根轨迹将趋 于无穷远处。

004 第4章 线性系统的根轨迹分析

004 第4章  线性系统的根轨迹分析
12
(2)精确参数的获得: >> Kg=30.7;R= rlocus(G, Kg) % Kg时所对应的闭环极点 R= -1.3562 + 2.1562i -1.3562 - 2.1562i -0.1438 + 2.1705i -0.1438 - 2.1705i 2)使用[Kg, P]= rlocfind (G)进行参数的人工获取: >> clear;G=tf([1,1],[conv([1,-1],[1,4,16]),0]); %建立零极 点模型G(s) rlocus(G); %生成根轨迹图 [Kg, P]= rlocfind (G) %鼠标左键定轨迹上的闭极点参数
4
闭环系统稳定程度的判断:
当闭环特征根位于在s平面的右半平面时,闭环系 统不稳定;当闭环特征根位于在s平面的虚轴上时,闭 环系统临界稳定(等幅振荡);当闭环特征根位于在s 平面的左半平面时,闭环系统稳定。
闭环系统动态性能的判断:
在闭环系统稳定的情况下,当特征根位于s平面的 左半实轴上时,闭环系统的输出表现为惯性特性(单 调性);当特征根位于s左半平面的非实轴区域时,闭 环系统的输出表现为衰减振荡特性;当特征根位于s平 面的虚轴上时,闭环系统的输出表现为等幅振荡特性 ;在s右半平面时为单调或振荡发散特性。 5
2
4.1 根轨迹分析的基本思想
闭环系统的开环传递函数的根轨迹模型为:
其中,zj和pi为开环传递函数模型的零点和极点,Kg 为开环传递函数模型的根轨迹增益。系统的闭环 传递函数为:
3
闭环系统的稳定性与Gb(s)的极点,即闭环系统 的特征方程1+H(s)G(s)=0的根在s平面上的位置及其 分布有关。 闭环系统的特征根在s平面上的位置会随Kg值的 变化而变化。 根轨迹分析法就是通过改变开环传递函数Gk(s) 的根轨迹增益Kg值(0~∞)来观察闭环特征根的轨 迹变化情况,从而能够对闭环系统的稳定程度、动 态性能及结构简化(降阶)等问题进行判断、分析 与设计。

根轨迹分析的MATLAB实现

根轨迹分析的MATLAB实现
函数 rlocfind()
函数命令调用格式:
[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()函数既可适用于连续时间系统,也适用于离散时 间系统。

第4章 根轨迹

第4章 根轨迹

m
(s p
j 1
n
1
j
)
因s为复变量,根轨迹方程又可分解为幅值方程和相 角方程。 幅值方程为
K r (s zi )
i 1 m
(s p
j 1
n
1 或
(s z )
i
m
j
)
(s p
j 1
i 1 n
j
)
1 Kr
相角方程为
(s z ) (s p ) (2k 1)
设p3的出射角为θ3,如图所示。
假设s1为根轨迹上的一点,则s1应 满足相角方程
(s
i 1
1
1
z i ) ( s1 p j ) (2k 1)
j 1
4
由此可推得出射角的一般表达式
l ( pl zi ) ( pl p j ) i j
例4-6 已知系统的开环传递函数为
K r (s 1.5)(s 2 4s 5) G( s) H ( s) s(s 2.5)(s 2 s 1.5)
试绘制系统的根轨迹图。
18
7. 根轨迹与虚轴的交点
根轨迹与虚轴的交点是系统稳定与不稳定的分界点,常 常需要求得这一交点和相应的Kr值。 设与虚轴相交的闭环极点为s=jω,代入闭环特征方程得:
根为两个复数根,系统呈欠阻尼 状态,即输出呈衰减振荡形式。 特征根的实部σ为衰减系数,虚 部ω为振荡频率。
4
4.1.2 根轨迹方程
设系统的结构如图所示。 系统的闭环传递函数为
C ( s) G(s) R( s ) 1 G ( s ) H ( s )
开环传递函数的一般表达式为

第四章 根轨迹法 matlab simulink与控制系统仿真 第三版 课件

第四章 根轨迹法 matlab simulink与控制系统仿真 第三版 课件
分支数=开环极点数 =开环特征方程的阶数
二、根轨迹对称于实轴
闭环极点为 实数→在实轴上 复数→共轭→对称于实轴
返回子目录
28
三、根轨迹的起点与终点
起于开环极点,终于开环零点。
由根轨迹方程有:
m
i 1 n
(s (s
zi ) pi)
1 K*
i1
29
起点 K* 0 → spi 0→ s pi
终点 K* → szi 0 → s zi
n
1
m
1
i1 dpi j1 dzj
z 式中: j 为各开环零点的数值;
p i 为各开环极点的数值。
50
例4-6
•已知系统的开环传递函数
G(s)H(s) K*(s1) s23s3.25
试求闭环系统的根轨迹分离点坐标d,并概 略绘制出根轨迹图。
51
解:根据系统开环传递函数求出开环极点
p 1 1 .5j1 ,p 2 1 .5j1
• 在实际应用中,用相角方程绘制根轨迹, 而模值方程主要用来确定已知根轨迹上某一点
的 K * 值。
20
例4-1
已知系统的开环传递函数 G (s)H (s)2K/(s2)2
试证明复平面上点 s1 2j4 ,s2 2j4 是该系统的闭环极点。
证明: 该系统的开环极点 p1 2, p2 2
若系统闭环极点为 s1 , s2
分离角计算公式
d1 l[2 (k1)π jm 1
n
dzj dsi]
il1
(4-45)
56
式中:
d 为分离点坐标;
z j为开环零点; si为当 kkd时,l除 个重极点外 其他 nl个非重根。
所谓会合角是指根轨迹进入重极点处 的切线与实轴正方向的夹角。

第四章:根轨迹法

第四章:根轨迹法

第四章:根轨迹法第四章根轨迹法本章⽬录4.1 根轨迹的⼀般概念4.2 绘制根轨迹的数学依据及其性质4.3 绘制根轨迹的⼀般规则4.4 *绘制根轨迹的MATLAB函数介绍4.5 例题4.6 参数根轨迹和多回路系统的根轨迹4.7 正反馈回路和⾮最⼩相位系统根轨迹——零度根轨迹⼩结本章简介从前章得知闭环极点在根平⾯上的分布,反映着系统的固有性能。

故为了获得较好性能,就希望极点在根平⾯上有较好的分布。

亦即,为了研究系统的动态性能,就可以通过闭环极点在根平⾯上的分布来进⾏。

闭环极点是系统特征⽅程的根sb。

若其特征⽅程中,各系数变化,则⽆疑,其根sb也在变化。

各系数的变化往往相应着系统的许多实际参数的变化⽽形成。

在根迹中,⼀般总是以增益 (当然也可其它参数,如时间常数 )的变化⽽导致各系数的变化,即sb的变化。

如果连续变化,则sb也连续变化。

相应于由0连续变化到∞时, sb在根平⾯上的连续变化⽽形成的轨迹,即闭环系统特征根的根轨迹--若⼲条曲线。

这样,相应于各个值下的闭环极点在根平⾯上的分布就⼀⽬了然了。

这对系统的分析、设计带来了极⼤的⽅便.。

所谓根轨迹法,就是⽤图解的⽅法确定出闭环特征根的⼀种⽅法。

先在复数平⾯上画出系统某⼀参数的全部数值下的特征⽅程的所有根,即根轨迹。

然后⽤图解的⽅法确定出该参数某⼀特定数值时的闭环特征根。

从⽽分析出系统所具有的性能。

或反之,在根迹上先确定出符合系统性能要求的闭环特征根。

从⽽⽤图解的⽅法求出相应的系统应具有的参数值。

相对时域法,很直观,且避免了求解系统⾼阶特征⽅程的困难。

现在计算机科学有了飞速发展,特别是MATLAB语⾔及其相应⼯具箱,有强⼤的数值计算和图形绘制功能。

所以利⽤MATLAB语⾔相关函数绘制系统根迹及求根等均是轻⽽易举的事。

这就给根迹法的应⽤开辟了更好的前景。

本章在介绍传统的根轨迹法及其⽰例的同时,有机结合介绍MATLAB语⾔相关的根轨迹函数及相应⽰例的解题程序。

实验四基于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绘制根轨迹,并利用根轨迹进行系统性能分析。

第4章根轨迹

第4章根轨迹

3)计算机绘制精确图,目前主要指用Matlab 工具绘制根轨迹图。它准确快捷,短时间内
可以对多个可调参数进行研究,有效地指导
设计与调试。 本章主要介绍1)3)两种方法,着重讨 论绘制根轨迹的基本原理和基本规则。
20
4.2.1
开环零极点与相角条件
这里讨论的是以开环增益K为参变量的根轨迹, 它是最基本、最常用的根轨迹,为了区别,我们称 之为‘典型根轨迹’。仍然针对下图所示负反馈系 统,设系统开环传递函数可以表示为:
K ( s z1 )( s z 2 )....( s z m ) G( s) H ( s) , ( s p1 )( s p2 )....( s pn )
K 0
21
式中p1,p2,…pn,为开环极点,z1,z2,…zm 为开环 零点。这样,系统的闭环特征方程可以表示为:
31
2)分支数和对称性
系统的闭环传递函数为 ( s )
K s 2 3s 2 K
系统开环极点有两个 系统的特征方程为 其特征根为
p1 1, p2 2
D( s) s 2 3s 2 K 0
3 1 s1, 2 1 4K 2 2
6
K :0
时,系统特征根(闭环极点)变化情况如下:
解加计算的手工绘图法。如今,尽管手工绘制根
轨的一些繁琐技艺已经没有多大价值,但是,它
所发掘出来的根轨迹基本规律,无论用哪种方法
作图都是适用的。
15
首先讨论根轨迹最基本最重要的规律——相角条 件。考察图示的系统,其闭环传递函数为:
C ( s) G( s) R( s ) 1 G ( s ) H ( s )
在S平面上,给定了幅值和相角,就对应一个 固定的点,所以既满足幅值条件又满足相角条件 的S值就是特征方程的一组根,也就是一组闭环极 点。

自动控制,matlab,根轨迹 (很好)

自动控制,matlab,根轨迹 (很好)

《自动控制原理》实验指导自动化教研室2006年9月目录实验一控制系统的数学模型 (1)实验二控制系统的时域分析 (7)实验三控制系统的根轨迹 (10)实验四控制系统的频域分析 (12)实验五离散控制系统分析 (14)实验六综合性实验 (18)实验一 控制系统的数学模型一 实验目的1、学习用MATLAB 创建各种控制系统模型。

2、掌握状态变量模型、传递函数模型、零-极点增益模型以及连续系统模型与离散系统模型之间的转化。

二 相关理论1传递函数描述(1)连续系统的传递函数模型 连续系统的传递函数如下:•对线性定常系统,式中s 的系数均为常数,且a1不等于零,这时系统在MATLAB 中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别用num 和den 表示。

num=[b1,b2,…,bm,bm+1] den=[a1,a2,…,an,an+1]注意:它们都是按s 的降幂进行排列的。

(2)零极点增益模型• 零极点模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子、分母进行分解因式处理,以获得系统的零点和极点的表示形式。

K 为系统增益,zi 为零点,pj 为极点❖ 在MATLAB 中零极点增益模型用[z,p,K]矢量组表示。

即: ❖ z=[z1,z2,…,zm] ❖ p=[p1,p2,...,pn] ❖ K=[k]❖ 函数tf2zp()可以用来求传递函数的零极点和增益。

(3)部分分式展开• 控制系统常用到并联系统,这时就要对系统函数进行分解,使其表现为一些基本控制单元的和的形式。

• 函数[r,p,k]=residue(b,a)对两个多项式的比进行部分展开,以及把传函分解为微分单元的形式。

• 向量b 和a 是按s 的降幂排列的多项式系数。

部分分式展开后,余数返回到向量r ,极点返回到列向量p ,常数项返回到k 。

• [b,a]=residue(r,p,k)可以将部分分式转化为多项式比p(s)/q(s)。

MATLAB绘制根轨迹

MATLAB绘制根轨迹
-2 P= 0
-3.0000 + 2.0000i -3.0000 - 2.0000i -1.5000
零极点分布图
在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必须是零极点模型对 象。
已知传递函数为
输入如下命令: num=[6.8,61.2,95.2]; den=[1,7.5,22,19.5,0]; G=tf(num,den); G1=zpk(G); Z=tzero(G); P= pole(G); 结果为: Z = -7
某系统开环传递函数为:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第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-2不同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所示。

图4-3一个周期内的正弦曲线(2)一幅图上画多条曲线。

利用具有多个输入变量的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时单位阶跃响应曲线。

相关文档
最新文档