控制系统MATLAB仿真2-根轨迹仿真
利用MATLAB进行根轨迹分析
利用MATLAB进行根轨迹分析根轨迹分析是一种用于研究系统稳定性和动态特性的方法,通过研究系统的传递函数来绘制系统极点随参数变化的轨迹。
MATLAB提供了强大的工具和函数来进行根轨迹分析。
根轨迹是由系统的极点随参数变化所形成的轨迹,它可以反映系统的稳定性、阻尼比、上升时间、超调量等动态性能指标。
根轨迹的绘制通常包括以下步骤:1.定义系统传递函数:首先,需要根据具体的控制系统问题定义系统的传递函数。
传递函数是描述输入与输出间关系的数学模型,通常用分子多项式和分母多项式的比值来表示。
2. 极点位置确定:根据系统传递函数的分母多项式,可以求解系统的极点位置。
MATLAB提供了roots函数来计算多项式的根。
3. 绘制根轨迹:通过参数变化,将系统的极点位置代入传递函数的分子多项式中,可以计算得出系统的零点。
然后,使用MATLAB的plot函数将所有极点和零点绘制在复平面上。
4.判断稳定性:通过观察根轨迹的形状,可以判断系统的稳定性。
如果所有极点都位于左半平面,系统是稳定的。
如果存在极点位于右半平面,系统是不稳定的。
5.分析动态特性:根轨迹的形状可以提供许多关于系统动态特性的信息。
例如,阻尼比可以通过根轨迹上极点到原点的距离和纵坐标之比来估计;超调量可以通过根轨迹的形状和最大振幅来估计。
MATLAB提供了许多用于根轨迹分析的函数和工具箱,包括rlocus函数、nyquist函数和bode函数等。
这些函数可以方便地绘制根轨迹、Nyquist图和Bode图,从而帮助工程师分析系统稳定性以及设计和调整控制器。
根轨迹分析在控制系统设计和调优中具有重要作用。
通过根轨迹的绘制和分析,工程师可以深入了解控制系统的动态特性,并根据需要调整系统参数来达到设计要求。
同时,根轨迹分析也是控制系统教学和研究中常用的方法和工具。
总之,MATLAB是进行根轨迹分析的强大工具,通过绘制根轨迹和分析根轨迹的形状和特性,可以帮助工程师深入了解控制系统的稳定性和动态特性,从而有效地设计和调整控制器。
控制系统建模的matlab方法
Matlab程序
系统校正的Matlab方法
• 单位负反馈系统的开环传递函数为
Matlab程序
控制系统模型描述
1、系统传递函数模型描 述 Sys =tf(num,den,Ts)
2、系统零极点模型描述 Sys =zpk(z,p,k,Ts)
模型转换
[num,den]=zp2tf(z,p,k) [z,p,k]=tf2zp (num,den)
系统连接
1、两个系统的并联 Sys = parallel( sys1 , sys2 )
• 等效开环传递函数
Matlab程序
线性系统频域分析的MATLAB方法
1.bode图 [mag,phase,w]=bode(sys) [Gm,Pm,Wcg,Wcp] =margIn (sys) 2.Nyquist图
[re, im,w]=nyquist(sys)
系统稳定性的频域分析
• 单位负反馈系统的开环传递函数为
2、两个系统的串联 Sys=series(sys1,sys2)
3、两个系统的反馈 Sys=feedback (sys1,sys2,sign)
线性系统时域分析的MATLAB方法
稳定性分析
P=root(den)
动态性能分析
1、单位脉冲响应 Y=impulse(sys,t)
2、单位阶跃 Y=step (sys,t)
3、任意输入响应 Y=lsim(sys,u,t,x0)
4、零输入响应 Y=initial(sys,x0,t)
线性系统根轨迹分析的MATLAB方 法
1.绘制零极点分布图 [p,z]=pzmap (sys)
2.绘制根轨迹图 r locus(G)
自动控制原理Matlab实验3(系统根轨迹分析)
《自动控制原理》课程实验报告实验名称系统根轨迹分析专业班级 ********************学号姓名**指导教师李离学院名称电气信息学院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中根轨迹
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的控制系统根轨迹法分析
基于MATLAB的控制系统根轨迹法分析姓名:杨卫彪班级:电子一班学号: 200972020148摘要:控制系统理论与技术已广泛应运于工农业生产、交通运输业、航天航空等众多部门,极大地提高了社会生产力水平,改善了人们的劳动生产条件,丰富与提高了人们的生活水平。
在当今信息化时代,自动控制系统与装置无所不在,为人类的文明作出了巨大贡献。
就像我们做的智能小车上控制理论与技术就很能体现…因此学好自控原理是非常必要的也是非常有用的。
MATLAB语言是美国Math Works公司于20世纪80年代退出的高性能数值计算软件,MATLAB语言具有功能强大的Simulink模块和控制工具箱,其分析与计算覆盖了控制系统的各个领域。
这次主要是基于MATLAB的控制系统根轨迹法分析是控制系统根轨迹的绘制以及利用系统大致的根轨迹图分析系统性能的方法,若要由根轨迹获得系统在某一特定参数下准确的性能指标或者准确的闭环极点,需要依据幅值条件精确地作图。
如果利用MATLAB工具箱中函数,则可方便、准确地作出根轨迹图,并利用图对系统进行分析,这让我也初步踏入学习MATLAB的混合编程知识的大殿堂。
引言一、课程设计目的本次课程设计是利用MATLAB应用软件的基础知识和基本程序设计方法,从而加深理论知识的掌握,并把所学的知识系统、高效的贯彻到实践中来,避免理论与实践的脱离。
同时提高独立编程的水平,并在实践中不断完善理论基础,有助于培养综合能力。
二、主要意义通过这次的设计我不仅得到了实践的知识经验,也得到了很重要的精神食粮。
学到的matlab知识让我拓宽了自己的知识面,而且也加深了对以前学习的自动控制原理的学习。
最重要的还是我认识到了对我将会有深远影响的精神食粮——学海无涯,应永奋斗;勿只向前,需及复习;谦虚仔细,谨慎好学理论推导1,利用rlocus 命令可求得系统的根轨迹格式:[ r,k ] = rlocus(num,den)[ r,k ] = rlocus(num,den,k)不带输出变量时则绘出系统的根轨迹图,带输出变量时给出一组r,k的对应数据。
根轨迹分析的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()函数既可适用于连续时间系统,也适用于离散时 间系统。
第9讲 控制系统根轨迹分析Matlab仿真
利用下列命令可自动打开一个图形窗口,显示该系统 的零、极点分布图。用鼠标点击图中零、极点可自动 显示其坐标值。 具体程序 num=[1 15 21 69]; den=[1 2.6 12.8 28 36.3 105]; pzmap(num,den)
17:12
8/9
系统仿真
谢谢大家!
17:12
9/9
6/9
17:12
系统仿真
三、零点极点位置绘图函数
函数功能:给定系统数学模型,作出零极 点位置图。 pzmap(sys); %零极点绘图命令。零点 标记为‘O’,极点标记为‘×’。 [p,z]=pzmap(sys); %返回零极点值,不作 图。
17:12
7/9
系统仿真
s 3 15 s 2 21s 69 例3、给定传递函数: G(s) s 5 2.6s 4 12.8s 3 28s 2 36.3s 105
17:12 2/9
系统仿真
一、根轨迹作图函数
函数功能:绘制系统根轨迹或者计算绘图变量。 rlocus(sys) %输入sys为开环传函,k为机器自适 应产生的从0→∞的增益 %向量,绘制闭环系统的根轨迹图。 rlocus(sys,k) %k为人工给定的增益向量。 r=rlocus(sys) %返回变量格式,不作图,r为返回 的闭环根向量。 [r,k]=rlocus(sys) %返回变量r为根向量,k为增益 向量,不作图。
17:12 5/9
系统仿真
例2、
( s 2.2) 已知系统的根轨迹方程为 k s( s 1.1) 1 绘制系统的根轨迹,编程求取当一个特征根为-0.3 时, 系统的根轨迹增益 k 为多少?另一个特征根为多少? 解:程序如下 num=[1,2.2]; den=conv([1,0],[1,1.1]); rlocus(num,den) [k,poles]=rlocfind(num,den,-0.3) %将系统的一个特 征根为-0.3 时所 对应的根轨迹增 益赋给 k,所对应 的所有特征根赋 给 poles
如何使用Matlab进行控制系统仿真
如何使用Matlab进行控制系统仿真概述控制系统在工程领域中扮演着重要角色,它用于控制和管理各种工程过程和设备。
而控制系统仿真则是设计、开发和测试控制系统的关键环节之一。
Matlab作为一种功能强大的工程计算软件,提供了丰富的工具和功能,可以帮助工程师进行控制系统仿真。
本文将简要介绍如何使用Matlab进行控制系统仿真,以及一些实用的技巧和建议。
1. Matlab的基础知识在开始控制系统仿真之前,有一些Matlab的基础知识是必要的。
首先,了解Matlab的基本语法和命令,熟悉Matlab的工作环境和编辑器。
其次,学会使用Matlab的集成开发环境(IDE)进行编程和数学建模。
熟悉Matlab的常用函数和工具箱,并了解如何在Matlab中导入和导出数据。
2. 定义系统模型在进行控制系统仿真之前,需要定义系统的数学模型。
根据具体情况选择合适的建模方法,如传递函数、状态空间或差分方程等。
在Matlab中,可以使用tf、ss 或zpk等函数来创建系统模型,并指定系统的参数和输入信号。
此外,Matlab还提供了Simulink这一强大的图形化建模环境,方便用户以图形化界面设计系统模型。
3. 设计控制器控制系统仿真的关键是设计合适的控制器,以实现所需的控制目标。
Matlab提供了各种控制器设计方法和工具,如PID控制器、根轨迹法、频域方法等。
用户可以使用Matlab的Control System Toolbox来设计和分析控制器,并在仿真中进行验证。
此外,Matlab还支持自适应控制和模糊控制等高级控制方法,可根据具体需求选择合适的方法。
4. 进行仿真实验在完成系统模型和控制器设计后,可以开始进行控制系统仿真实验。
首先,确定仿真实验的输入信号,如阶跃信号、正弦信号或随机信号等。
然后,使用Matlab中的sim函数将输入信号应用到系统模型中,并观察系统的输出响应。
通过调整控制器参数或设计不同的控制器,分析系统的性能和稳定性,并优化控制器的设计。
No-4.2 用MATLAB分析控制系统性能(根轨迹)
1 z 3
考察闭环系统的单位阶跃响应,有
16.2879(s 1)(s 3) 1 s( s 2)(s 3) 16.2879(s 1) s
利用MATLAB绘制系统根轨迹
例
部分分式为:
C ( s) 1.3387 j1.3795 1.3387 j1.3795 0.3225 3 s 2.0643 j 3.7985 s 2.0643 j 3.7985 s 0.8715 s
利用MATLAB绘制系统根轨迹
利用MATLAB绘制系统根轨迹
例
研究系统根轨迹曲线和阶跃响应曲线之间的 关系,考虑系统输出:
C ( s ) ( s ) R( s ) K ( s 1)( s 3) R( s ) s( s 2)( s 3) K ( s 1)
单位阶跃响应
利用MATLAB绘制系统根轨迹
控制系统工具箱中还有一个rlocfind()函数,调用格式: [K,P] = rlocfind(G) 该函数允许用户求取根轨迹上指定点处的开环增益值, 并将该增益下所有的闭环极点显示出来。
例
已知系统的开环传递函数模型
Gk ( s) K KG0 ( s) s( s 1)( s 2)
利用MATLAB命令验证系统的根轨迹。
利用MATLAB绘制系统根轨迹
利用MATLAB绘制系统根轨迹
考虑K=0.1,0.2,…,1以及2,3,…,5时,闭环系统的阶 跃响应曲线。 当K的值增加 时,一对主导 极点起作用, 且响应速度变 快。一旦K接 近临界K值, 振荡加剧,性 能变坏。
利用MATLAB绘制系统根轨迹
比较可知:极点 0.8715 对输出响应并不重要,系统 的调节时间由复极点确定,复极点 2.6043 j3.7985 为系统的主导极点。响应的阻尼比 0.4775,固有频 率 n 4.3232 。单位阶跃响应近似于二阶响应曲线, 4.5 2.179 调节时间 ts ,从图中可得出 ts 2 。
MATLAB的根轨迹仿真实验设计思路及作用分析
MATLAB的根轨迹仿真实验设计思路及作用分析控制系统的根轨迹分析与设计是自动控制理论中非常重要的一种方法,也是在工程实际中得到广泛应用的一种图解方法,在自动控制原理课程教学中占有重要地位。
传统的根轨迹实验需要手工绘制系统的根轨迹图以及大量的计算,效率低,且很难得到精确的结果[1];而MATLAB中提供了绘制和分析根轨迹的函数,可以非常方便、直观的得到系统的根轨迹,因此,我们将MATLAB引入到自动控制原理实验教学中,设计基于MATLAB的根轨迹仿真实验。
1 根轨迹仿真实验设计根轨迹仿真实验不但要求学生掌握绘制根轨迹的方法,而且能够根据根轨迹图分析系统的性能,更进一步地,当系统性能不满足要求时,能够正确设计校正装置,改善系统的性能。
因此,仿真实验由绘制根轨迹、性能分析和系统校正三部分组成。
(1)绘制根轨迹。
MATLAB中提供了rlocus()函数,可直接用于控制系统根轨迹的绘制,调用格式rlocus(num,den),其中num为系统的开环传递函数分子多项式的系数向量,den为系统的开环传递函数分母多项式的系数向量,多项式各项按s的降幂排列。
在绘制的根轨迹图上,用鼠标左键单击曲线上的任一点,将显示关于这个点的有关信息,包括该点的增益值,对应的系统特征根的值和可能的闭环系统阻尼比和超调量等[2]。
在MATLAB中,提供了rlocfind()函数用于获取选定点对应的闭环极点和增益K的值。
该函数的调用格式为:[k,r]=rlocfind (num,den)。
根轨迹绘制完成,执行rlocfind命令时,出现“Select a point in the graphics window”的提示语,即要求在根轨迹图上选定一个点,根轨迹图上出现“+”标记,将鼠标移至根轨迹图上的选定位置,然后单击左键确定,就得到了选定点的闭环根r和增益K的返回变量值[3]。
(2)性能分析。
系统的性能分析主要是稳定性、动态性能和稳态误差三个方面。
如何在MATLAB中进行控制系统的建模与仿真
如何在MATLAB中进行控制系统的建模与仿真在现代工程领域中,控制系统的建模与仿真是必不可少的一项技术。
MATLAB 作为一种强大的科学计算软件,并提供了丰富的工具箱,可以帮助工程师们快速而准确地进行控制系统的建模和仿真。
本文将介绍如何在MATLAB中进行控制系统的建模与仿真的一般步骤和注意事项。
一、引言控制系统是一种以实现某种特定目标为目的对系统进行调节和控制的技术,在现代工程中得到了广泛的应用。
控制系统的建模与仿真是控制系统设计的重要环节,通过建立系统的数学模型,可以对系统的性能进行有效地评估和分析,从而为系统的设计和优化提供指导。
二、MATLAB中的控制系统建模工具箱MATLAB提供了专门的控制系统工具箱,包括线性和非线性系统建模、控制器设计与分析等功能。
其中,Simulink是MATLAB中最重要的控制系统建模工具之一,它可以方便地用来搭建控制系统的框架,并进行仿真与分析。
三、建立控制系统数学模型在进行控制系统的建模之前,需要先确定系统的类型和工作原理。
常见的控制系统包括开环控制系统和闭环控制系统。
开环控制系统中,控制器的输出不受被控对象的反馈作用影响;闭环控制系统中,控制器的输出受到被控对象的反馈作用影响。
在MATLAB中,可以通过使用Transfer Function对象或State Space对象来表示控制系统的数学模型。
Transfer Function对象用于线性时不变系统的建模,可以通过给定系统的分子多项式和分母多项式来定义一个传递函数;State Space对象则适用于非线性时变系统的建模,可以通过状态空间方程来定义系统。
四、利用Simulink搭建控制系统框架Simulink是一种基于图形化编程的建模仿真工具,在MATLAB中可以方便地使用它来搭建控制系统的框架。
通过简单地拖拽、连接不同的模块,可以构建出一个完整的控制系统模型。
首先,打开Simulink,选择相应的控制系统模板或从头开始设计自己的模型。
自动控制原理MATLAB仿真实验二(控制系统的根轨迹分析)
实验二 MATLAB 及仿真实验(控制系统的根轨迹分析)一 实验目的1.利用计算机完成控制系统的根轨迹作图2.了解控制系统根轨迹图的一般规律3.利用根轨迹图进行系统分析二 实验内容1. ()()()21++=s s s k s G g要求:(一)记录根轨迹的起点、终点与根轨迹的条数;n0=[0 0 0 1];den=conv(conv([1 0],[1 1]),[1 2]);rlocus(n0,den);%绘制系统根轨迹v=[-8 2 -4 4];axis(v);运行结果:起点为(0,0),(-1,0),(-2,0),终点为无穷远;根轨迹条数为三条(二)确定临界稳定时的根轨迹增益gL kk=1;z=[];p=[0 -1 -2];[num,den]=zp2tf(z,p,k);%z为零点值,p为极点值,k为系数rlocus(num,den);[k,r]=rlocfind(num,den);运行结果:k约为6.032.()()23)(++=sssKsG g要求:确定系统具有最大超调量时的根轨迹增益;3.绘制下列各系统根轨迹图。
num=[1 2 4];den1=conv([1 0],[1 4]);den2=conv([1 6],[1 4 1]);den=[den1,den2];G=tf(num,den);sys=feedback(G,1);%对G提供为1的负反馈rlocus(sys);num=[1 1];den1=[1 0];den2=conv([1 -1],[1 4 16]); den=[den1,den2];G=tf(num,den);sys=feedback(G,1);%对G 提供为1的负反馈 rlocus(sys); )164)(1()1(2++-+s s s s s k — R (s ) C (s4.绘制下列各系统根轨迹图。
开环传递函数:(1))6.3()2.0()()(2++=s s s k s H s G ; num=[1 0.2];den=conv([1 0 0],[1 3.6]);sys=tf(num,den);rlocus(sys);(2))106.0)(5.0()()(2+++=s s s s k s H s Gnum=[0 1];den1=conv([1 0 ],[1 0.5]); den=conv(den1,[1 0.6 10]); sys=tf(num,den); rlocus(sys);。
基于MATLAB控制系统的根轨迹及其性能分析
<<控制理论基础B网络化实验>>实验报告大作业实验二 基于MATLAB 控制系统的根轨迹及其性能分析一、实验目的1、熟练掌握使用MATLAB 绘制控制系统零极点图和根轨迹图的方法。
2、学会分析控制系统根轨迹的一般规律。
3、利用根轨迹图进行系统性能分析。
4、研究闭环零、极点对系统性能的影响。
二、实验原理1、根轨迹与稳定性当系统开环增益从变化时,若根轨迹不会越过虚轴进入s 右半平面,那么系统对所有的K 值都是稳定的;若根轨迹越过虚轴进入s 右半平面,那么根轨迹与虚轴交点处的K 值,就是临界开环增益。
应用根轨迹法,可以迅速确定系统在某一开环增益或某一参数下的闭环零、极点位置,从而得到相应的闭环传递函数。
2、根轨迹与系统性能的定性分析1)稳定性。
如果闭环极点全部位于s 左半平面,则系统一定是稳定的,即稳定性只与闭环极点的位置有关,而与闭环零点位置无关。
2)运动形式。
如果闭环系统无零点,且闭环极点为实数极点,则时间响应一定是单调的;如果闭环极点均为复数极点,则时间响应一般是振荡的。
3)超调量。
超调量主要取决于闭环复数主导极点的衰减率,并与其它闭环零、极点接近坐标原点的程度有关。
4)调节时间。
调节时间主要取决于最靠近虚轴的闭环复数极点的实部绝对值;如果实数极点距虚轴最近,并且它附近没有实数零点,则调节时间主要取决于该实数极点的模值。
5)实数零、极点影响。
零点减小闭环系统的阻尼,从而使系统的峰值时间提前,超调量增大;极点增大闭环系统的阻尼,使系统的峰值时间滞后,超调量减小。
而且这种影响将其接近坐标原点的程度而加强。
三、实验内容实验10()(0.11)K G s s s =+1、在s复平面上绘制系统的开环零极点图,极点用“×”表示,零点用“○”表示2、绘制控制系统的根轨迹图并分析根轨迹的一般规律3、根据控制系统的根轨迹,分析控制系统的性能。
实验数据生成图形四实验总结1控制系统的动态性能,是控制系统暂态响应时的性能,在很大程度上是由闭环系统的零点和极点决定的,线性系统的动态性能主要取决于系统极点的位置.极点配置就是通过一个状态反馈,使闭环系统的极点配置在希望的位置上,从而使系统具有较满意的性能.2根轨迹与性能:稳定性根轨迹若越过虚轴进入S右半面,与虚轴交点处的k极为临界增益稳态性能根据坐标原点的根数,确定系统的型别。
《MATLAB Simulink与控制系统仿真(第3版)》的课件 第6章 根轨迹分析法
n
m
k s Pj / s Zi
j 1
i 1
6.3.3 与根轨迹分析相关的MATLAB函数
在MATLAB中,对于如图6-1所示的n阶单输入单输出系统,采用 函数pzmap( ) 绘制系统零极点,通过输入“rlocus(GH)”可得根轨 迹图,它描绘了当开环增益K从0→变化时,闭环极点在复S平面 内的变化情况,即系统GH的180°根轨迹。MATLAB会计算出根 轨迹的n条分支,并以其选定的实轴和虚轴绘制图形。
6.3.4 根轨迹分析与设计工具rltool
rltool根轨迹设计GUI界面由以下几 个主要的部分组成。 (1)补偿器描述区:给出了当前 补偿器的结构,默认值为C(s)=1。 (2)反馈结构图区:给出当前系 统的整体框图,其中F为前滤波器, G为控制对象模型,C为补偿器,H 为反馈环节。 (3)根轨迹工具条:其中的按钮 用来增加或者删除补偿器的零极点, 还可以通过鼠标完成零极点的摆放。 绘图区:用于显示系统的根轨迹。
若能掌握根轨迹图的一般作图规则,那么画已知系统的根轨迹将 会变成一件容易的工作。利用MATLAB产生根轨迹是一件非常简 单的事情,若有手工画根轨迹的经验,那么对于理解MATLAB产 生的根轨迹图,并迅速获得根轨迹的基本概念,都将是非常有益 的。
6.3 根轨迹法基础
6.3.1 幅值条件和相角条件
6.3.2 绘制根轨迹的一般法则
利用matlab产生根轨迹是一件非常简单的事情若有手工画根轨迹的经验那么对于理解matlab产生的根轨迹图并迅速获得根轨迹的基本概念都将是非常有益6363根轨迹法基础根轨迹法基础631幅值条件和相角条件632632绘制根轨迹的一般法则绘制根轨迹的一般法则633633与根轨迹分析相关的与根轨迹分析相关的matlabmatlab函数函数在matlab中对于如图61所示的n阶单输入单输出系统采用函数pzmap绘制系统零极点通过输入rlocusgh可得根轨迹图它描绘了当开环增益k从0变化时闭环极点在复s平面内的变化情况即系统gh的180根轨迹
MATLAB与控制系统仿真--控制系统的根轨迹分析与校正 ppt课件
13.2 控制系统的根轨迹法校正
主要内容(续)
13.3 MATLAB图形化根轨迹法分析与设计
13.3.1 MATLAB图形化根轨迹法分析与设计 工具rltool 13.3.2 基于图形化工具rltool的系统分析 与设计实例
本章小结
PPT课件
3
根轨迹概念
是指当开环系统某一参数从零变到无穷 大时,闭环系统特征根(闭环极点)在复 平面上移动的轨迹。 通常情况下根轨迹是指增益K由零到正无 穷大下的根的轨迹。
PPT课件
31
13.2
控制系统的根轨迹法校正
相位超前校正: 如果系统的期望主导极点往往不在系统的根轨迹上。 由根轨迹的理论,添加上开环零点或极点可以使根轨 迹曲线形状改变。若期望主导极点在原根轨迹的左侧, 则只要加上一对零、极点,使零点位置位于极点右侧。 如果适当选择零、极点的位置,就能够使系统根轨迹 通过期望主导极点s1,并且使主导极点在s1点位置时 的稳态增益满足要求。
PPT课件
32
13.2
控制系统的根轨迹法校正
相位滞后校正: 系统的期望主导极点若在系统的根轨迹上,但是 在该点的静态特性不满足要求,即对应的系统开 环增益K太小。单纯增大K值将会使系统阻尼比变 小,甚至于使闭环特征根跑到复平面S的右半平面。 为了使闭环主导极点在原位置不动,并满足静态 指标要求,则可以添加上一对偶极子,其极点在 其零点的右侧。从而使系统原根轨迹形状基本不 变,而在期望主导极点处的稳态增益得到加大。
注:演示例 1:若单位反馈控制系统 的开环传递函数为
Gk (s) kg s(s 1)(s 5)
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(’根轨迹’)%绘制根轨迹图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
Amplitude
1 0.8 0.6 0.4 0.2 0
0
1
2
3
4
5 Time (sec)
6
7
8
9
10
图5 例3系统时的阶跃响应
分析:由根轨迹图4,结合临界稳定值可知,系统稳定时,临 界稳定时的阶跃响应曲线如图5。
二、MATLAB根轨迹分析实例
运行结果:
Root Locus 1.5 0.707
1 System: G Gain: 1.97 Pole: -1 + 0.983i Damping: 0.713 Overshoot (%): 4.09 Frequency (rad/sec): 1.4
0.5
Imaginary Axis
0
-0.5
-1
2.增加零点。可直接在工具栏上操作,也可通过 快捷菜单操作。增加零点为 1 j 。
图14 系统增 加零点
1 j
后的根轨迹
1 j
图15 系统增 加零点
后的阶跃响应
加入零点后,根轨迹向左弯曲,如图14。所 选K值对应的极点在s平面左侧,系统是稳定 的。对应K值的阶跃响应曲线如图15。
例2:若单位反馈控制系统的开环传递函数为
G( s )
k g ( s 3)
( s 1)(s 2 2 s )
绘制系统的根轨迹,并据根轨迹判定系统的稳定性。 num=[1 3]; den=conv([1 1],[1 2 0]); G=tf(num,den); rlocus(G) figure(2) %新开一个图形窗口 Kg=4; G0=feedback(tf(Kg*num,den),1); step(G0)
一、MATLAB根轨迹分析的相关函数
[K,POLES] = rlocfind(G) 交互式地选取根轨迹增益。产生一个十 字光标,用此光标在根轨迹上单击一个极 点,同时给出该增益所有对应极点值
返回P所对应根轨迹增益K,及K所对应 [K,POLES]= rlocfind(G,P) 的全部极点值 sgrid 在零极点图或根轨迹图上绘制等阻尼线 和等自然振荡角频率线。阻尼线间隔为0.1 ,范围从0到1,自然振荡角频率间隔 1rad/s,范围从0到10 sgrid(z,wn) 在零极点图或根轨迹图上绘制等阻尼线 和等自然振荡角频率线。用户指定阻尼系 数值和自然振荡角频率值
Root Locus 15
10
5
Imaginary Axis
0
-5
-10
-15 -16
-14
-12
-10
-8
-6 Real Axis
-4
-2
0
2
4
图4 例3系统根轨迹
二、MATLAB根轨迹分析实例
Select a point in the graphics window selected_point = -0.0071 + 3.6335i K= 95.5190 POLES = -7.4965 -0.0107 + 3.6353i -0.0107 - 3.6353i -0.4821
如果性能指标以单位阶跃响应的峰
值时间、调整时间、超调量、阻尼 系统、稳态误差等时域特征量给出 时,一般采用根轨迹法校正。
根轨迹法校正的基本思路为借助根
轨迹曲线进行校正。
四、控制系统的根轨迹法校正
系统的期望主导极点往往不在系统的根 轨迹上。由根轨迹的理论,添加上开环 零点或极点可以使根轨迹曲线形状改变。 若期望主导极点在原根轨迹的左侧,则 只要加上一对零、极点,使零点位置位 于极点右侧。如果适当选择零、极点的 位置,就能够使系统根轨迹通过期望主 导极点s1,并且使主导极点在s1点位置 时的稳态增益满足要求。此即相当于相 位超前校正。
3.增加极点。去掉零点,为系统增加极点 1
。
j
图16系统增加极点 1
j 后的根轨迹
图17 系统增 加极点
1 j
后的阶跃响应
系统增加极点后,根轨迹向右弯曲,如图16。当进入 s平面右半平面时,系统不稳定。图17所选K值对应的 极点已进入s平面右侧,系统是不稳定的。
四、控制系统的根轨迹法校正
图8 rltool初始界面
三、MATLAB图形化根轨迹法分析与设计
也可以指定命令参数,其具体用法如表:
指定开环传递函数 指定校正环节和待校正传递函数
rltool(Gk) rltool(Gk,Gc)
rltool(Gk,Gc,Locat 指定校正环节和待校正传递函数,并指定校正 ionFlag,… 环节的位置和反馈类型 FeedbackSign) LocationFlag = 'forward': 位于前向通道 LocationFlag = 'feedback': 位于反馈通道 FeedbackSign = -1: 负反馈 FeedbackSign = 1: 正反馈
例4:若单位反馈控制系统的开环传递函数为 Kg Gk ( s) s( s 2) 绘制系统的根轨迹,并观察当ξ=0.707时的Kg值。 绘制ξ=0.707时的系统单位阶跃响应曲线。 num=[1]; den=[1 2 0]; G=tf(num,den); rlocus(G) sgrid(0.707,[ ]) [K,POLES]=rlocfind(G)
Root Locus 10 8 6 4
System: G Gain: 4.02 Pole: -0.247 + 2.18i Damping: 0.113 Overshoot (%): 70 Frequency (rad/sec): 2.19
Imaginary Axis
2 0 -2 -4 -6 -8 -10 -3.5 System: G Gain: 45.1 Pole: -0.0575 - 6.84i Damping: 0.0084 Overshoot (%): 97.4 Frequency (rad/sec): 6.84
根轨迹分析仿真
主要内容
– – – – MATLAB根轨迹分析的相关函数 MATLAB根轨迹分析实例 MATLAB图形化根轨迹法分析与设计 MATLAB根轨迹校正方法
一、MATLAB根轨迹分析的相关函数
rlocus(G) rlocus(G1,G2,...) rlocus(G,k) [r,k] = rlocus(G) r = rlocus(G,k) 绘制指定系统的根轨迹 绘制指定系统的根轨迹。多个系统 绘于同一图上 绘制指定系统的根轨迹。K为给定 增益向量 返回根轨迹参数。r为复根位置矩阵 。r有length(k)列,每列对应增益的闭 环根 返回指定增益k的根轨迹参数。r为 复根位置矩阵。r有length(k)列,每列 对应增益的闭环根
二、MATLAB根轨迹分析实例
例1:若单位反馈控制系统的开环传递函数为 kg Gk (s) s(s 1)(s 5) 绘制系统的根轨迹。
num=1; den=conv([1 1 0],[1 5]); rlocus(num,den) %绘制根轨迹 figure(2) r=rlocus(num,den); %返回根轨迹参数 plot(r,'-') %绘制根轨迹
1 0.8 0.6
0.4
0.4
0.2 0
0.2 0
0
5
10 Time (sec)
15
20
25
0
1
2
3
4
5 Time (sec)
6
7
8
9
10
(a) kg=4时系统时域响应曲线
(b) kg=45时系统时域响应曲线
图ห้องสมุดไป่ตู้ 例2系统时域响应曲线
二、MATLAB根轨迹分析实例
例3:若单位反馈控制系统的开环传递函数为
图11 rltool工具Compensator Editor窗口
通过Analysis Plots配置要显示的不同图形及其位置 如图12。