00实验三 基于MATLAB的根轨迹绘制与性能分析

合集下载

实验三 基于MATLAB的根轨迹绘制与性能分析

实验三  基于MATLAB的根轨迹绘制与性能分析

实验三 基于MATLAB 的根轨迹绘制与性能分析【一、实验目的】1、绘制控制系统的根轨迹图,研究分析系统参数对根轨迹图的影响;2、能够用MATLAB 的计算方法来确定系统参数使系统获得期望的性能。

【二、实验内容和原理】1、控制系统系统根轨迹1)根轨迹:开环系统传递函数的某一个参数变化时,闭环系统特征方程的根在复平面上变化的轨迹。

系统的结构图如下:闭环传递函数为:)()(1)()(s H s G s G s +=Φ开环传递函数为:)()()(s H s G s G k =将 写成以下标准型,得:)(s G k ∏∏==++⋅=nj jmi i g k p s z s k s G 11)()()(为开环零极点。

轨迹增益;传递系数,或称为式中:j i g p z k ,根-2)用MATLAB 绘制根轨迹时,num 和den 两个向量都必须写成s 的降幂形式。

绘制根轨迹的指令为:rlocus(num,den),增益向量g k 是自动生成的,因而用MATLAB 绘制根轨迹时,完全取决于数组num 和den 。

引入左端向量,即[r,k]= rlocus(num,den),绘制命令plot(r, '')。

绘制区域设置成平方纵横比的命令:v=[-a a -b b];axis(‘square ’)。

