【免费下载】实验 五 用MATLAB绘制系统根轨迹(1)
利用MATLAB进行根轨迹分析
利用MATLAB进行根轨迹分析根轨迹分析是一种用于研究系统稳定性和动态特性的方法,通过研究系统的传递函数来绘制系统极点随参数变化的轨迹。
MATLAB提供了强大的工具和函数来进行根轨迹分析。
根轨迹是由系统的极点随参数变化所形成的轨迹,它可以反映系统的稳定性、阻尼比、上升时间、超调量等动态性能指标。
根轨迹的绘制通常包括以下步骤:1.定义系统传递函数:首先,需要根据具体的控制系统问题定义系统的传递函数。
传递函数是描述输入与输出间关系的数学模型,通常用分子多项式和分母多项式的比值来表示。
2. 极点位置确定:根据系统传递函数的分母多项式,可以求解系统的极点位置。
MATLAB提供了roots函数来计算多项式的根。
3. 绘制根轨迹:通过参数变化,将系统的极点位置代入传递函数的分子多项式中,可以计算得出系统的零点。
然后,使用MATLAB的plot函数将所有极点和零点绘制在复平面上。
4.判断稳定性:通过观察根轨迹的形状,可以判断系统的稳定性。
如果所有极点都位于左半平面,系统是稳定的。
如果存在极点位于右半平面,系统是不稳定的。
5.分析动态特性:根轨迹的形状可以提供许多关于系统动态特性的信息。
例如,阻尼比可以通过根轨迹上极点到原点的距离和纵坐标之比来估计;超调量可以通过根轨迹的形状和最大振幅来估计。
MATLAB提供了许多用于根轨迹分析的函数和工具箱,包括rlocus函数、nyquist函数和bode函数等。
这些函数可以方便地绘制根轨迹、Nyquist图和Bode图,从而帮助工程师分析系统稳定性以及设计和调整控制器。
根轨迹分析在控制系统设计和调优中具有重要作用。
通过根轨迹的绘制和分析,工程师可以深入了解控制系统的动态特性,并根据需要调整系统参数来达到设计要求。
同时,根轨迹分析也是控制系统教学和研究中常用的方法和工具。
总之,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点对应输出为:。
利用MATLAB进行根轨迹分析
实验二 利用MATLAB 进行根轨迹分析一 实验目的1 掌握利用MA TLAB 绘制控制系统根轨迹图形等方法。
2 掌握利用绘制的根轨迹图形进行线性系统分析的方法二 实验内容1 初步掌握MA TLAB 根轨迹绘制以及分析中的基本命令;2 绘制系统的根轨迹图并进行性能分析三 实验步骤1 初步掌握MA TLAB 根轨迹绘制中的基本命令;可利用pzmap 函数绘制连续系统的零、极点图,也可以利用tf2zp 函数求出系统的零、极点。
如考虑函数432543232546()34276s s s s G s s s s s s ++++=+++++ 的零、极点及增益,并绘制其零、极点图。
执行如下程序:num=[3 2 5 4 6];den=[1 3 4 2 7 2];[Z,P,K]=tf2zp(num,den)pzmap(num,den)Title(‘Pole-Zore Map ’)或者num=[3 2 5 4 6];den=[1 3 4 2 7 2];sys1=tf(num,den)pzmap(sys1)Title(‘Pole-Zore Map ’)绘制结果如下:2 绘制系统的根轨迹考虑如下开环传递函数*2()()(3)(22)K G s H s s s s s =+++ 试绘制根轨迹执行如下命令:num=[0 0 0 0 1];den=[1 5 8 6 0];rlocus(num,den)grid绘制结果如下:四 作业1 设单位反馈系统的开环传递函数为(0.011)(0.021)K s s s ++,要求:(1)画出根轨迹;(2)从图中确定系统的临界稳定开环增益c K ;(3)从图中确定与系统临界阻尼比相应的开环增益K 。
2 设单位负反馈系统的开环传递函数(4)()(2)K s G s s s +=+,试绘制根轨迹图,并从图中找出系统具有最小阻尼比时的闭环极点和对应的增益K 。
【免费下载】实验 五 用MATLAB绘制系统根轨迹(1)
自动控制原理 课程验证性实验报告实验名称用MATLAB 绘制系统根轨迹实验时间2013年 05月04日学生姓名实验地点070312同组人员无专业班级电技1101B 1、实验目的1)熟练掌握使用MATLAB 绘制控制系统零极点图和根轨迹图的方法;2)学会分析控制系统根轨迹的一般规律;2、实验主要仪器设备和材料:计算机一台 matlab 软件2010a 版本3、实验内容和原理:原理:1)根轨迹与稳定性;2)二阶系统根轨迹的一般规律:若闭环极点为复数极点,系统为欠阻尼系统,单位阶跃响应为阻尼振荡过程,且超调量将随K 值的增大而加大,但调节时间的变化不显著;若闭环两个实数极点重合,系统为临界阻尼系统,单位阶跃响应为非周期过程,但是响应速度较过阻尼快;若所有闭环极点位于实轴上,系统为过阻尼系统,单位阶跃响应为非周期过程。
内容:1)绘制系统的零极点图,MATLAB 提供pzmap()函数来绘制系统的零极点图,其调用格式为pzmap(num,den)或[p,z]= pzmap(num,den)。
已知系统的开环传递函数,绘制系统的零极点图。
()()()()2255122s s G s H s s s s s ++=+++2)绘制控制系统的根轨迹图并分析根轨迹的一般规律MATLAB 提供rlocus()函数来绘制系统的根轨迹图,其调用格式为rlocus(num,den) %直接在s 平面上绘制系统的根轨迹图,[k,r]=rlocfind(num,den) %在作好的根轨迹图上,确定被选的闭环极点位置的增益值k 和此时的闭环极点r(向量)的值。
在作出根轨迹图后,再执行该命令,命令窗口会出现提示语,“Select a point in the graphics windows”,此时将鼠标移至根轨迹图并选定位置,单击左键确定,出现“+”标记,在MATLAB 窗口上即得到该点的根轨迹开环增益K 值和对应的所有闭环根r(列向量)。
实验五根轨迹分析
|实验四 用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语言的控制系统根轨迹绘图1
>> >> >> >> >> >> >> >> >> mg pc wg wc
num=1; den=[0.01 0.4 1];bode(num,den); w=logspace(-1,1,100); bode(num,den,w); mag=1./((0.1^2*(i*w).^2)+0.4*(i*w)+1); l=20*log(abs(mag)); semilogx(w,l); grid margin(num,den) [mg,pc,wg,wc]=margin(num,den) =Inf =-180 =Inf =0
系统最大超调量 M p =1.17%时根轨迹增益 2.06 最大超调量 M p =1.17%时做时域仿真,如下图 >> num=[2.06 6.12];den=[1 4.06 6.18];step(num,den)
当系统无超调量时,取增益为 0.4,时域仿真如下图 >> num=[0.4 1.2];den=[1 2.4 1.2];step(num,den)
最大相位裕度时,Km=10
根轨迹的起点为[0,-1,-2],终点为[无穷 无穷 无穷],根轨迹的条数为 3 条
分离点为负实轴上的(-0.423,0),根轨迹增益为 0.385 当临界稳定时 k g =6, k gl =5.96 2. G02 ( s)
k g ( s 1) s( s 1)(s 2 4s 16)
程序如下: >>num=[1,1]; >> den=[1,3,12,-16,0]; >> rlocus(num,den); >> [k,r]=rlocfind(num,den); Select a point in the graphics window selected_point = -4.0403 - 0.1863i
第九章根轨迹法MATLAB
对根轨迹使用[k,poles]=rlocfind(sys)进行操作,将十字光标指向根 轨迹与纵坐标的交点时,对应的开环增益与极点为: K=2.9957, ploes=-2.9919 -0.0040+1.4056i -0.0040-1.4056i。
当参数K从0→3变动时,根轨迹均在s平面虚轴左半部分,对应的 闭环系统稳定,一旦根轨迹穿越纵坐标到达其右侧,对应的 K > 3时, 闭环系统就进入不稳定状态。 当在根轨迹实轴阶段时(过阻尼状态),对应着系统闭环阶跃响 应无超调,闭环系统稳定。当在根轨迹圆上时,系统闭环特征方程 出现共轭复根(欠阻尼状态),系统闭环阶跃响应有超调量,但系 统还是稳定的。
[r, k]=rlocus (sys):此命令只返回系统特征方程根位置的复数矩阵和 相应的增益向量k,而不绘制零、极点图。
三、计算给定一组根的系统根轨迹增益
[k, poles]=rlocfind (sys):sys为LTI对象的开环传递函数,命令执 行后,可在根轨迹窗口中显示出十字光标,当用户选择根轨迹上 的一点时,其相应的增益由k记录,与增益对应的闭环极点(即特 征方程的根)由poles记录;
10
9.2 用根轨迹法判定系统的稳定性
采用[k, poles]=rlocfind (sys)(可在根轨迹窗口中显示出十字光 标,当用户选择根轨迹上的一点时,其相应的增益由k记录,与 增益对应的闭环极点(即特征方程的根)由poles记录)这条指令反 复进行操作,可以来判断系统的稳定性。
例9-5
已知一单位负反馈系统的开环传递函数为:
6
k= 0.4984
poles =
-2.0664 -0.0918 + 0.3349i -0.0918 - 0.3349i
参数根轨迹的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$值,使得系统极点轨迹经过我们期望的稳定位置。
控制系统的根轨迹分析实验报告
一、实验目的1. 熟悉控制系统根轨迹的基本概念和绘制方法。
2. 掌握利用MATLAB软件绘制和分析控制系统根轨迹的方法。
3. 通过根轨迹分析,了解系统参数变化对系统性能的影响。
4. 培养实验操作能力和数据处理能力。
二、实验原理根轨迹是指当系统的某一参数(如开环增益K)从0变化到无穷大时,闭环系统的特征根在s平面上的变化轨迹。
通过分析根轨迹,可以了解系统在参数变化时的稳定性、瞬态响应和稳态误差等性能。
三、实验设备1. 计算机2. MATLAB软件3. 控制系统实验箱四、实验内容1. 绘制控制系统根轨迹(1)首先,根据实验要求,搭建控制系统的数学模型。
(2)利用MATLAB中的rlocus函数绘制系统的根轨迹。
(3)观察根轨迹的变化规律,分析系统在不同参数下的稳定性。
2. 分析系统性能(1)根据根轨迹,确定系统的稳定裕度,包括增益裕度和相位裕度。
(2)分析系统在不同参数下的瞬态响应,如上升时间、调整时间、超调量等。
(3)分析系统在不同参数下的稳态误差,如稳态误差和稳态误差系数。
3. 改变系统参数,观察根轨迹变化(1)改变系统的参数,如增益、时间常数等。
(2)重新绘制根轨迹,观察根轨迹的变化规律。
(3)分析系统参数变化对系统性能的影响。
五、实验结果与分析1. 绘制控制系统根轨迹(1)根据实验要求,搭建控制系统的数学模型,得到开环传递函数。
(2)利用MATLAB中的rlocus函数绘制系统的根轨迹。
(3)观察根轨迹的变化规律,分析系统在不同参数下的稳定性。
2. 分析系统性能(1)根据根轨迹,确定系统的稳定裕度,包括增益裕度和相位裕度。
(2)分析系统在不同参数下的瞬态响应,如上升时间、调整时间、超调量等。
(3)分析系统在不同参数下的稳态误差,如稳态误差和稳态误差系数。
3. 改变系统参数,观察根轨迹变化(1)改变系统的参数,如增益、时间常数等。
(2)重新绘制根轨迹,观察根轨迹的变化规律。
(3)分析系统参数变化对系统性能的影响。
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根轨迹绘制
摘要控制系统的计算机辅助设计从成为一门专门的学科以来已有20多年的历史,它一直受到控制界的普遍重视,在其发展过程中出现了各种各样的实用工具和理论成果。
本论文借助于国际上流行的控制系统计算机辅助设计软件MATLAB6.5对连续控制系统进行分析,首先,以自动控制原理为基础,对连续控制系统进行分析和设计,主要是系统的传函,零极点和状态空间表达式之间的转换;然后进行连续控制系统辅助设计及编程,包括系统的单位脉冲,单位阶跃,零输入和任意输入下的响应,还有系统的频率响应和特性的分析,如Nyquist图,Bode图,Nichols 图和根轨迹的绘制。
最后用GUI编制控制系统用户界面实现上述功能。
关键词:连续控制系统;系统模型;时域回应;频域回应;根轨迹;GUIAbstractControl the calculator assistance of system a design from become a specialized academics have already there is the history for more than 20 years, it has been subjected to a widespread value of control the boundary and appeared practical tool and theories result of various each kind in it the development the process.This disquisition uses the software named MATLAB 6.5 edition to analyses the continuous system. Firstly, it takes automatic control principle as foundation, and carry on analysis and design the continuous control system. It mainly contain Transfer function, the conversion of zero extremities and the appearance space expression types; Then carry on continuous control system assistance design and plait distance, include the unit pulse of system, the unit rank jump, zero importation with arbitrarily input next respond to, return systematic frequency to respond to with the analysis of the characteristic, like Nyquist diagram, Bode diagram, draw of Nichols diagram and root track. Finally draw up customer's interface of the control system to carry out the above-mentioned function with the GUI.Key words:continuous control system;system‟s model;time response;frequency response; root locus; GUI目录第1章连续控制系统的计算机辅助设计和分析的概述 (1)1.1 控制系统的数学模型与建立 (1)1.2 控制系统的模型转换 (4)第2章基于MATLAB的连续控制系统的设计与分析 (6)2.1 连续控制系统的时域分析 (6)2.2 连续控制系统的频域分析 (11)2.3 连续控制系统的根轨迹分析与设计 (16)第3章图形用户接口(GUI)制作 (25)3.1 图形用户接口的创建概述 (25)3.2 控制系统分析与设计的GUI (33)3.3 控制系统的综合分析与设计 (39)结论 (44)参考文献 (45)致谢 (46)第1章连续控制系统的计算机辅助设计和分析的概述1.1 控制系统的数学模型与建立控制理论分析,设计控制系统的第一步是建立实际系统的数学模型.所谓数学模型就是根据系统运动过程的物理,化学等规律,所写出的描述系统运动规律,特性,输出与输入关系的数学表达式。
根轨迹分析的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()函数既可适用于连续时间系统,也适用于离散时 间系统。
第4章 利用MATLAB绘制体系根轨迹
增益,同时返回的 P 变量则为该增益下所有的闭环极点位置。此外,该函数还将自动地将
该增益下所有的闭环极点直接在根轨迹曲线上显示出来。
例 4.1 已知系统的开环传递函数模型为:
Gk
(s)
s(s
K 1)(s
2)
KG0 (s)
利用下面的 MATLAB 命令可容易地验证出系统的根轨迹如图 4-1 所示。 >> G=tf(1,[conv([1,1],[1,2]),0]);
1 K num 0 den
特征方程的根随参数 K 的变化而变化,即为闭环根轨迹。控制系统工具箱中提供了
rlocus()函数,可以用来绘制给定系统的根轨迹,它的调用格式有以下几种:
rlocus(num,den)
rlocus(num,den,K)
5.8142 p=
-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; % 擦掉图形窗口中原有的曲线。
工具箱中还有一个 rlocfind()函数,该函数允许用户求取根轨迹上指定点处的开环增益值,
并将该增益下所有的闭环极点显示出来。这个函数的调用格式为:
[K,P]=rlocfind(G)
这个函数运行后,图形窗口中会出现要求用户使用鼠标定位的提示,用户可以用鼠标
左键点击所关心的根轨迹上的点。这样将返回一个 K 变量,该变量为所选择点对应的开环
matlab 根轨迹
中南大学课程设计摘要控制系统理论与技术已广泛应运于工农业生产、交通运输业、航天航空等众多部门,极大地提高了社会生产力水平,改善了人们的劳动生产条件,丰富与提高了人们的生活水平。
在当今信息化时代,自动控制系统与装置无所不在,为人类的文明作出了巨大贡献。
MATLAB语言是美国Math Works公司于20世纪80年代退出的高性能数值计算软件,MATLAB语言具有功能强大的Simulink模块和控制工具箱,其分析与计算覆盖了控制系统的各个领域。
这次主要是以基于GUI设计工具GUIDE的开发来初步了解MATLAB BUI程序设计的,设计出一个开环函数的根轨迹图形,这让我也初步踏入学习MATLAB的混合编程知识的大殿堂。
关键词:控制系统;开环函数;根轨迹;matlab;GUI1 引言1.1主要意义通过这次的设计我不仅得到了实践的知识经验,也得到了很重要的精神食粮。
学到的matlab知识让我拓宽了自己的知识面,而且也加深了对以前学习的自动控制原理的学习。
最重要的还是我认识到了对我将会有深远影响的精神食粮——学海无涯,应永奋斗;勿只向前,需及复习;谦虚仔细,谨慎好学。
1.2目的这次课程设计主要目的在于让我们对matlab自主的学习一些matlab基础而又有用的知识,并让我们清楚地开始意识到自己以后应该自己努力去自学东西,以拓宽自己的知识面和对专业的更进一步的了解。
1.3研究范围主要是研究以基于GUI设计工具GUIDE的开发,matlab在此环境下的编程,以实现自动控制原理中开环传递函数的根轨迹图形的绘制。
另外要建立的基础有:matlab环境认识与操作,matlab语言数据类型和运算符等基础知识,matlab 的一些基本关于开环传递函数的数学运算与符号运算,matlab的语言程序设计,matlab语言的图形设计,自动控制理论开环函数根轨迹的基本知识。
1.4概况此次设计是本着以学习运用matlab一些基本知识的指导思想进行的,在设计中我们应该学会去解决运用matlab中的GUI的可选控件,并通过编程语言来控制各个可选控件,以达到实现通过界面输入函数方程的系数来绘制根轨迹图的界面,并通过按钮退出可直接退出此界面的设计。
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绘制系统根轨迹
第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、给定某闭环系统的开环传递函数为2()()(416)K G s H s s s s =++,用MATLAB 语言绘出该系统的根轨迹。
2、在图形窗口上求出系统稳定时,增益K 的取值范围。
>> num=1;>> den=[1,4,16,0];>> sys=tf(num,den);>> figure(1)>> pzmap(num,den)>>figure(2)>>rlocus(sys)>> [k,pole]=rlocfind(sys)Select a point in the graphics windowselected_point =0.0163 + 4.0412ik =65.8651pole =-4.05750.0287 + 4.0289i0.0287 - 4.0289i>>图1 2()()(416)K G s H s s s s =++ 零极点分布图图2 2()()(416)K G s H s s s s =++ 根轨迹图 3、将系统的开环传递函数改为:2(1)()()(416)K s G s H s s s s +=++,绘出该系统的根轨迹图。
观察增加了开环零点后根轨迹图的变化情况。
>> num=[1 1];>> den=[1 4 16 0];>> sys=tf(num,den);>> figure(3)>> pzmap(num,den)>> figure(4)>> rlocus(sys)>> [k,pole]=rlocfind(sys)Select a point in the graphics windowselected_point =-1.5996 + 8.2239ik =56.7586pole =-1.5956 + 8.2238i-1.5956 - 8.2238i-0.8088>>图3 2(1)()()(416)K s G s H s s s s +=++ 零极点分布图图5 2(1)()()(416)K s G s H s s s s +=++ 根轨迹图 4、将系统的开环传递函数改为:2()()(1)(416)K G s H s s s s s =-++,绘出该系统的根轨迹图。
用MATLAB绘制根轨迹(1)
0
.
3
➢
分离角(点): d
2
N (s) s2 2 s 4 ,N '(s) 2 s 2
D (s ) s 5 1.4 s 1 4 3s 3 9 4.6 s 3 2 2s4
D '(s ) 5 s 4 4.6 s 5 3 1s 1 2 8 7 .2 s 7 24
N'(s)D(s)N(s)D'(s) 0
一般说,开环传递函数在s左半平面增加一个极点将使原根轨 迹右移。从而降低系统的相对稳定性,增加系统的调整时间。
Gk
(s)
kg s(s 1)
Gk(s)s(s1k)g(s2)
.
13
G(s)
kg
s(s1)(s2)(s3)
.
14
若在开环传递函数中增加一个零点,则原根轨迹向左移动。 从而增加系统的稳定性,减小系统响应的调整时间。
相1角2 条0 t件.g 1为4 : 1 tg 1 26 3 (2) 11
由(1),(2)式解得:1.2,2.1共轭主导极点为:s1,21.2j2.1。
计算对应的根轨迹增益。由幅值条件:
kg
1
s(s4)(s6) s1.2j2.1 m
解得:kg 44
k ( i s 1)
开环传递函数以G k (s)
画根轨迹
分离(会合)点
分别为-2.93和-17.07,
分离(会合)角为90
45
度。根轨迹为圆,如
右图所示。
.
21
当 2 时,阻尼角 45 ,表示
程为,2 代入特征方程整理后得:
45
角的直线为OB,其方
5 k 1 k j 2 0 2 5 k 0
用MATLAB用于根轨迹分析
例4.2.1的根轨迹
若 G (s) k k 3 s ( s 1)( s 2) s 3s 2 2 s 在MATLAB环境下键入 rlocus ([1 ],[1 3 2 0])
在根轨迹上画出等阻尼比曲线
>> rlocus(1,[1,3,2,0]) >> grid
axis equal
根轨迹图相同
Root Locus 1.5 0.91 0.84 0.74 0.6 0.42 0.22
1
0.96
0.5 0.99
Imaginary Axis
0
3
2.5
2
1.5
1
0.5
-0.5 0.99
-1
0.96
-1.5
0.91 -3 -2.5
0.84 -2
0.74 -1.5
0.6 -1
0.42
0.22 0 0.5
命令使纵、横坐标比例尺相等
例4.2.6的根轨迹
k k G ( s) 4 2 s ( s 2.73)( s 2s 2) s 4.73s 3 7.46s 2 5.46s rlocus ( [ 1 ] , [1 4.73 7.46 5.46 0] )
零点的作用
k G ( s) H ( s) 2 s ( s 3)
rlocfind()函数
该函数执行后,可用光标(十字)单击根轨迹上一点, 会在根轨迹上用红十字标出n个极点位置,命令窗口中出 现n个极点坐标值和对应的k值。
>>g=tf([1],[1,3,2,0]); >> rlocus(g); >> [k,p]=rlocfind(g)
用光标(十字)点根轨迹上一点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自动控制原理 课程验证性实验报告实验名称用MATLAB 绘制系统根轨迹
实验时间2013年 05月04日学生姓名实验地点070312同组人员无专业班级电技1101B 1、实验目的1)熟练掌握使用MATLAB 绘制控制系统零极点图和根轨迹图的方法;
2)学会分析控制系统根轨迹的一般规律;
2、实验主要仪器设备和材料:计算机一台 matlab 软件2010a 版本
3、实验内容和原理:原理:1)根轨迹与稳定性;2)二阶系统根轨迹的一般规律:若闭环极点为复数极点,系统为欠阻尼系统,单位阶跃响应为阻尼振荡过程,且超调量将随K 值的增大而加大,但调节时间的变化不显著;若闭环两个实数极点重合,系统为临界阻尼系统,单位阶跃响应为非周期过程,但是响应速度较过阻尼快;若所有闭环极点位于实轴上,系统为过阻尼系统,单位阶跃响应为非周期过程。
内容:1)绘制系统的零极点图,MATLAB 提供pzmap()函数来绘制系统的零极点图,其调用格式为pzmap(num,den)或[p,z]= pzmap(num,den)。
已知系统的开环传递函数,绘制系统的零极点图。
()()()()2255122s s G s H s s s s s ++=+++2)绘制控制系统的根轨迹图并分析根轨迹的一般规律MATLAB 提供rlocus()函数来绘制系统的根轨迹图,其调用格式为rlocus(num,den) %直接在s 平面上绘制系统的根轨迹图,[k,r]=rlocfind(num,den) %在作好的
根轨迹图上,确定被选的闭环极点位置的增益值k 和此时的闭环极点r(向量)的值。
在作出根轨迹图后,再执行该命令,命令窗口会出现提示语,“Select a point in the graphics windows”,此时将鼠标移至根轨迹图并选定位置,单击左键确定,出现“+”标记,在MATLAB 窗口上即得到该点的根轨迹开环增益K 值和对应的所有闭环根r(列向量)。
若已知系统开环传递函数,绘制系统的根轨迹图,并分析根轨迹()()()()12k G s H s s s s =++的一般规律。
K=1;z=[];p=[0 -1 -2];[num,den]=zp2tf(z,p,k);rlocus(num,den),grid 3)研究闭环零、极点对系统性能的影响。
已知一负反馈系统的开环传递函数为,绘制其根轨迹图。
()()()()
32k s G s H s s s +=+4、实验方法、步骤:1) 编程分别绘制系统的零极点图和根轨迹图;2)在根轨迹上标注分离点和临界开环增益对应的点,显示相关的性能指标;3)在根轨迹各区段上取点,使用rlocfind ()命令分别在,0ζ=,,, 处,得到相应的开环增益K 和闭环极点r ,由这
0.25ζ=0.7ζ=1ζ= 1.2ζ=两组参数写出系统闭环传递函数,分别绘制其对应系统的阶跃响应曲线,记录系统性能指标,并比较分析。
num=[1 5 5];den=[1 3 4 2 0]G=tf(num,den);G1=zpk(G);
z=G1.z;
p=G1.p;Z=z{:};P=p{:};k=G1.k;pzmap(G);pzmap(G1);grid on
K=1;z=[];p=[0 -1 -2];
[num,den]=zp2tf(z,p,k);rlocus(num,den),[k,r]=rlocfind(num,den)num=[1 3];den=[1 2 0];
指导教师评语和成绩评定:
本栏由指导教师填写
指导教师对学生实验报告的完成情况进行概括评论。
指出学生实验报告撰写中存在的主要问题,并提出改进建议。
对于问题较少或无明显错误的学生亦应给予肯定。
并将实验报告成绩填写于对应位置。
成绩用百分制记载。
实验报告成绩:
指导教师签字:
年月日。