matlab根轨迹常用函数
MATLAB根轨迹绘制
![MATLAB根轨迹绘制](https://img.taocdn.com/s3/m/5c3b6a610740be1e650e9a98.png)
控制系统的计算机辅助设计从成为一门专门的学科以来已有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仿真2-根轨迹仿真
![控制系统MATLAB仿真2-根轨迹仿真](https://img.taocdn.com/s3/m/998bfb3d2af90242a895e590.png)
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实验三 绘制根轨迹
![Matlab实验三 绘制根轨迹](https://img.taocdn.com/s3/m/b2edc1a2f605cc1755270722192e453610665bc8.png)
for
Principles of Automatic Control
实验三 绘制根轨迹 1: 绘制根轨迹 2: 参量分析
① 绘制根轨迹 rlocus(sys)
Gk
(s)
K *(s 1) (s 2)(s 3)
rlocus(num, den)
rlocus(sys,k)
②参量分析(根轨迹图上一顿乱点即可)
K1
(s a )nm
1
根轨迹渐进线的方程是新的根轨迹方程。
Байду номын сангаас
• 例: 绘制根轨迹及其渐近线
G(s)
K1
s(s 1)(s 2)
⑥讨论增加零点对根轨迹的影响 试试-2至-4之间的零点
G(s)
K1
s(s 1)(s 2)
r=rlocus(sys)
Gk
(s)
K *(s 1) (s 2)(s 3)
r=rlocus(num, den)
[r,k]=rlocus(sys)
[r,k]=rlocus(num, den)
③测量出根轨迹增益和对应闭环极点坐标,
在窗口显示
Gk
(s)
K *(s 1) (s 2)(s 3)
[k,poles] = rlocfind(sys)
[k,poles] = rlocfind(sys,p) P为已知的要研究的闭环极点。
④绘制零、极点以及在窗口显示零极点
pzmap(sys)
Gk
(s)
K *(s 1) (s 2)(s 3)
[p,z]=pzmap(sys) 求解零极点的好方法
⑤绘制根轨迹渐近线
一般人我不告诉他:
当根轨迹渐进线与实轴的交点已求出后, 可得到方程,这是根轨迹渐进线的方程。
实验五根轨迹分析
![实验五根轨迹分析](https://img.taocdn.com/s3/m/c77e076101f69e314332948f.png)
|实验四 用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
![第九章根轨迹法MATLAB](https://img.taocdn.com/s3/m/a8d6787925c52cc58bd6beb9.png)
对根轨迹使用[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绘制原理](https://img.taocdn.com/s3/m/f93e8b78e418964bcf84b9d528ea81c759f52e43.png)
参数根轨迹的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实现
![根轨迹分析的MATLAB实现](https://img.taocdn.com/s3/m/a95a8787195f312b3169a59d.png)
函数命令调用格式:
[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绘制系统根轨迹](https://img.taocdn.com/s3/m/3076b33652d380eb62946d44.png)
第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绘制根轨迹](https://img.taocdn.com/s3/m/f03fee11cf84b9d528ea7a84.png)
追求人生的美好!
我们的共同目标!
title(‘Pole-Zero Map’) % 图形标题
求系统根轨迹
rlocus 命令可求得系统的根轨迹 格式: [ r,k ] = rlocus(num,den) [ r,k ] = rlocus(num,den,k) 不带输出变量时则绘出系统的根轨迹图,带输出 变量时给出一组r,k的对应数据。 若给定了k的取值范围,则该命令将按要求绘出图 形或数组或者输出指定增益k所对应的r值。每条 根轨迹都以不同的颜色区别。
零极点分布图
在MATLAB中,可利用pzmap( )函数绘制连 续系统的零、极点图,从而分析系统的稳 定性,该函数调用格式为: pzmap(num,den)。
给定传递函数:
利用下列命令可自动打开一个图形窗口,显示该系统的零、极点分布图。 用鼠标点击图中零、极点可自动显示其坐标值。
num=[3,2,5,4,6]; den=[1,3,4,2,7,2]; pzmap(num,den)
结果如下: r = -3.3089 k= 5
0.1545 + 1.7316i 0.1545 - 1.7316i
求根轨迹增益
rlocfind命令可求得给定根的根轨迹增益。 格式: [ k,poles ] = rlocfind(n,d) [ k,poles ] = rlocfind(num,den,p) 当代有输出变量时,可得到所有极点的座标数据和增益值。 不带输出时只得到所选点的座标和增益值。 注意:在执行这条命令前最好先执行一次根轨迹的绘图命 令,这样就可直接在根轨迹图上选取我们感兴趣的点。 其中的p是系统的根,由此可得到对应的增益值。
某系统开环传递函数为:
G(s) 2k s3 3s2 2s
绘制根轨迹的MATLAB函数介绍
![绘制根轨迹的MATLAB函数介绍](https://img.taocdn.com/s3/m/7a8173a3ba0d4a7302763ac7.png)
绘制根轨迹的MATLAB函数介绍
绘制根轨迹的MATLAB 函数介绍4.4.1 rlocus
⒈.功能:绘制系统的根轨迹。
⒉.格式:
[r,k]=rlocus(n,d)[r,k]=rlocus(g)[r,k]=rlocus(n,d,k)[r,k]=rlocus(g,k)
⒊.说明:
rlocus 函数可计算出或画出SISO 系统的根轨迹,其中g(或n,d)为对象模型,输入变量k 为用户自已选择的增益向量,当k 缺省时则为系统自动生成增益向量k,返回变量r 为根轨迹各个点构成的复数矩阵.如果在函数调用中不返回任何参数,则rlocus 函数在当前窗口中画出系统的根轨图。
4.4.2 rlocfind
⒈功能:计算给定一组根的根增益。
⒉格式:
[k,p]=rlocfind(n,d)[k,p]=rlocfind(n,d,k)[k,p]=rlocfind(g)[k,p]=rlocfind(g,k)
⒊说明:
本函数允许用户求取根轨迹上指定点的开环根轨迹增益值,并将该增益下所有的闭环极点显示出来。
当这个函数启动起来之后,在图形窗口上出现要求用户使用鼠标定位的提示,这时用户用鼠标点击根轨迹上所要求的点后,将返回一个k 值,同时返回该k 值下的所有闭环极点p 的值,并将此闭环极点直接在根轨道曲线上显示出来。
4.4.3 grid
⒈.功能:在连续系统根轨迹图中绘制出阻尼系数和自然频率栅格。
MATLAB-根轨迹绘制
![MATLAB-根轨迹绘制](https://img.taocdn.com/s3/m/095edbafb1717fd5360cba1aa8114431b90d8efe.png)
MATLAB-根轨迹绘制主要涉及rlocus等函数的使⽤,临界增益的求解和根轨迹图(root locus)的绘制1.开环与闭环关系 对于⼀个系统,其开环函数为 G=k⋅G0(s)⋅H(s),则其闭环函数为 k⋅G0(s)1+k⋅G0(s)⋅H(s),闭环特征⽅程为 1+k⋅G0(s)⋅H(s)=0(1)这说明了闭环极点可以由开环函数确定。
2.根轨迹 系统的根轨迹是从0到 ∞ 连续取k,每取⼀个k,便在⽅程(1)中求出对应的闭环特征根,这样的根形成的闭环根轨迹被称为根轨迹图。
3.rlocus函数 rlocus(sym)或rlocus(num,den)指令可以直接根据开环函数sys=G0(s)⋅H(s)(这⾥不含k,运算时会⾃动配置变化的增益k)绘制出系统的根轨迹图。
例如:求取开环传递函数G(s)=k⋅(s+2)(s2+4s+3)2对应系统的根轨迹num=[1 2];f=[1 4 3];den=conv(f,f);sys=tf(num,den);figure(1);rlocus(sys);运⾏结果为4.如何求解临界增益 即求解虚轴上的极点的坐标值,及其所对应的临界增益k。
主要原理是:将s=jw⼿动带⼊(因为落在虚轴上实部为0)⽅程(1),然后将带⼊后的⽅程分别分为实部和虚部放⼊matlab解⼀个⼆元⼆次⽅程就可以求解出w和k。
实现代码如下//(承接前⾯的代码)syms w k;eqns=[w^4-22*w^2+9+2*k==0,-8*w^3+(24+k)*w==0];vars=[w k];[solw,solk]=solve(eqns,vars);k1=double(vpa(solk(3),6));sys2=tf(k1*num,den);sys3=sys2/(1+sys2);figure(2);impulse(sys3);xlim([0 20]);Processing math: 100%。
matlab根轨迹函数
![matlab根轨迹函数](https://img.taocdn.com/s3/m/447d393417fc700abb68a98271fe910ef12dae2f.png)
matlab根轨迹函数
Matlab中的根轨迹函数是用于绘制系统的根轨迹图的工具。
根轨迹图是一种描述系统极点与零点随参数变化而移动的图形,通常用于设计和分析控制系统。
Matlab中的根轨迹函数是rlocus,语法格式为:
rlocus(sys) % 绘制系统sys 的根轨迹
rlocus(sys, k) % 绘制系统sys 的增益为k 时的根轨迹
rlocus(sys, kvec) % 绘制系统sys 在不同增益下的根轨迹
其中,sys是指代表系统的传递函数或状态空间模型,k是指定增益大小的标量值,kvec是指定多个增益值的向量。
绘制根轨迹图的过程中,根据系统的传递函数或状态空间模型,先求出系统的极点和零点,然后根据根轨迹的定义,计算出系统在不同增益下的极点位置,将它们绘制在图上,在极点移动时,根据根轨迹的性质,可以判断系统的稳定性和响应速度等性能指标。
因此,Matlab中的根轨迹函数是在控制系统设计和分析中非常有用的工具,可以帮助工程师更加直观地理解和优化系统的性能。
用MATLAB绘制根轨迹
![用MATLAB绘制根轨迹](https://img.taocdn.com/s3/m/d8bbb8000722192e4536f6d1.png)
.
[例]非最小相位系统: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零度根轨迹](https://img.taocdn.com/s3/m/7e9582113d1ec5da50e2524de518964bcf84d2b6.png)
在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,根轨迹 (很好)](https://img.taocdn.com/s3/m/24763721af45b307e871971b.png)
《自动控制原理》实验指导自动化教研室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跟轨迹分析](https://img.taocdn.com/s3/m/b682e4d333d4b14e8524680e.png)
K ( s + 5) ( s + 1)( s + 3)( s + 12) ,
绘制系统的跟轨迹,并在跟轨迹上任选一点 并在跟轨迹上任选一点, 试使用 MATLAB 绘制系统的跟轨迹 并在跟轨迹上任选一点, 计算该点的增益 K 及其所有极点的位置
4. 已知单位负反馈系统, 已知单位负反馈系统, 系统的开环传递函数为
第五章
5.1 5.2 5. 3 5. 4
MATLAB跟轨迹分析 MATLAB跟轨迹分析
根轨迹法基础 MATLAB根轨迹相关指令 MATLAB根轨迹相关指令 根轨迹分析与设计工具rltool 根轨迹分析与设计工具rltool 用根轨迹分析系统性能
5.1
跟轨迹法基础
一、根轨迹方程 二、基本条件
根轨迹的相角条件 根轨迹的幅值条件
已知单位负反馈系统, 2. 已知单位负反馈系统,系统的开环传递函数为
GH ( s ) = K ( s + 1) , s (0.5s + 1)(4 s + 1)
绘制系统的跟轨迹。 试使用 MATLAB 绘制系统的跟轨迹。
已知单位负反馈系统, 3. 已知单位负反馈系统,系统的开环传递函数为
G ( s) =
阻尼比间隔0 阻尼比间隔0.1,范围:0-1; 范围: 自然振荡角频率间隔为pi/10,范围0 pi/10 自然振荡角频率间隔为pi/10,范围0-pi
(3)zgrid(z,wn) zgrid( wn)
可以指定阻尼比系数z与自然振荡角频率wn 可以指定阻尼比系数z与自然振荡角频率wn。 wn。
5. 3
例5-2:绘制如下系统的根轨迹图
0.05s + 0.045 G(s) = 2 ( s − 1.8s + 0.9)( s 2 + 5s + 6)
用MATLAB用于根轨迹分析
![用MATLAB用于根轨迹分析](https://img.taocdn.com/s3/m/faeef27201f69e31433294e9.png)
根轨迹图相同
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用于根轨迹分析](https://img.taocdn.com/s3/m/2c2cf2d24028915f804dc222.png)
实验三 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 根轨迹分析](https://img.taocdn.com/s3/m/c935a081680203d8ce2f24df.png)
-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)