2、[4-1]已知系统开环传递函数为)8()(2+=s s K s G (1)绘制系统的根轨迹;(2)增加开环零点1-=z 后,绘制系统的根轨迹并且进行分析。

【三、实验条件】PC计算机1台、MATLAB6.X1套【四、实验过程】①根据所给系统的传递函数,采用MATLAB编程;②在MATLAB界面下调试程序,并检查是否运行正确。

③程序:(1)num=[1];den=[1,8,0,0];rlocus(num,den);axis('spuare')grid ontitle('Root-locus plot of G(s)=k/s^2(s+8)') xlabel('Re')ylabel('Im')(2)num=[0,0,1,1];den=[1,8,0,0];rlocus(num,den);axis('spuare')grid ontitle('Root-locus plot of G(s)=k(s+1)/s^2(s+8)') xlabel('Re')ylabel('Im')【五、实验结果】程序结果:(1)(2)【六、实验结果分析、讨论】1、通过仿真结果图观察可知增加零点将使复平面上的根轨迹左移,有利于提高稳定性,减少调节时间,从而改善系统的瞬态性能指标。

MATLAB实验三_线性系统的根轨迹

MATLAB实验三_线性系统的根轨迹

武汉工程大学实验报告
专业班号
组别 01 指导教师
姓名同组者(个人)
选定图中根轨迹与虚轴的交点,单击鼠标左键得: selected_point =
0.0059 + 9.8758i
k =
选定图中根轨迹与虚轴的交点,单击鼠标左键得:
selected_point =
0.0237 + 8.3230i
k =
第二步、添加共轭极点-3+j2和-3-j2得到G(s)=1/[s(s2+2s+2)( s2+6s+13)]得其单位阶跃响应波形为
然后逐步添加如下:
第一步、添加共轭极点-6+j8和-6-j8得到G(s)=1/[(s+1)(s2+12s+100)],运行后可得其单位阶跃响应波形为
第三步、添加零点-12得到G(s)=(s+12)/[(s+1)(s2+12s+100)(s+10)], 运行后可得其单位阶跃响应波形为
然后逐步添加如下:
第一步、添加极点-1/0.0714得到G(s)=1/[s(0.0714s+1)], 运行后可得其单位阶跃响应
第三步、添加极点-20得到G(s)=1/[s(0.0714s+1)( 0.012s2+0.1s+1)(0.05s+1)],运行后可得
要求:正文用小四宋体,1.5倍行距,图表题用五号宋体,图题位于图下方,表题位于表上方。

利用MATLAB进行根轨迹分析

利用MATLAB进行根轨迹分析

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MATLAB系统根轨迹和频域分析实验

MATLAB系统根轨迹和频域分析实验

实验三MATLAB系统根轨迹和频域分析实验一、实验目的1. 学习使用MATLAB求特征多项式的根,分析系统稳定性;2. 学习使用MATLAB由传递函数求零点和极点;3. 学习使用MATLAB绘制根轨迹;4. 掌握由根轨迹分析系统性能的方法;5. 学习使用MATLAB绘制Bode图和Nyquist图;6. 掌握使用Bode图和Nyquist图分析系统性能的方法。

实验仪器计算机三、实验内容3.1特征多项式求解3.1.1直接求特征多项式的根设P为特征多项式的系数矢量,用MATLAB函数roots()可直接求出方程P=0在复数范围内的解,该函数的调用格式为:v=roots(p)例二十三已知系统的特征多项式为:.:_■■■ - 1特征方程的解可由下面的MATLAB命令得出:p=[1,0,3,2,1,1]v=roots(p)结果显示:v =0.3202+1.7042i0.3202-1.7042i-0.72090.0402+0.6780i0.0402-0.6780i利用多项式求根函数roots( ),可方便的求出系统的零点和极点,然后根据零极点分析系统稳定性和其他性能。

3.1.2 由根创建多项式如果已知多项式的因式分解式或特征根,可由MATLAB函数poly( ) 直接得出特征多项式系数矢量,其调用格式为:p=poly(v)。

如上题中:v =[0.3202+1.7042i;0.3202-1.7042i;-0.7209;0.0402+0.6780i;0.0402-0.6780i];p=poly(v)结果显示:p=1.0000 -0.0000 3.0000 2.0000 1.0000 1.0000 由此可见,函数roots( )与函数poly( )互为逆运算。

3.1.3 多项式求值在MALAB 中通过函数polyval( ) 可求得多项式在给定点的值,该函数的调用格式为:polyval(p,v ) 。

对于上题中的p值,求取多项式在x点的值,可输入如下命令:p=[1,0,3,2,1,1];x=1polyval(p,x)结果显示:ans二83.1.5由传递函数求零点和极点G求系在MATLAB控制系统工具箱中,给出了由传递函数对象统零点和极点的函数,其调用格式分别为:Z=tzero(G)P=pole(G)注意:上式中要求的G必须是零极点模型对象。

应用MATLAB绘制 根轨迹图

应用MATLAB绘制   根轨迹图

实验六:应用MATLAB 绘制根轨迹图时间:第 周 星期 第 节课2013年 月 日计算机与电气自动化学院设置一、实验目的1、 通过实验了解Matlab 的编程基本方法;2、 通过实验了解Matlab 绘制根轨迹图的方法; 二、 实验原理1、 传递函数的根轨迹图定义:设方程:0)(111*111=+++++++++----m m m m n n n nb s b s b s K a s a s a S,式中m m n n b b b a a a ,,,,,,11;11-- ,为实常数,+∞<<-∞∈**K K ,为可变参数 设n n s s s ,,,11- 为该方程的n 个根,每选择一个K*值,就有一组根与之对应,在自变量s 平面上就会有一组极点与之对应,换一个K*值,会有一组新的极点与之对应,当K*在实数范围内连续变化时,对应的n 个根就会在s 平面内形成n 条轨迹线,这些轨迹线就称为该方程的根轨迹。

2、 传递函数的根轨迹图意义:已知系统的开环传递函数零、极点分布的基础上,研究某—个和某些参数的变化对系统闭环极点分布的影响的一种图解方法。

由于根轨迹图直观、完整地反映系统特征方程的根在S 平面上分布的大致情况,通过一些简单的作图和计算,就可以看到系统参数的变化对系统闭环极点的影响趋势。

这对分析研究控制系统的性能和提出改善系统性能的合理途径都具有重要意义。

3、 传递函数的根轨迹图绘制方法。

(1):rlocus (g )说明:已知系统开环传递函数为g ,使用语句rlocus (g )直接绘制系统根轨迹,可以 看出根轨迹的不同分支(各个分支以不同的颜色表示)。

(2):sisotool说明:已知系统开环传递函数为g ,同时打开根轨迹和波德图编辑窗口。

可以通过增 加零极点的方法改变根轨迹的形状,进而分析系统的性能。

(3):rltool说明:已知系统开环传递函数为g ,打开绘制根轨迹图编辑窗口。

MATLAB的根轨迹分析

MATLAB的根轨迹分析

基于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) 根轨迹曲线将向左倔移,有利于改善系统的动态件能,而且,所加的零点越靠近虚轴,彫响越大。

