欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    matlab的freqa函数用法.ppt

    • 资源ID:6511973       资源大小:4.76MB        全文页数:367页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    matlab的freqa函数用法.ppt

    第4章控制系统的仿真分析,4.1 控制系统的稳定性分析 4.2 控制系统的时域分析 4.3 控制系统的频域分析 4.4 控制系统的根轨迹分析 4.5 控制系统的校正,4.1控制系统的稳定性分析 稳定是控制系统能够正常运行的首要条件。控制系统稳定性的严格定义和理论阐述是由俄国学者李雅普诺夫于1892年提出的,它主要用于判别时变系统和非线性系统的稳定性。稳定性的一般定义是:设一线性定常系统原来处于某一平衡状态,若它瞬间受到某一扰动作用而偏离了原来的平衡状态,当此扰动撤消后,系统仍能回到原有的平衡状态,则称该系统是稳定的。反之,系统为不稳定的。线性系统的稳定性取决于系统的固有特征(结构、参数),与系统的输入信号无关。,基于稳定性研究的问题是扰动作用撤消后系统的运动情况,它与系统的输入信号无关,只取决于系统本身的特征,因而可用系统的脉冲响应函数来描述。如果脉冲响应函数是收敛的,即有,(41),则表示系统仍能回到原有的平衡状态,因而系统是稳定的。由此可知,系统的稳定与其脉冲响应函数的收敛是一致的。由于单位脉冲函数的拉普拉斯变换等于1,因此系统的脉冲响应函数就是系统闭环传递函数的拉普拉斯反变换。,因此,连续系统的稳定性可以根据闭环极点在平面内的位置予以确定,如果一个连续系统的闭环极点都位于左半s平面,则该系统是稳定的。离散系统的稳定性可以根据闭环极点在z平面的位置予以确定。如果一个离散系统的闭环极点都位于z平面的单位圆内,则该系统是稳定的。,按照常规的求取微分方程的根,再根据根的实部来判断系统稳定性的方法往往工作量会很大,且不易进行,因而一般都采取间接的方法来判断系统的稳定性。例如常用的方法主要有罗斯(Routh)表和朱利(Jury)表,这样做比用求根判断稳定的方法要简单许多,而且这些方法都已经经过了数学上的证明,是完全有理论根据,且实用性非常好。但是,随着计算机功能的进一步完善和MATLAB语言的出现,一般在工程实际当中已经不再采用这些方法了,因为从前面章节的介绍可以看出,用MATLAB提供的函数可以直接求出控制系统的所有极点,所以用户也就没有必要再去编写程序来使用间接的方法判断系统的稳定性了。,直接求根的方法具有比间接判断更多的优势,因为它除了可以直接求出线性系统的极点,判断系统的稳定性外,同时还可以判断系统是否为最小相位系统。从控制理论可知,所谓最小相位系统,首先是指一个稳定的系统,同时对于连续系统而言,系统的所有零点都位于s平面的左半平面,即零点的实部小于零,对于一个离散系统而言,系统的所有零点都位于z平面的单位圆内。很显然,只要知道了系统的所有零点即可以判断系统是否为最小相位系统了。从前面的章节可知,只要知道了系统的模型,不论哪种形式的数学模型,都可以很方便地由MATLAB求系统的零极点,从而判断系统的稳定性以及判断系统是否为最小相位系统,而这一点对于工程实际而言是十分重要的。,4.1.1间接判别法线性系统稳定的充要条件就是闭环特征方程式的根必须都位于s的左半平面。能否找到一种不用求根而直接判别系统稳定性的方式,这就是所谓的间接判别方法。令系统的闭环特征方程为,(42),由数学知识可以知道如果方程式的根都是负实部,或其实部为负的复数根,则其特征方程式的各项系数均为正值,且无零系数。,劳斯稳定判据就是直接根据特征方程的系数来判别系统稳定性的一种间接方法(不用直接求根,因为求根很复杂),它是由劳斯于1877年首先提出的。设系统特征方程式如(42)所示,将各项系数,按下面的格式排成劳斯表:,这样可求得n+1行系数。,罗斯稳定判据规则:根据所列罗斯表第一列系数符号的变化,就可以判别特征方程式根在s平面上的具体分布,过程如下:(1)如果罗斯表中第一列的系数均为正值,则其特征方程式的根都在s的左半平面,相应的系统是稳定的。(2)如果罗斯表中第一列系数的符号有变化,则其变化的次数等于该特征方程式的根在s的右半平面上的个数,相应的系统为不稳定系统。,【例4.1】已知一调速系统的特征方程式为:s3+41.5s2+517s+2.3104=0,试用罗斯判据判别系统的稳定性。解列罗斯表:,4.1.2直接判别法1直接求根判定系统稳定性以往在分析系统的稳定性时,在特征方程不易求根的情况下,常采用间接的方法来判定系统的稳定性,如利用罗斯表稳定判据判定系统稳定性。但随着MATLAB语言的出现,利用MATLAB直接对特征方程求根判定系统稳定性已变得轻而易举。并且MATLAB提供了直接求取系统所有零极点的函数,因此可以直接根据零极点的分布情况对系统的稳定性以及是否为最小相位系统进行判断。,所谓最小相位系统,对连续系统来说,除了系统本身是稳定的,系统的所有零点还都必须位于左半s平面;对离散系统来说,除了系统本身稳定之外,系统的所有零点都必须位于z平面的单位圆内。很显然,利用MATLAB对稳定系统的零点情况进行分析即可判定系统是否为最小相位系统。,【例4.2】已知单位负反馈系统的开环传递函数为,可以输入下面的MATLAB程序来判别系统的稳定性。执行下面的文件:numo=1;deno=23154;numc=numo;denc=numo+deno;%求系统闭环传递函数的分子分母多项式系数,z,p=tf2zp(numc,denc)ii=find(real(p)0);n=length(ii);%闭环极点实部大于0的个数if(n0),disp(systemisunable);end运行结果为z=Emptymatrix:0-by-1p=0.4357+1.0925j0.4357-1.0925j-1.2048-1.0000systemisunable,说明:z,p=tf2zp(numc,denc)为变系统多项式传递函数为零点、极点形式;函数real(p)表示极点p的实部;find()函数用来得到满足指定条件的数组下标向量。本例中的条件式real(p0),其含义就是找出极点向量p中满足实部的值大于0的所有元素下标,并将结果返回到ii向量中去。这样如果找到了实部大于0的极点,则会将该极点的序号返回到ii下。如果最终的结果里ii的元素个数大于0,则认为找到了不稳定极点,因而给出系统不稳定的提示,若产生的ii向量的元素个数为0,则认为没有找到不稳定的极点,因而得出系统稳定的结论。,【例4.3】已知一个离散控制系统的闭环传递函数为,输入下面的MATLAB语句来判定系统的稳定性。,执行下面的文件:num=21.561;den=51.4-1.30.68;z,p=tf2zp(num,den)ii=find(abs(p)1);n=length(ii);if(n0),disp(systemisunable);elsedisp(systemisable);end,运行结果为z=-0.3900+0.5898j-0.3900-0.5898jp=-0.80910.2645+0.3132j0.2645-0.3132jsystemisable说明:函数abs(p)表示取极点p的绝对值或幅值(复数)。,【例4.4】已知某系统的状态方程为,要求判断系统的稳定性及系统是否为最小相位系统。,执行下面的M文件:clearclccloseall%系统描述a=12-12;2630;47-8-5;7216;b=-1001;c=-2561;d=7;%求系统的零极点z,p,k=ss2zp(a,b,c,d)%检验零点的实部;求取零点实部大于零的个数,ii=find(real(z)0)n1=length(ii);%检验极点的实部;求取极点实部大于零的个数jj=find(real(p)0)n2=length(jj);%判断系统是否稳定if(n20)disp(thesystemisunstable)disp(theunstablepoleare:)disp(p(jj)elsedisp(thesystemisstable)end,%判断系统是否为最小相位系统if(n10)disp(thesystemisanonminimalphaseone)elsedisp(thesystemisaminimalphaseone)end%绘制零极点图pzmap(p,z),在本例中,find()函数的条件式为real(p)0和real(z)0。对于前者而言,其含义在于求出p矩阵中实部大于0的所有元素的下标,并将结果返回到ii总数组中去。这样,如果找到了实部大于0的极点,即认为找到了不稳定的极点,因而给出系统不稳定的提示,若产生的ii向量的元素个数为0,即认为没有找到不稳定的极点,因而系统稳定。条件real(z)0则是判断该系统是否为最小相位系统,其判断方法与稳定性判断相同。,该程序运行结果如下所示:z=-2.52608.0485+0.5487j8.0485-0.5487j-8.9995p=-2.4242-8.26567.8449+0.3756j7.8449-0.3756j,k=7ii=23jj=34thesystemisunstabletheunstablepoleare:7.8449+0.3756j7.8449-0.3756jthesystemisanonminimalphaseone,从运行结果可以看出该系统是一个不稳定系统,也是一个非最小相位系统。该系统的零点和极点分别为:z=-2.51508.0242+0.5350j8.0242-0.5350j-8.9085p=-2.4242-8.26567.8449+0.3756j7.8449-0.3756j即极点和零点均在s平面右半平面,其零点和极点分别如图41所示。在零极点分布图中,一般由叉号表示极点,圈号表示零点。,图41系统零极点分布图,【例4.5】系统的传递函数为,判断系统的稳定性,以及系统是否为最小相位系统。执行下面的M文件:clearclccloseall%系统描述num=3164128;den=11411052814942117112;,%求系统的零极点z,p,k=tf2zp(num,den)%检验零点的实部;求取零点实部大于零的个数ii=find(real(z)0)n1=length(ii);%检验极点的实部;求取极点实部大于零的个数jj=find(real(p)0)n2=length(jj);%判断系统是否稳定if(n20)disp(thesystemisunstable)disp(theunstablepoleare:)disp(p(jj)else,disp(thesystemisstable)end%判断系统是否为最小相位系统if(n10)disp(thesystemisanonminimalphaseone)elsedisp(thesyetemisaminimalphaseone)end%绘制零极点图pzmap(p,z),这里首先调用tf2zp()这个函数求取系统的零点和极点,然后用例4.4中的方法来判断系统的稳定性与是否为最小相位系统。运行结果如下所示:z=-2.1667+2.1538j-2.1667-2.1538j-1.0000p=-1.9474+5.0282j-1.9474-5.0282j-4.2998-2.8752+2.8324j-2.8752-2.8324j-0.0550,k=3ii=0jj=0thesystemisstablethesyetemisaminimalphaseone即该系统是稳定的,且是最小相位系统,其零极点分布如图42所示。,图42系统零极点分布图,【例4.6】已知某离散系统的开环传递函数为,判断系统是否稳定,以及系统是否为最小相位系统。执行下面的M文件:HJ*4/9numo=164892;deno=103000;%求闭环系统的传递函数,numc=numo;denc=deno+numo;%求系统的零极点z,p=tf2zp(numc,denc);ii=find(abs(z)1);n1=length(ii);jj=find(abs(p)1);n2=length(jj);if(n10)disp(ThesystemisaNonminimalPhaseOne.);else(ThesystemisaMinimalPhaseOne.);endif(n20)disp(ThesystemisUnstable.);,%如果系统不稳定,则显示出不稳定的极点disp(The Unstable Poles are:);disp(p(jj)elsedisp(The system is Stable.);end%绘制零极点图pzmap(p,z);title(The Poles and Zero map of a Discrate System);hold;%绘制单位圆x=-1:0.001:1;y1=(1-x.2).0.5;y2=-(1-x.2).0.5;plot(x,y1,x,y2);,运行结果如下所示:The system is a Nonminimal Phase One.The system is Unstable.The Unstable Polesare:0+1.7321j0-1.7321j,从运行结果可以看出,该系统是不稳定的离散系统,不稳定极点如上面运行结果所示,同时该系统也是一个非最小相位系统。注意到本例中判断系统的稳定性方法和判断系统是否为最小相位系统的方法与连续系统的不同,这是因为在离散系统中,系统稳定应满足所有极点都在z平面的单位圆内,系统为最小相位系统应满足所有零点都在单位圆内,因而作相应的调整,如本例中程序所示,即判断所有极点的模是否大于1和所有零点的模是否大于1。该离散系统的零极点分布如图43所示。从图中可以看出,该系统有四个极点和三个零点位于单位圆以外。因而该系统并不是最小相位系统,同时也不是稳定系统,这与直接由本例中程序所运算出的结果是完全符合的。,图43系统零极点分布图,2绘制系统零极点图判定稳定性在MATLAB中,还可以利用pzmap()和zplane()函数形象地绘出连续离散系统的零极点图,从而判断系统的稳定性。【例4.7】考虑例4.2,可输入以下MATLAB语句来绘制连续系统的零极点图,零极点图如图44所示。,图44系统零极点分布图,执行下面的M文件:numo=1;deno=23154;numc=numo;denc=numo+deno;pzmap(numc,denc)由图44可看出,该系统有两个极点位于右半平面,所以很容易判断此连续系统是不稳定的。,【例4.8】考虑例4.3,可输入以下MATLAB语句来绘制离散系统的零极点图,零极点图如图45所示。,图45系统零极点分布图,执行下面的M文件:um=21.561;den=51.4-1.30.68;pzmap(num,den);%绘制单位圆hold;x=-1:0.001:1;y1=(1-x.2).0.5;y2=-(1-x.2).0.5;plot(x,y1,x,y2);,3Lyapunov稳定性判据早在1892年,Lyapunov就提出了一种可普遍适用于线性、非线性系统稳定性分析的方法。稳定性是相对于某个平衡状态而言的。因为线性定常系统只有唯一的一个平衡点,所以我们可以笼统地讲系统的稳定性问题。但对于其他类型系统则有可能存在多个平衡点,不同平衡点有可能表现出不同的稳定性,因此必须分别加以讨论。,对于线性定常系统,Lyapunov稳定性判据基于以下定理。设线性定常系统为,(43),如果对任意给定的正定实对称矩阵W,均存在正定矩阵V满足下面的方程:,(44),则称系统是稳定的,上述方程称为Lyapunov方程。MATLAB中,Lyapunov方程可以由控制系统工具箱中提供的lyap()函数求解,该函数的调用格式为:VLyap(A,W)。,【例4.9】已知系统的状态方程为,试分析系统的稳定性。,输入以下MATLAB语句判定上述系统的稳定性:A=2.25-5-1.25-0.5;2.25-4.25-1.25-0.25;0.25-0.5-1.25-1;1.25-1.75-0.25-0.75;W=diag(1111);V=lyap(A,W);运行结果为V=5.86172.6931-0.76222.35182.69311.7113-0.83021.2974-0.7622-0.83021.2694-0.86232.35181.2974-0.86231.8465,输入以下MATLAB语句判定矩阵V是否正定:delt1=det(V(1,1)delt2=det(V(2,2)delt3=det(V(3,3)delt4=det(V)运行结果为delt1=5.8617det2=1.7113det3=1.2694det4=1.2124,4.2控制系统的时域分析 4.2.1时域分析的一般方法 1控制系统的性能指标控制系统的阶跃响应曲线如图46所示。1)动(暂)态性能指标控制系统的动(暂)态响应性能指标是在零初始条件下,通过系统单位阶跃响应的特征来定义的。典型的动(暂)态响应性能指标有:上升时间r、峰值时间tp、最大超调量p、调整时间ts。上述性能指标是这样定义的:,图46 系统的阶跃响应曲线,(1)上升时间tr:暂态过程中,系统单位阶跃响应第一次到达稳态值的时间称为上升时间。(2)峰值时间tp:单位阶跃响应曲线到达第一个峰值的时间称为峰值时间。(3)最大超调量p:系统阶跃响应最大值ymax和稳态值y()的差值与稳态值v(s)的比值定义为最大超调量,即,(45),最大超调量的数值直接说明了系统的相对稳定性。,(4)调整时间ts:系统输出衰减到一定误差带内,并且不再超出误差带的时间称为调整时间。相对误差带一般取2或5。注意:上述性能指标定义的前提为系统是稳定的。稳定控制系统的单位阶跃响应有衰减振荡和单调变化两种,以上是针对系统阶跃响应曲线在衰减振荡情况下定义的性能指标。若系统单位阶跃响应曲线单调变化,则无峰值时间tp和最大超调量p,调整时间ts定义不变,上升时间tr定义为响应曲线达到稳态值90时的时间,即y(tr)=y()90%。,2)稳态性能指标(稳态误差ess)稳态误差是描述系统稳态性能的一种性能指标,是通常在阶跃函数、斜坡函数或加速度函数的作用下进行测定或计算的。若时间趋于无穷大,系统的输出量不等于输入量或输入量的确定函数,则系统存在稳态误差。稳态误差是系统控制精度或抗扰动能力的一种度量。如果一个线性控制系统是稳定的,那么从任何初始条件开始,经过一段时间就可以认为它的过渡过程已经结束,进入与初始条件无关而仅由外作用决定的状态,即稳态。控制系统在稳态下的精度如何,这是它的一个重要的技术指标,通常用稳态下输出量的要求值与实际值之间的差来衡量。如果这个差是常数,则称为稳态误差。,2.二阶系统的数学模型和动态性能指标计算1)二阶系统的闭环传递函数二阶系统的典型结构如图47所示。闭环传递函数为,(46),式中:T为受控对象的时间常数,K为受控对象的增益,(46)式可改写成标准形式:,(47),式中:n为无阻尼自然振荡频率,;为阻尼比,,图47二阶系统的结构图,2)二阶系统动态性能指标的计算(01的欠阻尼情况)(1)上升时间:,式中:,(2)峰值时间:,(3)超调量:,(4)调整时间:,(5)其他性能指标(衰减指数m和衰减率):衰减指数:,衰减率:,3高阶系统的动态响应和简化分析高阶系统的动态响应,在工程中常采用主导极点的概念进行简化分析。对于高阶复杂系统,通常采取将高阶系统分解成一阶和二阶环节的方法,即用部分分式展开法(PFE,PartialFractionExpansion)将高阶系统分解。设高阶系统闭环传递函数的一般形式为,(48),将上式的分子与分母进行因式分解,可得,(49),由于Y(s)R(s)的分子与分母多项式均为实数多项式,故zi和pi只可能是实数或共轭复数。设系统的输入信号为单位阶跃函数,即,(410),式中,Nq2r,q为实极点的个数,r为复数极点的对数。,将式(410)用部分分式展开,得,(411),对上式求反变换得,(412),由(412)式可知:(1)高阶系统时域响应的瞬态分量是由一阶系统(惯性环节)和二阶系统(振荡环节)的响应函数组成的。其中输入信号(控制信号)极点所对应的拉普拉斯反变换为系统响应的稳态分量,传递函数极点所对应的拉普拉斯反变换为系统响应的瞬态分量。(2)系统瞬态分量的形式由闭环极点的性质所决定,而系统调整时间的长短与闭环极点负实部绝对值的大小有关。如果闭环极点远离虚轴,则相应的瞬态分量就衰减得快,系统的调整时间也就较短。而闭环零点只影响系统瞬态分量幅值的大小和符号。,(3)如果所有闭环的极点均具有负实部,则由(412)式可知,随着时间的推移,式中所有的瞬态分量(指数项和阻尼正弦(余弦)项)将不断地衰减趋于零,最后该式的右边只剩t。由输入信号极点所确定的稳态分量A0项,表示过渡结束后,系统的输出量(被控制量)仅与输入量(控制量)有关。闭环极点均位于s左半平面的系统,称为稳定系统。(4)如果闭环传递函数中有一极点-pk距坐标原点很远,即有,(413),其中pk、pj和zj均为正值(i=1,2,n;j=1,2,m,ik),则当nm时,极点-pk所对应的瞬态分量不仅持续时间很短,而且其相应的幅值亦较小,因而由它产生的瞬态分量可略去不计。如果闭环传递函数中某一个极点-pk与某一个零点-zr十分接近,即有,(414),则极点-pk对应瞬态分量的幅值很小,因而它在系统响应中所占百分比很小,可忽略不计。,(5)主导极点。如果系统中有一个(极点或一对)复数极点距虚轴最近,且附近没有闭环零点,其他闭环极点与虚轴的距离都比该极点与虚轴距离大5倍以上,则此系统的响应可近似地视为由这个(或这对)极点所产生。这是因为这种极点所决定的瞬态分量不仅持续时间最长,而且其初始幅值也大,充分体现了它在系统响应中的主导作用,故称其为系统的主导极点。高阶系统的主导极点通常为一对复数极点。在设计高阶系统时,人们常利用主导极点这个概念选择系统的参数,使系统具有预期的一对主导极点,从而把一个高阶系统近似地用一对主导极点的二阶系统去表征。,4非线性系统时域响应对于非线性系统,不仅只有在满足定条件下才有解析解,而且通常求时域响应解的过程非常复杂。所以,研究非线性系统一般不需求得其时域响应的精确解,而是把注意力集中在分析非线性系统时域响应的性质上。出于非线性系统的特殊性和复杂性,在工程上,往往根据非线性情况的不同采用不同的时域分析方法,如小偏差线性化方法、相平面法、描述函数法等。,1)滞后系统的时域响应分析在实际控制系统中,对象模型中经常会存在纯滞后环节,包含纯滞后环节的系统称为滞后系统。设滞后系统的框图如图48所示,该系统的闭环传递函数为,(415),对于上述滞后系统,分析它的时域响应,在控制工程中,常常利用近似技术将时间延迟环节近似为线性环节来处理,通常将时间延迟环节表示成有理传递函数的形式。,2)滞后系统的近似时域分析在MATLAB的控制系统工具箱中,相应地给出了一个pade()函数,该函数可以求取时间延迟环节的近似传递函数模型。典型n阶pade近似传递函数模型为,(416),MATLAB中,pade()函数的调用格式为np,dp=pade(Tau,n),其中,Tau为延迟时间;n为pade近似的阶次。pade近似后得到的有理传递函数模型的分子、分母系数分别在np、dp变量中返回(系数按s降幂排列)。将图48所示的滞后系统中的时间延迟环节用pade近似来取代,可得系统的近似闭环传递函数为:,(417),这是一个代数方程,从而可以直接使用step()和impulse()函数对闭环延迟系统进行近似分析。,4.2.2常用时域分析函数时间响应探究系统对输入和扰动在时域内的瞬态行为,其系统特征如上升时间、调节时间、超调量和稳态误差等都能从时间响应上反映出来。MATLAB除了提供前面介绍的对系统阶跃响应、冲激响应等进行仿真的函数外,还提供了大量对控制系统进行时域分析的函数,如表4.1所示。,表4.1常用时域分析函数,对于离散系统只需在连续系统对应函数前加d就可以,如dstep、dimpulse等。它们的调用格式与step、impulse类似,可以通过help命令来察看。对于控制系统而言,系统的数学模型实际上是某种微分方程或差分方程,因而在仿真过程中需要以某种数值算法从给定的初始值出发,逐步计算出每一个时刻系统的响应,即系统的时间响应,最后绘制出系统的响应曲线,由此来分析系统的性能。,1initial()求连续系统的零输入响应y,x,tinitial(A,B,C,D,x0)y,x,tinitial(A,B,C,D,x0,t)initial()函数可以计算出连续时间线性系统由于初始状态所引起的响应(即零输入响应)。当该函数不带输出变量时,加initial()函数会在屏幕上绘制出系统的零输入响应曲线。,y,x,tinitial(A,B,C,D,x0)可绘制连续时间线性时不变系统每一个响应曲线,x0为初始状态,时间矢量由MATLAB自动选取。y,x,tinitial(A,B,C,D,x0,t)可得到指定时间矢量t。当带输出变量引用函数时,可得到系统零输入响应的输出数据,而不直接绘制出零输入响应曲线。,【例4.10】某三阶系统如下所示:,当初始状态x0=100时,求该系统的零输入响应。执行下面的M文件:A=1-10.5;2-20.3;1-4-0.1;B=001;C=001;D=0;x0=100;t=0:0.1:20;initial(A,B,C,D,x0,t);title(TheInitialConditionResponse);运行后得到的响应曲线如图49所示。,图49系统响应曲线,2dinitial()求离散系统的零输入响应y,x=dinitial(A,B,C,D,x0)y,x=dinitial(A,B,C,D,x0,t)dinitial()函数可以计算出离散时间线性系统由于初始状态所引起的响应(即零输入响应)。当不带输出变量引用该函数时,该函数可以直接在屏幕上绘制出系统的零输入响应曲线。,y,x=dinitial(A,B,C,D,x0)可绘制离散时间线性时不变系统每一个输出的零输入响应曲线,x0为初始状态,时间矢量由MATLAB自动选取。y,x=dinitial(A,B,C,D,x0,t)可直接指定时间矢量t。当带输出变量引用该函数时,可得到系统零输入响应的输出数据,而不直接绘制出零输入响应曲线。,【例4.11】离散二阶系统如下所示:,当系统的初始状态为x0=10T时,求系统的零输入响应。,执行下面的M文件:A=-0.6-0.3162;0.31620;B=10;C=2.46.0083;D=1;x0=10;dinitial(A,B,C,D,x0);运行后得到该离散系统的零输入响应如图410所示。,图410离散系统的零输入响应,3lsim()对任意输入的连续系统进行仿真 y,xlsim(A,B,C,D,u,t),xlsim(A,B,C,D,u,t,x0)y,xlsim(num,den,u,t)lsim()函数可以对任意输入的连续系统进行仿真,在不带输出变量引用该函数时,lsim()函数可以在屏幕上绘制出系统输出响应曲线。,对于给定的线性时不变系统如下:,y,xlsim(A,B,C,D,u,t)函数可以针对输入u绘制出系统的输出曲线,其中u给出了每个输入的时间序列,因此在一般情况下u应为矩阵;t用于指定仿真的时间轴,它应为等间隔的。,xlsim(A,B,C,D,u,t,x0)还可以指定初始状态x0。y,xlsim(num,den,u,t)以传递函数形式指定仿真系统。,【例4.12】已知某系统如下所示:,求周期为6s的方波输出响应。执行下面的M文件:num=1.00006.800013.85008.0500;den=1.000011.200046.400088.400077.400025.2000;t=0:0.1:15;%构造周期为6的方波period=6;u=(rem(t,period)=period./2);lsim(num,den,u,t);,图411系统的输出响应曲线,4dlsim()对任意输入的离散系统进行仿真y,xdlsim(A,B,C,D,u)y,xdlsim(A,B,C,D,u,x0)y,xdlsim(num,den,u)dlsim()函数可以对任意输入的离散系统进行仿真,在不带输出变量引用该函数时,dlsim()函数可以在屏幕上绘制出系统输出响应曲线。y,xdlsim(A,B,C,D,u,t)函数可以针对输入u绘制出系统的输出曲线,其中u给出了每个输入的取样值。y,xdlsim(A,B,C,D,u,t,x0)还可以指定初始状态x0。y,xdlsim(num,den,u,t)以传递函数形式指定仿真系统。,【例4.13】某二阶系统为,执行下面的语句:num=2-3.41.5;den=1-1.60.8;u=rand(50,1);dlsim(num,den,u),图412系统的响应,5step()对任意输入的离散系统进行仿真y=step(num,den,t)其中num和den分别为系统传递函数描述中的分子和分母多项式系数,t为选定的仿真时间向量,一般可以由t=0:step:end等步长地产生。该函数返回值y为系统在仿真时刻各个输出所组成的矩阵。y,x,t=step(num,den)此时时间向量t由系统模型的特性自动生成,状态变量x返回为空矩阵。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),【例4.14】已知系统的开环传递函数为,求系统在单位负反馈下的阶跃响应曲线。,执行下面的M文件:clcclearcloseall%开环传递函数描述num=20;den=1836400;%求闭环传递函数numc,denc=cloop(num,den);,%绘制闭环系统的阶跃响应曲线t=0:0.1:10;y=step(numc,denc,t);y1,x,t1=step(numc,denc);%对于传递函数调用,状态变量x返回为空矩阵plot(t,y,r:,t1,y1)title(thestepresponce)xlabel(time-sec)%求稳态值disp(系统稳态值dc为:)dc=dcgain(numc,denc)clcclearclosealla=-21,19,-20;19-2120;40-40-40;,b=0;1;2;c=102;d=0;%绘制闭环系统的阶跃响应曲线%g=ss(a,b,c,d);%y,t,x=step(g);y,x,t=step(a,b,c,d);figure(1)plot(t,y)title(thestepresponce)xlabel(time-sec)figure(2)%绘制状态变量的轨迹plot(t,x)系统稳态值为:dc=1,图413系统的响应(a)闭环系统的阶跃响应曲线;(b)状态变量的轨迹,6impulse函数对任意输入的离散系统进行仿真impulse函数的格式:除了函数名用impulse代替step外,其格式与step函数相似。输出的结果是脉冲响应曲线和数据。例如,可用impulse(G)、impulse(G,tend)等。impulse()函数的用法与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),【例4.15】已知系统的开环传递函数为,求系统在单位负反馈下的脉冲激励响应曲线。执行下面的M文件:clcclearclose%开环传递函数描述numo=20;deno=1836400;,%求闭环传递函数numc,denc=cloop(numo,deno,-1);%绘制闭环系统的脉冲激励响应曲线t=1:0.1:10;y,x=impulse(numc,denc,t);plot(t,y)title(theimpulseresponce)xlabel(time-sec),图414闭环系统的脉冲激励响应曲线,【例4.16】已知某典型二阶系统的传递函数为,求系统的阶跃响应曲线。执行下面的M文件:clcclearclose%系统传递函数描述wn=5;alfh=0.6;num=wn2;,den=12*alfh*wnwn2;%绘制闭环系统的阶跃响应曲线t=0:0.02:5;y=step(num,den,t);plot(t,y)title(twoorderslinearsystemstepresponce)xlabel(time-sec)ylabel(y(t)grid on,图415二阶闭环系统的阶跃响应曲线,【例4.17】已知某闭环系统的传递函数为,求其阶跃响应曲线。执行下面的M文件:clcclearclose%系统传递函数描述,num=1025;den=0.161.961025;%绘制闭环系统的阶跃响应曲线t=0:0.02:5;y=step(num,den,t);plot(t,y)xlabel(time-sec)ylabel(y(t)grid,图416三阶闭环系统的阶跃响应曲线,【例4.18】系统传递函数为,绘制系统的阶跃响应曲线。执行下面的M文件:clcclearcloseallnum=1;den=conv(10.15,1234);,%绘制系统的阶跃响应曲线t=0:0.1:40;y=step(num,den,t);t1=0:1:40;y1=step(num,den,t1);plot(t,y,r,t1,y1)该高阶系统的阶跃响应曲线如图417所示。,图417高阶系统的阶跃响应曲线,仿真时间t的选择:对于典型二阶系统根据其响应时间的估算公式 可以确定。对于高阶系统往往其响应时间很难估计,一般来说,先不指定仿真时间,由MATLAB自己确定,然后根据结果,确定合适的仿真时间。在指定仿真时间时,不同的步长会影响到输出曲线的光滑程度,一般不易取太大。,7subs函数对任意输入的离散系统进行仿真subs函数的格式:subs(s,new)该函数用于符号表达式s中符号变量的替代,因此,可用于计算符号函数的值。例如,用new的值代替表达式中的符号,计算有关表达式的值。在本节应用中,s是拉普拉斯反变换式,其中,约定的符号变量是t,程序中用向量tt0:.2:50替代变量t,从而得到输出响应数据。,除了上面介绍的获得系统输出响应的方法外,根据各响应之间的关系,还可以通过已知的阶跃响应获得脉冲响应或斜坡响应,或从脉冲响应获得阶跃响应等。设线性系统的脉冲响应是Yimpulse,阶跃响应是Ystep,斜坡响应是Yramp,则有,【例4.19】已知一阶惯性环节阶跃响应的数据,计算它的脉冲响应和斜坡响应。程序如下:figure(pos,120,130,270,400,color,w);axes(pos,0.120.650.80.2);t=0:99;ystep=1-exp(-t/20);plot(ystep);grid;axes(pos,0.120.400.80.2);yimp=diff(ystep);plot(yimp);grid;axes(pos,0.120.150.80.2);yramp(1)=ystep(1);fori=2:10yramp(i)=yramp(i-1)+ystep(i)end;plot(yrampp);grid;,图418系统的仿真结果(a)总的响应曲线;(b)阶跃响应曲线;(c)脉冲响应曲线;(d)斜坡响应曲线,也可用符号变量,即:symst;ystep=1-exp(

    注意事项

    本文(matlab的freqa函数用法.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开