Matlab软件工具在控制系统分析及综合中的应用课件_第1页
Matlab软件工具在控制系统分析及综合中的应用课件_第2页
Matlab软件工具在控制系统分析及综合中的应用课件_第3页
Matlab软件工具在控制系统分析及综合中的应用课件_第4页
Matlab软件工具在控制系统分析及综合中的应用课件_第5页
已阅读5页,还剩189页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

控制系统的分析方法MATLAB技术应用.1控制系统的分析方法MATLAB技术应用.1控制系统的分析方法早期的控制系统分析过程复杂而耗时,如想得到一个系统的冲激响应曲线,首先需要编写一个求解微分方程的子程序,然后将已经获得的系统模型输入计算机,通过计算机的运算获得冲激响应的响应数据,然后再编写一个绘图程序,将数据绘制成可供工程分析的响应曲线。MATLAB控制系统工具箱和SIMULINK辅助环境的出现,给控制系统分析带来了福音。控制系统的分析包括系统的稳定性分析、时域分析、频域分析及根轨迹分析。.2控制系统的分析方法早期的控制系统分析过程复杂而耗时,如想对于连续时间系统,如果闭环极点全部在S平面左半平面,则系统是稳定的。对于离散时间系统,如果系统全部极点都位于Z平面的单位圆内,则系统是稳定的。若连续时间系统的全部零极点都位于S左半平面;或若离散时间系统的全部零极点都位于Z平面单位圆内,则系统是最小相位系统。系统稳定及最小相位系统判据控制系统的稳定性分析.3对于连续时间系统,如果闭环极点全部在S平面左半平面,则系统是2、直接判别MATLAB提供了直接求取系统所有零极点的函数,因此可以直接根据零极点的分布情况对系统的稳定性及是否为最小相位系统进行判断。系统稳定及最小相位系统的判别方法1、间接判别(工程方法)劳斯判据:劳斯表中第一列各值严格为正,则系统稳定,如果劳斯表第一列中出现小于零的数值,系统不稳定。胡尔维茨判据:当且仅当由系统分母多项式构成的胡尔维茨矩阵为正定矩阵时,系统稳定。.42、直接判别系统稳定及最小相位系统的判别方法1、间接判别(工ii=find(条件式)用来求取满足条件的向量的下标向量,以列向量表示。例如条件式real(p>0),其含义就是找出极点向量p中满足实部的值大于0的所有元素下标,并将结果返回到ii向量中去。这样如果找到了实部大于0的极点,则会将该极点的序号返回到ii下。如果最终的结果里ii的元素个数大于0,则认为找到了不稳定极点,因而给出系统不稳定的提示,若产生的ii向量的元素个数为0,则认为没有找到不稳定的极点,因而得出系统稳定的结论。pzmap(p,z)根据系统已知的零极点p和z绘制出系统的零极点图.5ii=find(条件式)例如条件式real(p>0一个动态系统的性能常用典型输入作用下的响应来描述。响应是指零初始值条件下某种典型的输入函数作用下对象的响应,控制系统常用的输入函数为单位阶跃函数和脉冲激励函数(即冲激函数)。在MATLAB的控制系统工具箱中提供了求取这两种输入下系统响应的函数。时域分析的一般方法求取系统单位阶跃响应:step()求取系统的冲激响应:impulse()控制系统的时域分析.6一个动态系统的性能常用典型输入作用下的响应来描述。响应是指零y=step(num,den,t):其中num和den分别为系统传递函数描述中的分子和分母多项式系数,t为选定的仿真时间向量,一般可以由t=0:step:end等步长地产生出来。该函数返回值y为系统在仿真时刻各个输出所组成的矩阵。[y,x,t]=step(A,B,C,D,iu):其中A,B,C,D为系统的状态空间描述矩阵,iu用来指明输入变量的序号。x为系统返回的状态轨迹。如果对具体的响应值不感兴趣,而只想绘制系统的阶跃响应曲线,可调用以下的格式:step(num,den);step(num,den,t);step(A,B,C,D,iu,t);step(A,B,C,D,iu);线性系统的稳态值可以通过函数dcgain()来求取,其调用格式为:dc=dcgain(num,den)或dc=dcgain(a,b,c,d)[y,x,t]=step(num,den):此时时间向量t由系统模型的特性自动生成,

状态变量x返回为空矩阵。step()函数的用法.7y=step(num,den,t):其中num和den分别为求取脉冲激励响应的调用方法与step()函数基本一致。y=impulse(num,den,t);[y,x,t]=impulse(num,den);[y,x,t]=impulse(A,B,C,D,iu,t)impulse(num,den);impulse(num,den,t)impulse(A,B,C,D,iu);impulse(A,B,C,D,iu,t)impulse()函数的用法.8求取脉冲激励响应的调用方法与step()函数基本一致。imp对于典型二阶系统根据其响应时间的估算公式可以确定。对于高阶系统往往其响应时间很难估计,一般采用试探的方法,把t选大一些,看看响应曲线的结果,最后再确定其合适的仿真时间。一般来说,先不指定仿真时间,由MATLAB自己确定,然后根据结果,最后确定合适的仿真时间。在指定仿真时间时,步长的不同会影响到输出曲线的光滑程度,一般不易取太大。仿真时间t的选择.9对于典型二阶系统根据其响应时间的估算公式

时间响应探究系统对输入和扰动在时域内的瞬态行为,系统特征如:上升时间、调节时间、超调量和稳态误差都能从时间响应上反映出来。MATLAB除了提供前面介绍的对系统阶跃响应、冲激响应等进行仿真的函数外,还提供了大量对控制系统进行时域分析的函数,如:covar:连续系统对白噪声的方差响应initial:连续系统的零输入响应lsim:连续系统对任意输入的响应对于离散系统只需在连续系统对应函数前加d就可以,如dstep,dimpulse等。它们的调用格式与step、impulse类似,可以通过help命令来察看自学。常用时域分析函数.10时间响应探究系统对输入和扰动在时域内的瞬态行控制系统的频域分析频率响应是指系统对正弦输入信号的稳态响应,从频率响应中可以得出带宽、增益、转折频率、闭环稳定性等系统特征。频率特性是指系统在正弦信号作用下,稳态输出与输入之比对频率的关系特性。频率特性函数与传递函数有直接的关系,记为:频域分析的一般方法求取系统对数频率特性图(波特图):bode()求取系统奈奎斯特图(幅相曲线图或极坐标图):nyquist()频域分析法是应用频率特性研究控制系统的一种典型方法。采用这种方法可直观地表达出系统的频率特性,分析方法比较简单,物理概念比较明确,对于诸如防止结构谐振、抑制噪声、改善系统稳定性和暂态性能等问题,都可以从系统的频率特性上明确地看出其物理实质和解决途经。通常将频率特性用曲线的形式进行表示,包括对数频率特性曲线和幅相频率特性曲线简称幅相曲线,MATLAB提供了绘制这两种曲线的函数。.11控制系统的频域分析频率响应是指系统对正弦输入信号的稳态响应,1、对数频率特性图(波特图)对数频率特性图包括了对数幅频特性图和对数相频特性图。横坐标为频率w,采用对数分度,单位为弧度/秒;纵坐标均匀分度,分别为幅值函数20lgA(w),以dB表示;相角,以度表示。MATLAB提供了函数bode()来绘制系统的波特图,其用法如下:bode(a,b,c,d):自动绘制出系统的一组Bode图,它们是针对连续状态空间系统[a,b,c,d]的每个输入的Bode图。其中频率范围由函数自动选取,而且在响应快速变化的位置会自动采用更多取样点。bode(a,b,c,d,iu):可得到从系统第iu个输入到所有输出的波特图。bode(num,den):可绘制出以连续时间多项式传递函数表示的系统的波特图。bode(a,b,c,d,iu,w)或bode(num,den,w):可利用指定的角频率矢量绘制出系统的波特图。当带输出变量[mag,pha,w]或[mag,pha]引用函数时,可得到系统波特图相应的幅值mag、相角pha及角频率点w矢量或只是返回幅值与相角。相角以度为单位,幅值可转换为分贝单位:magdb=20×log10(mag).121、对数频率特性图(波特图)对数频率特性图包括了对数幅频特性2、奈奎斯特图(幅相频率特性图)对于频率特性函数G(jw),给出w从负无穷到正无穷的一系列数值,分别求出Im(G(jw))和Re(G(jw))。以Re(G(jw))为横坐标,Im(G(jw))为纵坐标绘制成为极坐标频率特性图。MATLAB提供了函数nyquist()来绘制系统的极坐标图,其用法如下:nyquist(a,b,c,d):绘制出系统的一组Nyquist曲线,每条曲线相应于连续状态空间系统[a,b,c,d]的输入/输出组合对。其中频率范围由函数自动选取,而且在响应快速变化的位置会自动采用更多取样点。nyquist(a,b,c,d,iu):可得到从系统第iu个输入到所有输出的极坐标图。nyquist(num,den):可绘制出以连续时间多项式传递函数表示的系统的极坐标图。nyquist(a,b,c,d,iu,w)或nyquist(num,den,w):可利用指定的角频率矢量绘制出系统的极坐标图。当不带返回参数时,直接在屏幕上绘制出系统的极坐标图(图上用箭头表示w的变化方向,负无穷到正无穷)。当带输出变量[re,im,w]引用函数时,可得到系统频率特性函数的实部re和虚部im及角频率点w矢量(为正的部分)。可以用plot(re,im)绘制出对应w从负无穷到零变化的部分。.132、奈奎斯特图(幅相频率特性图)对于频率特性函数G(jw),MATLAB除了提供前面介绍的基本频域分析函数外,还提供了大量在工程实际中广泛应用的库函数,由这些函数可以求得系统的各种频率响应曲线和特征值。如:margin:求幅值裕度和相角裕度及对应的转折频率freqs:模拟滤波器特性nichols:求连续系统的尼科尔斯频率响应曲线(即对数幅相曲线)ngrid:尼科尔斯方格图常用频域分析函数.14MATLAB除了提供前面介绍的基本频域分析函数外,还提供了大margin()函数margin函数可以从频率响应数据中计算出幅值裕度、相角裕度以及对应的频率。幅值裕度和相角裕度是针对开环SISO系统而言,它指示出系统闭环时的相对稳定性。当不带输出变量引用时,margin可在当前图形窗口中绘制出带有裕量及相应频率显示的Bode图,其中幅值裕度以分贝为单位。幅值裕度是在相角为-180度处使开环增益为1的增益量,如在-180度相频处的开环增益为g,则幅值裕度为1/g;若用分贝值表示幅值裕度,则等于:-20*log10(g)。类似地,相角裕度是当开环增益为1.0时,相应的相角与180度角的和。margin(mag,phase,w):由bode指令得到的幅值mag(不是以dB为单位)、相角phase及角频率w矢量绘制出带有裕量及相应频率显示的bode图。margin(num,den):可计算出连续系统传递函数表示的幅值裕度和相角裕度并绘制相应波特图。类似,margin(a,b,c,d)可以计算出连续状态空间系统表示的幅值裕度和相角裕度并绘制相应波特图。[gm,pm,wcg,wcp]=margin(mag,phase,w):由幅值mag(不是以dB为单位)、相角phase及角频率w矢量计算出系统幅值裕度和相角裕度及相应的相角交界频率wcg、截止频率wcp,而不直接绘出Bode图曲线。.15margin()函数margin函数可以从频率响应数据中计算freqs()函数freqs用于计算由矢量a和b构成的模拟滤波器H(s)=B(s)/A(s)的幅频响应。h=freqs(b,a,w)用于计算模拟滤波器的幅频响应,其中实矢量w用于指定频率值,返回值h为一个复数行向量,要得到幅值必须对它取绝对值,即求模。[h,w]=freqs(b,a)自动设定200个频率点来计算频率响应,这200个频率值记录在w中。[h,w]=freqs(b,a,n)设定n个频率点计算频率响应。不带输出变量的freqs函数,将在当前图形窗口中绘制出幅频和相频曲线,其中幅相曲线对纵坐标与横坐标均为对数分度。.16freqs()函数freqs用于计算由矢量a和b构成的模拟滤所谓根轨迹是指,当开环系统某一参数从零变到无穷大时,闭环系统特征方程的根在s平面上的轨迹。一般来说,这一参数选作开环系统的增益K,而在无零极点对消时,闭环系统特征方程的根就是闭环传递函数的极点。根轨迹分析方法是分析和设计线性定常控制系统的图解方法,使用十分简便。利用它可以对系统进行各种性能分析根轨迹分析方法的概念控制系统的根轨迹分析.17所谓根轨迹是指,当开环系统某一参数从零变到无穷大时,闭环系统(1)稳定性当开环增益K从零到无穷大变化时,图中的根轨迹不会越过虚轴进入右半s平面,因此这个系统对所有的K值都是稳定的。如果根轨迹越过虚轴进入右半s平面,则其交点的K值就是临界稳定开环增益。(2)稳态性能开环系统在坐标原点有一个极点,因此根轨迹上的K值就是静态速度误差系数,如果给定系统的稳态误差要求,则可由根轨迹确定闭环极点容许的范围。(3)动态性能当0<K<0.5时,所有闭环极点位于实轴上,系统为过阻尼系统,单位阶跃响应为非周期过程;当K=0.5时,闭环两个极点重合,系统为临界阻尼系统,单位阶跃响应仍为非周期过程,但速度更快;当K>0.5时,闭环极点为复数极点,系统为欠阻尼系统,单位阶跃响应为阻尼振荡过程,且超调量与K成正比。.18(1)稳定性.18通常来说,绘制系统的根轨迹是很繁琐的事情,因此在教科书中介绍的是一种按照一定规则进行绘制的概略根轨迹。在MATLAB中,专门提供了绘制根轨迹的有关函数。pzmap:绘制线性系统的零极点图rlocus:求系统根轨迹。rlocfind:计算给定一组根的根轨迹增益。sgrid:在连续系统根轨迹图和零极点图中绘制出阻尼系数和自然频率栅格。根轨迹分析函数.19通常来说,绘制系统的根轨迹是很繁琐的事情,因MATLAB提供了函数pzmap()来绘制系统的零极点图,其用法如下:[p,z]=pzmap(a,b,c,d):返回状态空间描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。[p,z]=pzmap(num,den):返回传递函数描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。pzmap(a,b,c,d)或pzmap(num,den):不带输出参数项,则直接在s复平面上绘制出系统对应的零极点位置,极点用×表示,零点用o表示。pzmap(p,z):根据系统已知的零极点列向量或行向量直接在s复平面上绘制出对应的零极点位置,极点用×表示,零点用o表示。零极点图绘制.20MATLAB提供了函数pzmap()来绘制系统的零极点图,其MATLAB提供了函数rlocus()来绘制系统的根轨迹图,其用法如下:rlocus(a,b,c,d)或者rlocus(num,den):根据SISO开环系统的状态空间描述模型和传递函数模型,直接在屏幕上绘制出系统的根轨迹图。开环增益的值从零到无穷大变化。rlocus(a,b,c,d,k)或rlocus(num,den,k):通过指定开环增益k的变化范围来绘制系统的根轨迹图。r=rlocus(num,den,k)或者[r,k]=rlocus(num,den):不在屏幕上直接绘出系统的根轨迹图,而根据开环增益变化矢量k,返回闭环系统特征方程1+k*num(s)/den(s)=0的根r,它有length(k)行,length(den)-1列,每行对应某个k值时的所有闭环极点。或者同时返回k与r。若给出传递函数描述系统的分子项num为负,则利用rlocus函数绘制的是系统的零度根轨迹。(正反馈系统或非最小相位系统)根轨迹图绘制.21MATLAB提供了函数rlocus()来绘制系统的根轨迹图,rlocfind()函数MATLAB提供了函数rlocfind()来找出给定的一组根(闭环极点)对应的根轨迹增益。其用法如下:[k,p]=rlocfind(a,b,c,d)或者[k,p]=rlocfind(num,den)它要求在屏幕上先已经绘制好有关的根轨迹图。然后,此命令将产生一个光标以用来选择希望的闭环极点。命令执行结果:k为对应选择点处根轨迹开环增益;p为此点处的系统闭环特征根。不带输出参数项[k,p]时,同样可以执行,只是此时只将k的值返回到缺省变量ans中。.22rlocfind()函数MATLAB提供了函数rlocfinsgrid()函数sgrid:在现存的屏幕根轨迹或零极点图上绘制出自然振荡频率wn、阻尼比矢量z对应的格线。sgrid(‘new’):是先清屏,再画格线。sgrid(z,wn):则绘制由用户指定的阻尼比矢量z、自然振荡频率wn的格线。.23sgrid()函数sgrid:在现存的屏幕根轨迹或零极点图上控制系统的分析是进行控制系统设计的基础,同时也是工程实际当中解决问题的主要方法,因而对控制系统的分析在控制系统仿真中具有举足轻重的作用。通过求取系统的零极点增益模型直接获得系统的零极点,从而可以直接对控制系统的稳定性及是否为最小相位系统作出判断。控制系统的经典分析方法(时域、频域分析)是目前控制系统界进行科学研究的主要方法,是进行控制系统设计的基础,要求熟练掌握单位阶跃响应、波特图等常用命令的使用。根轨迹分析是求解闭环特征方程根的简单的图解方法,要求熟练掌握根轨迹的绘制。小结.24控制系统的分析是进行控制系统设计的基础,同时也是工程实际当中Matlab软件工具在控制系统分析和综合中的应用.25Matlab软件工具.25Matlab软件工具

在控制系统分析和综合中的应用Matlab基本特点控制系统在Matlab中的描述进行部分分式展开控制系统的时间响应分析控制系统的频域响应分析控制系统的根轨迹图系统稳定性分析Simulink仿真工具.26Matlab软件工具

在控制系统分析和综合中的应用Matla1、matlab基本特点Matlab简介:1980年前后,美国moler博士构思并开发;最初的matlab版本是用fortran语言编写,现在的版本用c语言改写;1992年推出了具有划时代意义的matlab4.0版本;并于1993年推出了其windows平台下的微机版,现在比较新的版本是6.5版.271、matlab基本特点.27Matlab语言特点:Matlab以复数矩阵为最基本的运算单元,既可以对它整体地进行处理,也可以对它的某个或某些元素进行单独地处理。在matlab中,数据的存储/输入/输出都是以矩阵为基础的,矩阵和其它变量不需要预先定义。matlab语言最基本的赋值语句结构为变量名列表=表达式.28Matlab语言特点:Matlab以复数矩阵为最基本的运算单等号右边的表达式可以由分号结束,也可以由逗号或换行结束,但它们的含义是不同的。如果用分号结束,则左边的变量结果将不在屏幕上显示出来,否则将把左边返回矩阵的内容全部显示出来。如»

A=[1,0,1;1,0,0;2,1,0];

»B=[1,0,2;2,1,1;1,0,1]B=102211101.29等号右边的表达式可以由分号结束,也可以由逗号或换行结束,但它在matlab下,矩阵A和矩阵B的乘积(假定其中A,B矩阵是可乘的)可以简单地由运算C=A*B求出»

C=A*BC=203102415.30在matlab下,矩阵A和矩阵B的乘积(假定.30而D=A.*B称点乘积运算,即表示A和B矩阵的相应元素之间直接进行乘法运算,然后将结果赋给D矩阵,点乘积运算要求A和B矩阵的维数相同。»

D=A.*BD=102200200.31而D=A.*B称点乘积运算,即表示A和B矩阵.31

Matlab下提供了两种文件格式:m文件,matlab函数M文件是普通的ascii码构成的文件,在这样的文件中只有由matlab语言所支持的语句,类似于dos下的批处理文件,它的执行方式很简单,用户只需在matlab的提示符>>下键入该m文件的文件名,这样matlab就会自动执行该m文件中的各条语句。它采用文本方式,编程效率高,可读性很强。.32Matlab下提供了两种文件格式:m文件,matlaMatlab函数是最常用的特殊m文件,该函数是由function语句引导,其基本格式如下Function返回变量列表=函数名(输入量列表)注释说明语句段函数体语句调用时在matlab的提示符下键入函数名,并包括输入变量。类似于c语言的子程序调用。如Functionplot_sin(xmin,xmax)X=xmin:min(0.01,(xmax-xmin)/100):xmax;Plot(x,sin(x));%Thisisademo.33Matlab函数是最常用的特殊m文件,该函数是由functi2、控制系统在matlab中的描述

要分析系统,首先需要能够描述这个系统。例如用传递函数的形式描述系统.342、控制系统在matlab中的描述.34在matlab中,用num=[b1,b2,…,bm,bm1]和den=[a1,a2,…,an,an1]分别表示分子和分母多项式系数,然后利用下面的语句就可以表示这个系统

sys=tf(num,den)其中tf()代表传递函数的形式描述系统,还可以用零极点形式来描述,语句为

sys1=zpk(sys)

.35在matlab中,用num=[b1,b2,…,bm,bm1]而且传递函数形式和零极点形式之间可以相互转化,语句为

[z,p,k]=tf2zp(num,den)[num,den]=zp2tf(z,p,k)当传递函数复杂时,应用多项式乘法函数conv()等实现。例如

den1=[1,2,2]den2=[2,3,3,2]den=conv(den1,den2).36而且传递函数形式和零极点形式之间可以相互转化,语句为.363、进行部分分式展开

对于下列传递函数.373、进行部分分式展开对于下列传递函数.37num和den分别表示传递函数的分子和分母的系数,即

num=[bo,bl,…,bn]den=[1,al.…,an]命令[r,p,k]=residue(num,den)将求出传递函数的部分分式展开式中的留数、极点和余项,即得到

.38num和den分别表示传递函数的分子和分母的系数,即.38例:对于下列系统传递函数.39例:对于下列系统传递函数.39分子分母表示为

num=[0,1,3]den=[1,3,2]采用命令[r,p,k]=residue(num,den)得到[r,p,k]=residue(num,den).40分子分母表示为.40r=2.0000-1.0000p=-1.0000-2.0000k=[]即.41r=2.0000.41反之,利用下列命令

[num,den]=residue(r,p,k)可以将部分分式展开式返回到传递函数多项式之比的形式,即得到[num,den]=residue(r,p,k)num=0.00001.00003.0000den=1.00003.00002.0000.42反之,利用下列命令.42当包含m重极点时,部分分式展开式将包括下列m项:.43当包含m重极点时,部分分式展开式将包括下列m项:.43例对于下列系统传递函数分子分母表示为

num=[0,1,2,3]den=[1,3,3,1]采用命令[r,p,k]=residue(num,den).44例对于下列系统传递函数.44得到num=[0123];den=[1331];[r,p,k]=residue(num,den).45.45r=1.00000.00002.0000p=-1.0000-1.0000-l.0000k=[]即.46r=.464、线性系统的时间响应分析Matlab的Control工具箱提供了很多线性系统在特定输入下仿真的函数,例如连续时间系统在阶跃输入激励下的仿真函数step(),脉冲激励下的仿真函数impulse()及任意输入激励下的仿真函数lsim()等,其中阶跃响应函数step()的调用格式[y,x]=step(sys,t)或[y,x]=step(sys).474、线性系统的时间响应分析Matlab的Control工具箱其中sys可以由tf()或zpk()函数得到,t为选定的仿真时间向量,如果不加t,仿真时间范围自动选择。此函数只返回仿真数据而不在屏幕上画仿真图形,返回值y为系统在各个仿真时刻的输出所组成的矩阵,而x为自动选择的状态变量的时间响应数据。如果用户对具体的响应数值不感兴趣,而只想绘制出系统的阶跃响应曲线,则可以由如下的格式调用step(sys,t)或step(sys).48其中sys可以由tf()或zpk()函数得到,t为选定的仿真求取脉冲响应的函数impulse()和step()函数的调用格式完全一致,而任意输入下的仿真函数lsim()的调用格式稍有不同,因为在此函数的调用时还应该给出一个输入表向量,该函数的调用格式为[y,x]=lsim(sys,u,t).49求取脉冲响应的函数impulse()和step()函数的调用式中,u为给定输入构成的列向量,它的元素个数应该和t的个数是一致的。当然该函数若调用时不返回参数,也可以直接绘制出响应曲线图形。例如

sys=tf(num,den)t=0:0.01:5;u=sin(t);lsim(sys,u,t)为单输入模型sys对u(t)=sin(t)在5秒之内的输入响应仿真。.50式中,u为给定输入构成的列向量,它的元素个数应该和t的个数是MATLAB还提供了离散时间系统的仿真函数,包括阶跃响应函数dstep(),脉冲响应函数dimpulse()和任意输入响应函数dlsim()等,它们的调用方式和连续系统的不完全一致,读者可以参阅MATLAB的帮助,如在MATLAB的提示符>>下键入helpdstep来了解它们的调用方式

.51MATLAB还提供了离散时间系统的仿真函数,包括阶跃响应函数时域分析常用函数如下:

step-阶跃响应impulse-脉冲响应lsim-对指定输入的连续输出gensig-对LSIM产生输入信号stepfun-产生单位阶跃输入.52时域分析常用函数如下:.52例对于下列系统传递函数下列MATLABPrograml1.1将给出该系统的单位阶跃响应曲线。该单位阶跃响应曲线如图1所示。.53例对于下列系统传递函数.53----MATLABPrograml1.1----num=[0,0,50];den=[25,2,1];step(num,den)gridtitle('Unit-StepResponseofG(s)=50/(25s^2+2s+1)').54----MATLABPrograml1.1----.54.55.55例考虑下列系统

试求该系统的单位阶跃响应曲线。

虽然用MATLAB求该系统的单位阶跃响应曲线时,不需要求它的传递函数表达式,这里导出这种表达式,以便作为参考。

对于给定的系统,传递矩阵G(s)为

.56例考虑下列系统

试求该系统的单位阶跃响应曲线。

.57.57

该系统包含两个输入量和两个输出量,根据考虑不同的输入信号和输出信号,可以定义4个传递函数。当考虑信号u1为输入量时,我们假设u2为零,反之亦然。这4个传递函数为.58该系统包含两个输入量和两个输出量,根据考虑不同的输入信号利用下列命令:

step(A,B,C,D)

可以画出4个单独的阶跃响应曲线,程序如下:

A=[-1-1;6.50];B=[11;10];C=[10;01];D=[00;00];step(A,B,C,D).59利用下列命令:

step(A,B,C,D)

可以画出4个单独

.60.60例对于下列系统传递函数下列MATLABPrograml1.2将给出该系统的单位脉冲响应曲线。该单位脉冲响应曲线如图2所示。.61例对于下列系统传递函数.61----MATLABPrograml1.2----num=[0,0,50];den=[25,2,1];impulse(num,den)gridtitle('Unit-ImpulseResponseofG(s)=50/(25s^2+2s+1)').62----MATLABPrograml1.2----.62.63.63在MATLAB中没有斜坡响应命令,可利用阶跃响应命令求斜坡响应,先用s除G(s),再利用阶跃响应命令。例如,考虑下列闭环系统:对于单位斜坡输人量下列MATLABPrograml1.3给出该系统单位斜坡响应曲线。该单位斜坡响应曲线如图3所示。.64在MATLAB中没有斜坡响应命令,可利用阶跃响应命令求斜----MATLABPrograml1.3----num=[0,0,0,50];den=[25,2,1,0];t=0:0.01:100;step(num,den,t)gridtitle('Unit-SteprampResponseofG(s)=50/(25s^2+2s+1)').65----MATLABPrograml1.3----.65.66.665、控制系统的频域响应分析已知系统的传递函数模型如第2节所示,则该系统的频率响应为可以由下面的语句来实现,如果有一个频率向量w,则Gw=polyval(num,sqrt(-1)*w)./polyval(den,sqrt(-1)*w);其中num和den分别为系统的分子分母多项式系数向量。.675、控制系统的频域响应分析已知系统的传递函数模型如第2节所示

频率响应曲线绘制

MATLAB提供了多种求取并绘制系统频率响应曲线的函数,如Bode图绘制函数bode(),Nyquist曲线绘制函数nyquist()等,其中bode()函数的调用格式为[m,p]=bode(num,den,w)这里,num,den和前面的叙述一样,w为频率点构成的向量,该向量最好由logspace()函数构成。m,p分别代表Bode响应的幅值向量和相位向量。.68

频率响应曲线绘制

.68如果用户只想绘制出系统的Bode图,而对获得幅值和相位的具体数值并不感兴趣,则可以由以下更简洁的格式调用bode()函数bode(num,den,w)或更简洁地bode(num,den)这时该函数会自动地根据模型的变化情况选择一个比较合适的频率范围。.69如果用户只想绘制出系统的Bode图,而对获得幅值和相位的具体Nyquist曲线绘制函数nyquist()类似于bode()函数,可以利用helpnyquist来了解它的调用方法。在分析系统性能的时候经常涉及到系统的幅值裕量与相位裕量的问题,使用Control工具箱提供的margin()函数,可以直接求出系统的幅值裕量与相位裕量,该函数的调用格式为[Gm,Pm,wcg,wcp]=margin(num,den).70Nyquist曲线绘制函数nyquist()类似于bode(可以看出,该函数能直接由系统的传递函数来求取系统的幅值裕量Gm和相位裕度裕量Pm,并求出幅值裕量和相位裕量处相应的频率值wcg和wcp。.71可以看出,该函数能直接由系统的传递函数来求取系统的幅值裕量G常用频域分析函数如下:

bode-频率响应伯德图

nyquist-频率响应乃奎斯特图

nichols-频率响应尼柯尔斯图

freqresp-求取频率响应数据

margin-幅值裕量与相位裕量

pzmap-零极点图使用时可以利用他们的帮助,如helpbode。另外,命令ltiview可以画时域响应和频域响应图,利用helpltiview查看使用说明。.72常用频域分析函数如下:.72例对于下列系统传递函数下列MATLABPrograml1.4将给出该系统对应的伯德图。其伯德图如图4所示。

.73例对于下列系统传递函数.73----MATLABPrograml1.4----num=[0,0,50];den=[25,2,1];bode(num,den)gridtitle('BodeDiagramofG(s)=50/(25s^2+2s+1)').74----MATLABPrograml1.4----.74.75.75如果希望从0.01弧度/秒到1000弧度/秒画伯德图,可输入下列命令:

w=logspace(-2,3,100)bode(num,den,w)该命令在0.01弧度/秒和100弧度/秒之间产生100个在对数刻度上等距离的点.76如果希望从0.01弧度/秒到1000弧度/秒画.76例对于下列系统传递函数

下列MATLABPrograml1.5将给出该系统对应的伯德图。其伯德图如图5所示。.77例对于下列系统传递函数.77----MATLABPrograml1.5----num=[10,30];den1=[1,2,0];den2=[1,1,2];den=conv(den1,den2);w=logspace(-2,3,100);bode(num,den,w)gridtitle('BodeDiagramofG(s)=10(s+3)/s(s+2)(s^2+s+2)').78----MATLABPrograml1.5----.78.79.79例对于下列系统传递函数

下列MATLABPrograml1.6将给出该系统对应的乃奎斯图。其乃奎斯特图如图6所示。----MATLABPrograml1.6----num=[0,0,50];den=[25,2,1,];nyquist(num,den)title('NyquistPlotofG(s)=50/(25s^2+2s+1)').80例对于下列系统传递函数.80.81.81例考虑由下列方程定义的系统:

该系统包含两个输入量和两个输出量。这里存在4种正弦输出-输入关系:Y1(jω)/Ul(jω)、Y2(jω)/Ul(jω)、Y1(jω)/U2(jω)和Y2(jω)/U2(jω)。试画出该系统的奈魁斯特图。.82例考虑由下列方程定义的系统:

该系统包含两个MATLABProgram10

A=[-1-1;6.50];B=[11;10];C=[10;01];D=[00;00];nyquist(A,B,C,D).83MATLABProgram10

A=[-1-1;6..84.846、控制系统的根轨迹图

通常采用下列MATLAB命令画根轨迹

rlocus(num,den)利用该命令,可以在屏幕上得到画出的根轨迹图。增益向量K自动被确定。命令rlocus既适用于连续系统,也适用于离散时间系统。对于定义在状态空间内的系统,其命令为

rlocus(A,B,C,D)MATLAB在绘图命令中还包含自动轴定标功能。.856、控制系统的根轨迹图通常采用下列MATLAB命令画根轨迹例对于一单位反馈控制系统,其开环传递函数为

下列MATLABPrograml1.7将给出该系统对应的根轨迹图。其根轨迹图如图7所示。.86例对于一单位反馈控制系统,其开环传递函数为.86---------MATLABPrograml1.7-----------num=[1,3];den1=[1,2,0];den2=[1,1,2];den=conv(den1,den2);rlocus(num,den)v=[-1010-1010];axis(v)gridtitle('Root-LocusPlotofG(s)=K(s+3)/s(s+2)(s^2+s+2)').87---------MATLABPrograml1.7--.88.887、系统稳定性分析给定一个控制系统,可利用MATLAB在它的时域、频域图形分析中看出系统的稳定性,并可直接求出系统的相角裕量和幅值裕量。此外,我们还可通过求出特征根的分布更直接地判断出系统稳定性。如果闭环系统所有的特征根都为负实部则系统稳定。.897、系统稳定性分析给定一个控制系统,可利用MATLAB在它的例如,给出控制系统闭环传递函数为»

num=[3,2,1,4,2]num=32142»den=[3,5,1,2,2,1]den=351221»[z,p]=tf2zp(num,den).90例如,给出控制系统闭环传递函数为.90z=0.4500+0.9870i0.4500-0.9870i-1.0000-0.5666p=-1.60670.4103+0.6801i0.4103-0.6801i-0.4403+0.3673i-0.4403-0.3673I»pzmap(num,den).91z=.91.92.92»

ii=find(real(p)>0)ii=23»n1=length(ii)n1=2»if(n1>0),disp(['Systemisunstable,with'int2str(n1)'unstablepoles']);elsedisp('Syatemisstable');end.93»ii=find(real(p)>0).93Systemisunstable,with2unstablepoles»disp('Theunstablepolesare:'),disp(p(ii))Theunstablepolesare:0.4103+0.6801i0.4103-0.6801i以上求出具体的零极点、画出零极点分布、明确指出系统不稳定,并指出引起系统不稳定的具体右根。.94Systemisunstable,with2unst8、Simulink仿真工具如果控制系统的结构很复杂,则若不借助专用的系统建模软件,在过去很难准确地把一个控制系统的复杂模型输入给计算机,对之进行分析和仿真。1990年MathWorks软件公司为MATLAB提供了新的控制系统模型图形输入与仿真工具,命名为SIMULINK,这一名字的含义相当直观,SIMU(仿真)与LINK(连接),亦即可以利用鼠标器在模型窗口上“画”出所需的控制系统模型,然后利用SIMULINK提供的功能来对系统进行仿真或线性化。这种法的一个优点是,可以使得一个很复杂系统的输入变得相当容易且直观。.958、Simulink仿真工具如果控制系统的结构很复杂,则若不

首先根据一个例子来说明控制系统框图模型的建立,这是一个简化的调速系统。我们看如何利用Simulink工具输入这个框图,然后再进行分析。具体利用Simulink建立框图的方法见网络辅助教学中“控制工程基础”第11章有关内容。.96首先根据一个例子来说明控制系统框图模型的建立,这是一个下图是Matlab中Simulink工具建立的例题框图。可以点击图中Simulation下的start图标开始仿真,然后双击框图中的scope,查看仿真图形。其他仿真命令大家可以自行学习。.97下图是Matlab中Simulink工具建立的例题框图。可以控制系统的分析方法MATLAB技术应用.98控制系统的分析方法MATLAB技术应用.1控制系统的分析方法早期的控制系统分析过程复杂而耗时,如想得到一个系统的冲激响应曲线,首先需要编写一个求解微分方程的子程序,然后将已经获得的系统模型输入计算机,通过计算机的运算获得冲激响应的响应数据,然后再编写一个绘图程序,将数据绘制成可供工程分析的响应曲线。MATLAB控制系统工具箱和SIMULINK辅助环境的出现,给控制系统分析带来了福音。控制系统的分析包括系统的稳定性分析、时域分析、频域分析及根轨迹分析。.99控制系统的分析方法早期的控制系统分析过程复杂而耗时,如想对于连续时间系统,如果闭环极点全部在S平面左半平面,则系统是稳定的。对于离散时间系统,如果系统全部极点都位于Z平面的单位圆内,则系统是稳定的。若连续时间系统的全部零极点都位于S左半平面;或若离散时间系统的全部零极点都位于Z平面单位圆内,则系统是最小相位系统。系统稳定及最小相位系统判据控制系统的稳定性分析.100对于连续时间系统,如果闭环极点全部在S平面左半平面,则系统是2、直接判别MATLAB提供了直接求取系统所有零极点的函数,因此可以直接根据零极点的分布情况对系统的稳定性及是否为最小相位系统进行判断。系统稳定及最小相位系统的判别方法1、间接判别(工程方法)劳斯判据:劳斯表中第一列各值严格为正,则系统稳定,如果劳斯表第一列中出现小于零的数值,系统不稳定。胡尔维茨判据:当且仅当由系统分母多项式构成的胡尔维茨矩阵为正定矩阵时,系统稳定。.1012、直接判别系统稳定及最小相位系统的判别方法1、间接判别(工ii=find(条件式)用来求取满足条件的向量的下标向量,以列向量表示。例如条件式real(p>0),其含义就是找出极点向量p中满足实部的值大于0的所有元素下标,并将结果返回到ii向量中去。这样如果找到了实部大于0的极点,则会将该极点的序号返回到ii下。如果最终的结果里ii的元素个数大于0,则认为找到了不稳定极点,因而给出系统不稳定的提示,若产生的ii向量的元素个数为0,则认为没有找到不稳定的极点,因而得出系统稳定的结论。pzmap(p,z)根据系统已知的零极点p和z绘制出系统的零极点图.102ii=find(条件式)例如条件式real(p>0一个动态系统的性能常用典型输入作用下的响应来描述。响应是指零初始值条件下某种典型的输入函数作用下对象的响应,控制系统常用的输入函数为单位阶跃函数和脉冲激励函数(即冲激函数)。在MATLAB的控制系统工具箱中提供了求取这两种输入下系统响应的函数。时域分析的一般方法求取系统单位阶跃响应:step()求取系统的冲激响应:impulse()控制系统的时域分析.103一个动态系统的性能常用典型输入作用下的响应来描述。响应是指零y=step(num,den,t):其中num和den分别为系统传递函数描述中的分子和分母多项式系数,t为选定的仿真时间向量,一般可以由t=0:step:end等步长地产生出来。该函数返回值y为系统在仿真时刻各个输出所组成的矩阵。[y,x,t]=step(A,B,C,D,iu):其中A,B,C,D为系统的状态空间描述矩阵,iu用来指明输入变量的序号。x为系统返回的状态轨迹。如果对具体的响应值不感兴趣,而只想绘制系统的阶跃响应曲线,可调用以下的格式:step(num,den);step(num,den,t);step(A,B,C,D,iu,t);step(A,B,C,D,iu);线性系统的稳态值可以通过函数dcgain()来求取,其调用格式为:dc=dcgain(num,den)或dc=dcgain(a,b,c,d)[y,x,t]=step(num,den):此时时间向量t由系统模型的特性自动生成,

状态变量x返回为空矩阵。step()函数的用法.104y=step(num,den,t):其中num和den分别为求取脉冲激励响应的调用方法与step()函数基本一致。y=impulse(num,den,t);[y,x,t]=impulse(num,den);[y,x,t]=impulse(A,B,C,D,iu,t)impulse(num,den);impulse(num,den,t)impulse(A,B,C,D,iu);impulse(A,B,C,D,iu,t)impulse()函数的用法.105求取脉冲激励响应的调用方法与step()函数基本一致。imp对于典型二阶系统根据其响应时间的估算公式可以确定。对于高阶系统往往其响应时间很难估计,一般采用试探的方法,把t选大一些,看看响应曲线的结果,最后再确定其合适的仿真时间。一般来说,先不指定仿真时间,由MATLAB自己确定,然后根据结果,最后确定合适的仿真时间。在指定仿真时间时,步长的不同会影响到输出曲线的光滑程度,一般不易取太大。仿真时间t的选择.106对于典型二阶系统根据其响应时间的估算公式

时间响应探究系统对输入和扰动在时域内的瞬态行为,系统特征如:上升时间、调节时间、超调量和稳态误差都能从时间响应上反映出来。MATLAB除了提供前面介绍的对系统阶跃响应、冲激响应等进行仿真的函数外,还提供了大量对控制系统进行时域分析的函数,如:covar:连续系统对白噪声的方差响应initial:连续系统的零输入响应lsim:连续系统对任意输入的响应对于离散系统只需在连续系统对应函数前加d就可以,如dstep,dimpulse等。它们的调用格式与step、impulse类似,可以通过help命令来察看自学。常用时域分析函数.107时间响应探究系统对输入和扰动在时域内的瞬态行控制系统的频域分析频率响应是指系统对正弦输入信号的稳态响应,从频率响应中可以得出带宽、增益、转折频率、闭环稳定性等系统特征。频率特性是指系统在正弦信号作用下,稳态输出与输入之比对频率的关系特性。频率特性函数与传递函数有直接的关系,记为:频域分析的一般方法求取系统对数频率特性图(波特图):bode()求取系统奈奎斯特图(幅相曲线图或极坐标图):nyquist()频域分析法是应用频率特性研究控制系统的一种典型方法。采用这种方法可直观地表达出系统的频率特性,分析方法比较简单,物理概念比较明确,对于诸如防止结构谐振、抑制噪声、改善系统稳定性和暂态性能等问题,都可以从系统的频率特性上明确地看出其物理实质和解决途经。通常将频率特性用曲线的形式进行表示,包括对数频率特性曲线和幅相频率特性曲线简称幅相曲线,MATLAB提供了绘制这两种曲线的函数。.108控制系统的频域分析频率响应是指系统对正弦输入信号的稳态响应,1、对数频率特性图(波特图)对数频率特性图包括了对数幅频特性图和对数相频特性图。横坐标为频率w,采用对数分度,单位为弧度/秒;纵坐标均匀分度,分别为幅值函数20lgA(w),以dB表示;相角,以度表示。MATLAB提供了函数bode()来绘制系统的波特图,其用法如下:bode(a,b,c,d):自动绘制出系统的一组Bode图,它们是针对连续状态空间系统[a,b,c,d]的每个输入的Bode图。其中频率范围由函数自动选取,而且在响应快速变化的位置会自动采用更多取样点。bode(a,b,c,d,iu):可得到从系统第iu个输入到所有输出的波特图。bode(num,den):可绘制出以连续时间多项式传递函数表示的系统的波特图。bode(a,b,c,d,iu,w)或bode(num,den,w):可利用指定的角频率矢量绘制出系统的波特图。当带输出变量[mag,pha,w]或[mag,pha]引用函数时,可得到系统波特图相应的幅值mag、相角pha及角频率点w矢量或只是返回幅值与相角。相角以度为单位,幅值可转换为分贝单位:magdb=20×log10(mag).1091、对数频率特性图(波特图)对数频率特性图包括了对数幅频特性2、奈奎斯特图(幅相频率特性图)对于频率特性函数G(jw),给出w从负无穷到正无穷的一系列数值,分别求出Im(G(jw))和Re(G(jw))。以Re(G(jw))为横坐标,Im(G(jw))为纵坐标绘制成为极坐标频率特性图。MATLAB提供了函数nyquist()来绘制系统的极坐标图,其用法如下:nyquist(a,b,c,d):绘制出系统的一组Nyquist曲线,每条曲线相应于连续状态空间系统[a,b,c,d]的输入/输出组合对。其中频率范围由函数自动选取,而且在响应快速变化的位置会自动采用更多取样点。nyquist(a,b,c,d,iu):可得到从系统第iu个输入到所有输出的极坐标图。nyquist(num,den):可绘制出以连续时间多项式传递函数表示的系统的极坐标图。nyquist(a,b,c,d,iu,w)或nyquist(num,den,w):可利用指定的角频率矢量绘制出系统的极坐标图。当不带返回参数时,直接在屏幕上绘制出系统的极坐标图(图上用箭头表示w的变化方向,负无穷到正无穷)。当带输出变量[re,im,w]引用函数时,可得到系统频率特性函数的实部re和虚部im及角频率点w矢量(为正的部分)。可以用plot(re,im)绘制出对应w从负无穷到零变化的部分。.1102、奈奎斯特图(幅相频率特性图)对于频率特性函数G(jw),MATLAB除了提供前面介绍的基本频域分析函数外,还提供了大量在工程实际中广泛应用的库函数,由这些函数可以求得系统的各种频率响应曲线和特征值。如:margin:求幅值裕度和相角裕度及对应的转折频率freqs:模拟滤波器特性nichols:求连续系统的尼科尔斯频率响应曲线(即对数幅相曲线)ngrid:尼科尔斯方格图常用频域分析函数.111MATLAB除了提供前面介绍的基本频域分析函数外,还提供了大margin()函数margin函数可以从频率响应数据中计算出幅值裕度、相角裕度以及对应的频率。幅值裕度和相角裕度是针对开环SISO系统而言,它指示出系统闭环时的相对稳定性。当不带输出变量引用时,margin可在当前图形窗口中绘制出带有裕量及相应频率显示的Bode图,其中幅值裕度以分贝为单位。幅值裕度是在相角为-180度处使开环增益为1的增益量,如在-180度相频处的开环增益为g,则幅值裕度为1/g;若用分贝值表示幅值裕度,则等于:-20*log10(g)。类似地,相角裕度是当开环增益为1.0时,相应的相角与180度角的和。margin(mag,phase,w):由bode指令得到的幅值mag(不是以dB为单位)、相角phase及角频率w矢量绘制出带有裕量及相应频率显示的bode图。margin(num,den):可计算出连续系统传递函数表示的幅值裕度和相角裕度并绘制相应波特图。类似,margin(a,b,c,d)可以计算出连续状态空间系统表示的幅值裕度和相角裕度并绘制相应波特图。[gm,pm,wcg,wcp]=margin(mag,phase,w):由幅值mag(不是以dB为单位)、相角phase及角频率w矢量计算出系统幅值裕度和相角裕度及相应的相角交界频率wcg、截止频率wcp,而不直接绘出Bode图曲线。.112margin()函数margin函数可以从频率响应数据中计算freqs()函数freqs用于计算由矢量a和b构成的模拟滤波器H(s)=B(s)/A(s)的幅频响应。h=freqs(b,a,w)用于计算模拟滤波器的幅频响应,其中实矢量w用于指定频率值,返回值h为一个复数行向量,要得到幅值必须对它取绝对值,即求模。[h,w]=freqs(b,a)自动设定200个频率点来计算频率响应,这200个频率值记录在w中。[h,w]=freqs(b,a,n)设定n个频率点计算频率响应。不带输出变量的freqs函数,将在当前图形窗口中绘制出幅频和相频曲线,其中幅相曲线对纵坐标与横坐标均为对数分度。.113freqs()函数freqs用于计算由矢量a和b构成的模拟滤所谓根轨迹是指,当开环系统某一参数从零变到无穷大时,闭环系统特征方程的根在s平面上的轨迹。一般来说,这一参数选作开环系统的增益K,而在无零极点对消时,闭环系统特征方程的根就是闭环传递函数的极点。根轨迹分析方法是分析和设计线性定常控制系统的图解方法,使用十分简便。利用它可以对系统进行各种性能分析根轨迹分析方法的概念控制系统的根轨迹分析.114所谓根轨迹是指,当开环系统某一参数从零变到无穷大时,闭环系统(1)稳定性当开环增益K从零到无穷大变化时,图中的根轨迹不会越过虚轴进入右半s平面,因此这个系统对所有的K值都是稳定的。如果根轨迹越过虚轴进入右半s平面,则其交点的K值就是临界稳定开环增益。(2)稳态性能开环系统在坐标原点有一个极点,因此根轨迹上的K值就是静态速度误差系数,如果给定系统的稳态误差要求,则可由根轨迹确定闭环极点容许的范围。(3)动态性能当0<K<0.5时,所有闭环极点位于实轴上,系统为过阻尼系统,单位阶跃响应为非周期过程;当K=0.5时,闭环两个极点重合,系统为临界阻尼系统,单位阶跃响应仍为非周期过程,但速度更快;当K>0.5时,闭环极点为复数极点,系统为欠阻尼系统,单位阶跃响应为阻尼振荡过程,且超调量与K成正比。.115(1)稳定性.18通常来说,绘制系统的根轨迹是很繁琐的事情,因此在教科书中介绍的是一种按照一定规则进行绘制的概略根轨迹。在MATLAB中,专门提供了绘制根轨迹的有关函数。pzmap:绘制线性系统的零极点图rlocus:求系统根轨迹。rlocfind:计算给定一组根的根轨迹增益。sgrid:在连续系统根轨迹图和零极点图中绘制出阻尼系数和自然频率栅格。根轨迹分析函数.116通常来说,绘制系统的根轨迹是很繁琐的事情,因MATLAB提供了函数pzmap()来绘制系统的零极点图,其用法如下:[p,z]=pzmap(a,b,c,d):返回状态空间描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。[p,z]=pzmap(num,den):返回传递函数描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。pzmap(a,b,c,d)或pzmap(num,den):不带输出参数项,则直接在s复平面上绘制出系统对应的零极点位置,极点用×表示,零点用o表示。pzmap(p,z):根据系统已知的零极点列向量或行向量直接在s复平面上绘制出对应的零极点位置,极点用×表示,零点用o表示。零极点图绘制.117MATLAB提供了函数pzmap()来绘制系统的零极点图,其MATLAB提供了函数rlocus()来绘制系统的根轨迹图,其用法如下:rlocus(a,b,c,d)或者rlocus(num,den):根据SISO开环系统的状态空间描述模型和传递函数模型,直接在屏幕上绘制出系统的根轨迹图。开环增益的值从零到无穷大变化。rlocus(a,b,c,d,k)或rlocus(num,den,k):通过指定开环增益k的变化范围来绘制系统的根轨迹图。r=rlocus(num,den,k)或者[r,k]=rlocus(num,den):不在屏幕上直接绘出系统的根轨迹图,而根据开环增益变化矢量k,返回闭环系统特征方程1+k*num(s)/den(s)=0的根r,它有length(k)行,length(den)-1列,每行对应某个k值时的所有闭环极点。或者同时返回k与r。若给出传递函数描述系统的分子项num为负,则利用rlocus函数绘制的是系统的零度根轨迹。(正反馈系统或非最小相位系统)根轨迹图绘制.118MATLAB提供了函数rlocus()来绘制系统的根轨迹图,rlocfind()函数MATLAB提供了函数rlocfind()来找出给定的一组根(闭环极点)对应的根轨迹增益。其用法如下:[k,p]=rlocfind(a,b,c,d)或者[k,p]=rlocfind(num,den)它要求在屏幕上先已经绘制好有关的根轨迹图。然后,此命令将产生一个光标以用来选择希望的闭环极点。命令执行结果:k为对应选择点处根轨迹开环增益;p为此点处的系统闭环特征根。不带输出参数项[k,p]时,同样可以执行,只是此时只将k的值返回到缺省变量ans中。.119rlocfind()函数MATLAB提供了函数rlocfinsgrid()函数sgrid:在现存的屏幕根轨迹或零极点图上绘制出自然振荡频率wn、阻尼比矢量z对应的格线。sgrid(‘new’):是先清屏,再画格线。sgrid(z,wn):则绘制由用户指定的阻尼比矢量z、自然振荡频率wn的格线。.120sgrid()函数sgrid:在现存的屏幕根轨迹或零极点图上控制系统的分析是进行控制系统设计的基础,同时也是工程实际当中解决问题的主要方法,因而对控制系统的分析在控制系统仿真中具有举足轻重的作用。通过求取系统的零极点增益模型直接获得系统的零极点,从而可以直接对控制系统的稳定性及是否为最小相位系统作出判断。控制系统的经典分析方法(时域、频域分析)是目前控制系统界进行科学研究的主要方法,是进行控制系统设计的基础,要求熟练掌握单位阶跃响应、波特图等常用命令的使用。根轨迹分析是求解闭环特征方程根的简单的图解方法,要求熟练掌握根轨迹的绘制。小结.121控制系统的分析是进行控制系统设计的基础,同时也是工程实际当中Matlab软件工具在控制系统分析和综合中的应用.122Matlab软件工具.25Matlab软件工具

在控制系统分析和综合中的应用Matlab基本特点控制系统在Matlab中的描述进行部分分式展开控制系统的时间响应分析控制系统的频域响应分析控制系统的根轨迹图系统稳定性分析Simulink仿真工具.123Matlab软件工具

在控制系统分析和综合中的应用Matla1、matlab基本特点Matlab简介:1980年前后,美国moler博士构思并开发;最初的matlab版本是用fortran语言编写,现在的版本用c语言改写;1992年推出了具有划时代意义的matlab4.0版本;并于1993年推出了其windows平台下的微机版,现在比较新的版本是6.5版.1241、matlab基本特点.27Matlab语言特点:Matlab以复数矩阵为最基本的运算单元,既可以对它整体地进行处理,也可以对它的某个或某些元素进行单独地处理。在matlab中,数据的存储/输入/输出都是以矩阵为基础的,矩阵和其它变量不需要预先定义。matlab语言最基本的赋值语句结构为变量名列表=表达式.125Matlab语言特点:Matlab以复数矩阵为最基本的运算单等号右边的表达式可以由分号结束,也可以由逗号或换行结束,但它们的含义是不同的。如果用分号结束,则左边的变量结果将不在屏幕上显示出来,否则将把左边返回矩阵的内容全部显示出来。如»

A=[1,0,1;1,0,0;2,1,0];

»B=[1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论