00实验三基于MATLAB的根轨迹绘制与性能分析

00实验三基于MATLAB的根轨迹绘制与性能分析

实验四基于MATLAB的根轨迹绘制与性能分析[实验目的]1.掌握MATLAB下的根轨迹绘制方法;2.学会利用根轨迹进行系统分析。

[实验指导]1.根轨迹作图函数(命令):rlocus( )调用格式:①rlocus(sys) 或rlocus(num,den)②rlocus(sys,k)①②画根轨迹图,①变化参量(一般是根轨迹增益)范围系统自动给出;②变化参量(一般是根轨迹增益)范围在程序中给出;③r=rlocus(sys)④[r,k]=rlocus(sys)③④不画根轨迹图,③返回闭环根向量;④返回闭环根向量(r)和变化参量(k)。

2.根与根轨迹增益的求取⑴在根轨迹上点击,可得到该点的根值和对应的根轨迹增益值。

⑵使用计算给定根的根轨迹增益的函数(命令):rlocfind( )调用格式:①[k,poles]=rlocfind(sys)②[k,poles]= rlocfind(sys,p)使用方法:①首先,当前根轨迹已绘出。

运行该命令时,在根轨迹图中显示出十字光标,当用户选择其中一点时,其相应的增益由k记录,与增益相关的所有极点记录poles中;同时,在命令行窗口显示出来。

②事先事先给出极点p,运行该命令时,除了显示出该根对应的增益以外,还显示出该增益对应的其它根。

3.开环零点极点位置绘图函数(命令):pzmap( )调用格式:①pzmap(sys)②[p,z]=pzmap(sys)函数功能:给定系统数学模型,作出开环零点极点位置图。

①零点极点绘图命令。

零点标记为“+”,极点标记为“o”。

②返回零点极点值,不作图。

4.根轨迹渐进线的绘制当根轨迹渐进线与实轴的交点σa已求出后,可得到方程,这是根轨迹渐进线的轨迹方程。

将作为一个开环传递函数,录入到MATLAB中,再使用根轨迹作图函数(命令)rlocus( ),生成的轨迹就是原根轨迹的渐进线。

5.举例例1:开环传递函数绘制其闭环根轨迹。

程序:>> z=[];p=[0,-1,-2];k=1;sys=zpk(z,p,k);rlocus(sys)运行结果:加渐进线程序与结果:>> z1=[];p1=[-1,-1,-1];k1=1;sys1=zpk(z1,p1,k1);hold on;rlocus(sys1)例2;增加零点z=-3后根轨迹的变化程序与结果:>>z=[-3];p=[0,-1,-2];k=1;sys=zpk(z,p,k);rlocus(sys)例3;在区间z=-4~z=-2零点变化后根轨迹的变化程序与结果:p=[0,-1,-2];k=1;for x=-4:0.2:-2;z=[x];sys=zpk(z,p,k);hold on;figure(7);rlocus(sys);end例4:对例1根轨迹使用rlocfind( )命令的情况程序:>> z=[];p=[0,-1,-2];k=1;sys=zpk(z,p,k);rlocus(sys);[k,poles]=rlocfind(sys)运行结果:Select a point in the graphics windowselected_point =-0.0433 + 1.3259ik =5.1264poles =-2.9169-0.0416 + 1.3251i-0.0416 - 1.3251i例5:开环传递函数绘制其闭环根轨迹。

自动控制原理Matlab实验3(系统根轨迹分析)

自动控制原理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的根轨迹仿真实验设计
法, 在 自动 控 制 原 理 课 程 教学 中 占 有 重 要 地位 。 传 统 的 根 轨 迹 实 验 需 要 手 工 绘 制 系 统 的 根轨 迹 图以 及 大 量 的 计 算 , 效率 低, 且 供 了 绘制 和 分 析 根 轨 迹 的 函数 , 可 以 非 常 方便 、 直 观 的 得 到 系统 的 根 轨 迹 , 因此 , 我 们 将 MATLAB引入 到 自动 控 制 原 理 实 验 教学 中 , 设 计 基 于 MATL AB的根 轨 迹 仿 真
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.

实验三 线性系统的根轨迹

实验三  线性系统的根轨迹

实验三 线性系统的根轨迹一、实验目的1. 熟悉MATLAB 用于控制系统中的一些基本编程语句和格式。

2. 利用MATLAB 语句绘制系统的根轨迹。

3. 掌握用根轨迹分析系统性能的图解方法。

4. 掌握系统参数变化对特征根位置的影响。

二、基础知识及MATLAB 函数根轨迹是指系统的某一参数从零变到无穷大时,特征方程的根在s 平面上的变化轨迹。

这个参数一般选为开环系统的增益K 。

课本中介绍的手工绘制根轨迹的方法,只能绘制根轨迹草图。

而用MATLAB 可以方便地绘制精确的根轨迹图,并可观测参数变化对特征根位置的影响。

假设系统的对象模型可以表示为11210111()()m m m m n n n nb s b s b s b G s KG s K s a s b s a -+--++++==++++ 系统的闭环特征方程可以写成01()0KG s +=对每一个K 的取值,我们可以得到一组系统的闭环极点。

如果我们改变K 的数值,则可以得到一系列这样的极点集合。

若将这些K 的取值下得出的极点位置按照各个分支连接起来,则可以得到一些描述系统闭环位置的曲线,这些曲线又称为系统的根轨迹。

绘制系统的根轨迹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:已知系统的开环传递函数32(1)()429s G s K s s s *+=+++,绘制系统的根轨迹的matlab 的调用语句如下:num=[1 1]; %定义分子多项式den=[1 4 2 9]; %定义分母多项式rlocus (num,den) %绘制系统的根轨迹grid %画网格标度线xlabel(‘Real Axis ’);ylabel(‘Imaginary Axis ’); %给坐标轴加上说明title(‘Root Locus ’) %给图形加上标题名 则该系统的根轨迹如图3-1(a )所示。

利用MATLAB绘制系统根轨迹

利用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的根轨迹仿真实验设计思路及作用分析

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进行根轨迹分析一、实验目的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绘制系统的根轨迹本章前面的内容介绍了控制系统根轨迹的绘制以及利用系统大致的根轨迹图分析系统性能的方法,若要由根轨迹获得系统在某一特定参数下准确的性能指标或者准确的闭环极点,需要依据幅值条件精确地作图。

如果利用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开环系统的传递函数为绘制系统的根轨迹,并分析系统的稳定性。

MATLAB系统根轨迹和频域分析实验

MATLAB系统根轨迹和频域分析实验

实验三 MATLAB系统根轨迹和频域分析实验一、实验目的1.学习使用MATLAB求特征多项式的根,分析系统稳定性;2.学习使用MATLAB由传递函数求零点和极点;3.学习使用MATLAB绘制根轨迹;4.掌握由根轨迹分析系统性能的方法;5.学习使用MATLAB绘制Bode图和Nyquist图;6.掌握使用Bode图和Nyquist图分析系统性能的方法。

二、实验仪器计算机三、实验内容3.1特征多项式求解3.1.1直接求特征多项式的根设P为特征多项式的系数矢量,用MATLAB函数roots( )可直接求出方程P=0在复数范围内的解,该函数的调用格式为:v=roots(p)例二十三已知系统的特征多项式为:特征方程的解可由下面的MATLAB命令得出:p=[1,0,3,2,1,1]v=roots(p)结果显示:v =0.3202+1.7042i0.3202-1.7042i-0.72090.0402+0.6780i0.0402-0.6780i利用多项式求根函数roots( ),可方便的求出系统的零点和极点,然后根据零极点分析系统稳定性和其他性能。

3.1.2 由根创建多项式如果已知多项式的因式分解式或特征根,可由MATLAB函数pol y( )直接得出特征多项式系数矢量,其调用格式为:p=poly(v)。

如上题中:v =[0.3202+1.7042i;0.3202-1.7042i;-0.7209;0.0402+0.6780i;0.0402-0.6780i];p=poly(v)结果显示:p=1.0000 -0.0000 3.0000 2.0000 1.0000 1.0000由此可见,函数roots( )与函数poly( )互为逆运算。

3.1.3 多项式求值在MALAB中通过函数polyval()可求得多项式在给定点的值,该函数的调用格式为:polyval(p,v )。

对于上题中的p值,求取多项式在x点的值,可输入如下命令:p=[1,0,3,2,1,1];x=1polyval(p,x)结果显示:ans=83.1.5 由传递函数求零点和极点在MATLAB控制系统工具箱中,给出了由传递函数对象G求系统零点和极点的函数,其调用格式分别为:Z=tzero(G)P=pole(G)注意:上式中要求的G必须是零极点模型对象。

基于MATLAB控制系统的根轨迹及其性能分析

基于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绘制根轨迹

用MATLAB绘制根轨迹
下面的系统就是条件稳定系统的例子: 开环非最小相位系统,其闭环系统的根轨迹必然有一部分在s 的右半平面; 具有正反馈的环节。
.
[例]非最小相位系统:Gk 稳定时的增益值。
(s)

(s
kg 1)( s

2)
,试确定使系统
[解]:根轨迹如右:
有闭环极点在右 半平面,系统是 不稳定的。显然 稳定临界点在原 点。该点的增益 临界值为 kgp 。
计算对应的根轨迹增益。由幅值条件:
kg
1
s(s 4)(s 6) s1.2 j2.1 m
解得:kg 44
k(is 1)
开环传递函数以Gk (s)
i 1 n
的形式表示时,k称为开环放
大系数。
(Tjs 1)
j 1
显然 k与kg 的关系为:k kg
zi ,式中 p j不计0极点。 pj

s2
s
ks 1 2 ks
1
B
s

k
Ds

s2 s

k
2
k s
1
ks 1
k

1
s
2 s 2 ks 1
s2 s 2

1
s
2 s 2 系统,前向通路的传递函数
80
60
若闭环极点落在下图中红线包围
的区域中,有:
% ectg 和ts

3


40
20

0 30 60 90



.
上述结论也可应用于具有主导极点的高阶系统中。如下例:
[例4-12]单位反馈系统的开环传递函数为:Gk

用MATLAB用于根轨迹分析

用MATLAB用于根轨迹分析

根轨迹图相同
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
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 + 2 s + 2) s + 4.73s 3 + 7.46 s 2 + 5.46 s rlocus ( [ 1 ] , [1 4.73 7.46 5.46 0] )
零点的作用
k G ( s) H ( s) = 2 s ( s + 3)
用MATLAB用于根轨迹分析 MATLAB用于根轨迹分析
绘制根轨迹可用函数 rlocus(num,den) num,den分别对应系统开环传递函数分子多项式和 分母多项式系数构成的数组。
k k 若 G(s) = = 3 s( s + 1)( s + 2) s + 3s 2 + 2s 在MATLAB环境下键入 num = [1]; den = [1,3, 2, 0]; rlocus (num, den)
根轨迹相同的两个系统响应却不同
k (0.8s + 1) k (0.8s + 1) , H1 ( s ) = 1 , G1 ( s ) H1 ( s ) = s (5s + 1) s (5s + 1) k k (0.8s + 1) G1 ( s ) = , H1 ( s ) = (0.8s + 1) , G2 ( s ) H 2 ( s ) = s (5s + 1) s (5s + 1) G1 ( s ) = 开环传递函数相同, 1 ( s ) H1 ( s ) = G2 ( s ) H 2 ( s ) G 开环零、极点相同, 1 = 0 , p2 = −0.2 , z1 = −1.25 p 闭环传递函数不同: k (0.8s + 1) Φ1(s)= 2 5s + (1 + 0.8k ) s + k k , Φ 2(s)= 2 5s + (1 + 0.8k ) s + k

实验三 MATLAB用于根轨迹分析

实验三  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等函数来加以理解。

实验3 根轨迹分析

实验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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四基于MATLAB的根轨迹绘制与性能分析
[实验目的]
1.掌握MATLAB下的根轨迹绘制方法;
2.学会利用根轨迹进行系统分析。

[实验指导]
1.根轨迹作图函数(命令):rlocus( )
调用格式:
①rlocus(sys) 或rlocus(num,den)
②rlocus(sys,k)
①②画根轨迹图,①变化参量(一般是根轨迹增益)范围系统自动给出;
②变化参量(一般是根轨迹增益)范围在程序中给出;
③r=rlocus(sys)
④ [r,k]=rlocus(sys)
③④不画根轨迹图,③返回闭环根向量;④返回闭环根向量(r)和变化参量(k)。

2.根与根轨迹增益的求取
⑴在根轨迹上点击,可得到该点的根值和对应的根轨迹增益值。

⑵使用计算给定根的根轨迹增益的函数(命令):rlocfind( )
调用格式:
①[k,poles]=rlocfind(sys)
②[k,poles]= rlocfind(sys,p)
使用方法:
①首先,当前根轨迹已绘出。

运行该命令时,在根轨迹图中显示出十字光标,当用户选择其中一点时,其相应的增益由k 记录,与增益相关的所有极点记录poles 中;同时,在命令行窗口显示出来。

②事先事先给出极点p ,运行该命令时,除了显示出该根对应的增益以外,还显示出该增益对应的其它根。

3.开环零点极点位置绘图函数(命令): pzmap( ) 调用格式:
① pzmap(sys) ② [p,z]=pzmap(sys) 函数功能:
给定系统数学模型,作出开环零点极点位置图。

① 零点极点绘图命令。

零点标记为“+”,极点标记为“o”。

② 返回零点极点值,不作图。

4.根轨迹渐进线的绘制
当根轨迹渐进线与实轴的交点σa 已求出后,可得到方程11()n m
a K s σ-=--,
这是根轨迹渐进线的轨迹方程。

将1()()
n m
a K G s s σ-=
-作为一个开环传递函数,录入到MATLAB 中,再使用根
轨迹作图函数(命令)rlocus( ),生成的轨迹就是原根轨迹的渐进线。

5.举例
例1:开环传递函数1
()(1)(2)
K G s s s s =++绘制其闭环根轨迹。

程序:
>> z=[];p=[0,-1,-2];k=1;sys=zpk(z,p,k);rlocus(sys)
运行结果:
Root Locus
Real Axis
I m a g A x i s
-6
-5
-4
-3
-2
-1
1
-4
-3-2-101
234
加渐进线程序与结果:
>> z1=[];p1=[-1,-1,-1];k1=1;sys1=zpk(z1,p1,k1);hold on;rlocus(sys1)
Root Locus
Real Axis
I m a g A x i s
-4
-3-2-101234
例2;增加零点z=-3后根轨迹的变化 程序与结果:
>>z=[-3];p=[0,-1,-2];k=1;sys=zpk(z,p,k);rlocus(sys)
Root Locus
Real Axis
I m a g A x i s
-3
-2.5
-2
-1.5-1
-0.5
-8
-6-4-202
46
8
例3;在区间z=-4~z=-2零点变化后根轨迹的变化 程序与结果:
p=[0,-1,-2];k=1;for x=-4:0.2:-2;z=[x];sys=zpk(z,p,k);hold on;figure(7);rlocus(sys);end
Root Locus
Real Axis
I m a g A x i s
-4-3.5-3-2.5-2-1.5-1-0.50
-15
-10
-5
5
10
15
例4:对例1根轨迹使用rlocfind( )命令的情况 程序:
>> z=[];p=[0,-1,-2];k=1;sys=zpk(z,p,k);rlocus(sys);[k,poles]=rlocfind(sys)
运行结果:
Select a point in the graphics window selected_point = -0.0433 + 1.3259i k =
5.1264 poles =
-2.9169 -0.0416 + 1.3251i -0.0416 - 1.3251i
Root Locus
Real Axis
I m a g A x i s
-6
-5
-4
-3
-2
-1
1
-4
-3-2-101
23
4
例5:开环传递函数3215432(234)
()35791
K s s s G s s s s s s +++=+++++绘制其闭环根轨迹。

程序:
>> n=[1 2 3 4];d=[1 3 5 7 9 1];sys=tf(n,d);rlocus(sys)
运行结果:
Root Locus
Real Axis
I m a g A x i s
-1.6
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0.2
-6
-4
-2
2
4
6
[实验内容]
1.自定一个开环传递函数(高阶),绘制其闭环根轨迹。

2.给定开环传递函数1(7)
()(4)
K s G s s s +=+,绘制其闭环根轨迹。

[实验报告要求]
1.写明实验目的和实验原理。

实验原理中简要说明绘制闭环根轨迹的命令和步骤。

2.在实验过程和结果中,要列项目反映各自的实验内容,编写的程序,运行结果,要求的分析计算过程和结果。

程序和运行结果(图)可以从屏幕上复制,打印报告或打印粘贴在报告上。

不方便打印的同学,要求手动从屏幕上抄写和绘制。

3.简要写出实验心得和问题或建议。

相关文档
最新文档