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

    控制工程基础-控制系统的计算机仿真.ppt

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

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

    控制工程基础-控制系统的计算机仿真.ppt

    2023/11/14,第七章 控制系统的综合与校正,1,控制工程基础,第十章 Matlab软件工具在控制系 统分析和综合中的应用 主讲人:赵治国副教授,2023/11/14,第七章 控制系统的综合与校正,2,主要内容,Matlab基本特点 控制系统在Matlab中的描述 进行部分分式展开 控制系统的时间响应分析 控制系统的频域响应分析 控制系统的根轨迹图 系统稳定性分析 Simulink仿真工具,2023/11/14,第七章 控制系统的综合与校正,3,Matlab基本特点(1),Matlab简介:1980年前后,美国moler博士构思并开发;最初的matlab版本是用fortran语言编写,现在的版本用c语言改写;1992年推出了具有划时代意义的matlab 4.0版本;并于1993年推出了其windows平台下的微机版,现在比较新的版本是7.1版,2023/11/14,第七章 控制系统的综合与校正,4,Matlab基本特点(2),Matlab以复数矩阵为最基本的运算单元,既可以对它整体地进行处理,也可以对它的某个或某些元素进行单独地处理。在Matlab中,数据的存储/输入/输出都是以矩阵为基础的,矩阵和其它变量不需要预先定义。Matlab语言最基本的赋值语句结构为 变量名列表=表达式,2023/11/14,第七章 控制系统的综合与校正,5,matlab基本特点(3),等号右边的表达式可以由分号结束,也可以由逗号或换行结束,但它们的含义是不同的。如果用分号结束,则左边的变量结果将不在屏幕上显示出来,否则将把左边返回矩阵的内容全部显示出来。如 A=1,0,1;1,0,0;2,1,0;B=1,0,2;2,1,1;1,0,1B=1 0 2 2 1 1 1 0 1,2023/11/14,第七章 控制系统的综合与校正,6,matlab基本特点(4),在Matlab下,矩阵A和矩阵B的乘积(假定其中A,B矩阵是可乘的)可以简单地由运算C=A*B求出 C=A*BC=2 0 3 1 0 2 4 1 5,2023/11/14,第七章 控制系统的综合与校正,7,而D=A.*B称点乘积运算,即表示A和B矩阵的相应元素之间直接进行乘法运算,然后将结果赋给D矩阵,点乘积运算要求A和B矩阵的维数相同。D=A.*BD=1 0 2 2 0 0 2 0 0,matlab基本特点(5),Matlab下提供了两种文件格式:m文件,matlab函数M文件是普通的ascii码构成的文件,在这样的文件中只有由matlab语言所支持的语句,类似于dos下的批处理文件,它的执行方式很简单,用户只需在matlab的提示符下键入该m文件的文件名,这样matlab就会自动执行该m文件中的各条语句。它采用文本方式,编程效率高,可读性很强。Matlab函数是最常用的特殊m文件,这样的函数是由function语句引导,其基本格式如下 Function 返回变量列表=函数名(输入变量列表)注释说明语句段 函数体语句调用时在matlab的提示符下键入函数名,并包括输入变量。类似于c语言的子程序调用。如Function plot_sin(xmin,xmax)X=xmin:min(0.01,(xmax-xmin)/100):xmax;Plot(x,sin(x);%This is a demo,2023/11/14,第七章 控制系统的综合与校正,9,控制系统在Matlab中的描述,要分析系统,首先需要能够描述这个系统。例如用传递函数的形式描述系统,在matlab中,用num=b1,b2,bm,bm1和den=a1,a2,an,an1分别表示分子和分母多项式系数,然后利用下面的语句就可以表示这个系统 sys=tf(num,den)其中tf()代表传递函数的形式描述系统,还可以用零极点形式来描述,语句为 sys1=zpk(sys)而且传递函数形式和零极点形式之间可以相互转化,语句为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),2023/11/14,第七章 控制系统的综合与校正,11,进行部分分式展开(1),对于下列传递函数,2023/11/14,第七章 控制系统的综合与校正,12,num和den分别表示传递函数的分子和分母的系数,即 numbo,bl,bn den1,al.,an命令 r,p,kresidue(num,den)将求出传递函数的部分分式展开式中的留数、极点和余项,即得到,进行部分分式展开(2),例:对于下列系统传递函数分子分母表示为 num0,1,3 den1,3,2采用命令r,p,kresidue(num,den)得到 r,p,kresidue(num,den)r20000 10000p100002.0000k即,反之,利用下列命令 num,denresidue(r,p,k)可以将部分分式展开式返回到传递函数多项式之比的形式,即得到 num,denresidue(r,p,k)num0.0000 1.0000 3.0000den=1.0000 3.0000 2.0000,当包含m重极点时,部分分式展开式将包括下列m项:,例 对于下列系统传递函数分子分母表示为 num0,1,2,3 den1,3,3,1采用命令r,p,kresidue(num,den),得到num0 1 2 3;den1 3 3 1;r,p,kresidue(num,den)r1.00000.00002.0000p1.00001.0000l.0000k即,2023/11/14,第七章 控制系统的综合与校正,17,线性系统的时间响应分析(1),Matlab的Control工具箱提供了很多线性系统在特定输入下仿真的函数,例如连续时间系统在阶跃输入激励下的仿真函数step(),脉冲激励下的仿真函数impulse()及任意输入激励下的仿真函数lsim()等,其中阶跃响应函数step()的调用格式为 y,x=step(sys,t)或y,x=step(sys)其中sys可以由tf()或zpk()函数得到,t为选定的仿真时间向量,如果不加t,仿真时间范围自动选择。此函数只返回仿真数据而不在屏幕上画仿真图形,返回值y为系统在各个仿真时刻的输出所组成的矩阵,而x为自动选择的状态变量的时间响应数据。如果用户对具体的响应数值不感兴趣,而只想绘制出系统的阶跃响应曲线,则可以由如下的格式调用step(sys,t)或step(sys),2023/11/14,第七章 控制系统的综合与校正,18,线性系统的时间响应分析(2),求取脉冲响应的函数impulse()和step()函数的调用格式完全一致,而任意输入下的仿真函数lsim()的调用格式稍有不同,因为在此函数的调用时还应该给出一个输入表向量,该函数的调用格式为 y,x=lsim(sys,u,t)式中,u为给定输入构成的列向量,它的元素个数应该和t的个数是一致的。当然该函数若调用时不返回参数,也可以直接绘制出响应曲线图形。例如 t=0:0.01:5;u=sin(t);lsim(sys,u,t)为单输入模型sys对u(t)=sin(t)在5秒之内的输入响应仿真。,2023/11/14,第七章 控制系统的综合与校正,19,线性系统的时间响应分析(3),MATLAB还提供了离散时间系统的仿真函数,包括阶跃响应函数dstep(),脉冲响应函数dimpulse()和任意输入响应函数dlsim()等,它们的调用方式和连续系统的不完全一致,读者可以参阅MATLAB的帮助,如在MATLAB的提示符下键入help dstep来了解它们的调用方式。时域分析常用函数如下:step-阶跃响应 impulse-脉冲响应 lsim-对指定输入的连续输出 gensig-对LSIM产生输入信号 stepfun-产生单位阶跃输入,例 对于下列系统传递函数 下列MATLAB Programl1.1将给出该系统的单位阶跃响应曲线。该单位阶跃响应曲线如图1所示。-MATLAB Programl1.1-num0,0,50;den25,2,1;step(num,den)gridtitle(Unit-Step Response of G(s)=50/(25s2+2s+1),例 对于下列系统传递函数下列MATLAB Programl1.2将给出该系统的单位脉冲响应曲线。该单位脉冲响应曲线如图2所示。-MATLAB Programl1.2-num0,0,50;den25,2,1;impulse(num,den)grid title(Unit-Impulse Response of G(s)=50/(25s2+2s+1),在MATLAB中没有斜坡响应命令,可利用阶跃响应命令求斜坡响应,先用s除G(s),再利用阶跃响应命令。例如,考虑下列闭环系统:,对于单位斜坡输入量则,下列MATLAB Programl1.3将给出该系统的单位斜坡响应曲线。该单位斜坡响应曲线如图3所示。-MATLAB Programl1.3-num0,0,0,50;den25,2,1,0;t=0:0.01:100;step(num,den,t)gridtitle(Unit-Step ramp Response of G(s)=50/(25s2+2s+1),2023/11/14,第七章 控制系统的综合与校正,27,控制系统的频域响应分析,已知系统的传递函数模型如第2节所示,则该系统的频率响应为可以由下面的语句来实现,如果有一个频率向量w,则Gw=polyval(num,sqrt(-1)*w)./polyval(den,sqrt(-1)*w);其中num和den分别为系统的分子分母多项式系数向量。,频率响应曲线绘制,MATLAB提供了多种求取并绘制系统频率响应曲线的函数,如Bode图绘制函数bode(),Nyquist曲线绘制函数等,其中bode()函数的调用格式为m,p=bode(num,den,w)这里,num,den和前面的叙述一样,w为频率点构成的向量,该向量最好由logspace()函数构成。m,p分别代表Bode响应的幅值向量和相位向量。如果用户只想绘制出系统的Bode图,而对获得幅值和相位的具体数值并不感兴趣,则可以由以下更简洁的格式调用bode()函数bode(num,den,w)或更简洁地 bode(num,den)这时该函数会自动地根据模型的变化情况选择一个比较合适的频率范围。,Nyquist曲线绘制函数nyquist()类似于bode()函数,可以利用help nyquist来了解它的调用方法。在分析系统性能的时候经常涉及到系统的幅值裕量与相位裕量的问题,使用Control工具箱提供的margin()函数可以直接求出系统的幅值裕量与相位裕量,该函数的调用格式为Gm,Pm,wcg,wcp=margin(num,den)可以看出,该函数能直接由系统的传递函数来求取系统的幅值裕量Gm和相位裕度裕量Pm,并求出幅值裕量和相位裕量处相应的频率值wcg和wcp。,常用频域分析函数如下:bode-频率响应伯德图 nyquist-频率响应乃奎斯特图 nichols-频率响应尼柯尔斯图 freqresp-求取频率响应数据 margin-幅值裕量与相位裕量 pzmap-零极点图使用时可以利用他们的帮助,如help bode。另外,命令ltiview可以画时域响应和频域响应图,利用help ltiview查看使用说明。,例 对于下列系统传递函数下列MATLAB Programl1.4将给出该系统对应的伯德图。其伯德图如图4所示。-MATLAB Programl1.4-num0,0,50;den25,2,1;bode(num,den)grid title(Bode Diagram of G(s)=50/(25s2+2s+1),如果希望从0.01弧度秒到1000弧度/秒画伯德图,可输入下列命令:w=logspace(-2,3,100)bode(num,den,w)该命令在0.01弧度秒和100弧度秒之间产生100个在对数刻度上等距离的点,例 对于下列系统传递函数 下列MATLAB Programl1.5将给出该系统对应的伯德图。其伯德图如图5所示。-MATLAB Programl1.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(Bode Diagram of G(s)=10(s+3)/s(s+2)(s2+s+2),例 对于下列系统传递函数 下列MATLAB Programl1.6将给出该系统对应的乃奎斯图。其乃奎斯特图如图6所示。-MATLAB Programl1.6-num0,0,50;den25,2,1,;nyquist(num,den)title(Nyquist Plot of G(s)=50/(25s2+2s+1),2023/11/14,第七章 控制系统的综合与校正,38,控制系统的根轨迹图,通常采用下列MATLAB命令画根轨迹 rlocus(num,den)利用该命令,可以在屏幕上得到画出的根轨迹图。增益向量K自动被确定。命令rlocus既适用于连续系统,也适用于离散时间系统。对于定义在状态空间内的系统,其命令为 rlocus(A,B,C,D)MATLAB在绘图命令中还包含自动轴定标功能。,例 对于一单位反馈控制系统,其开环传递函数为 下列MATLAB Programl1.7将给出该系统对应的根轨迹图。其根轨迹图如图7所示。-MATLAB Programl1.7-num=1,3;den1=1,2,0;den2=1,1,2;den=conv(den1,den2)rlocus(num,den)v=-10 10 10 10;axis(v)gridtitle(Root-Locus Plot of G(s)=K(s+3)/s(s+2)(s2+s+2),2023/11/14,第七章 控制系统的综合与校正,41,系统稳定性分析,给定一个控制系统,可利用MATLAB在它的时域、频域图形分析中看出系统的稳定性,并可直接求出系统的相角裕量和幅值裕量。此外,我们还可通过求出特征根的分布更直接地判断出系统稳定性。如果闭环系统所有的特征根都为负实部则系统稳定。,例如,给出控制系统闭环传递函数为 num=3,2,1,4,2num=3 2 1 4 2 den=3,5,1,2,2,1den=3 5 1 2 2 1 z,p=tf2zp(num,den),z=0.4500+0.9870i 0.4500-0.9870i-1.0000-0.5666 p=-1.6067 0.4103+0.6801i 0.4103-0.6801i-0.4403+0.3673i-0.4403-0.3673Ipzmap(num,den),ii=find(real(p)0)ii=2 3 n1=length(ii)n1=2 if(n10),disp(System is unstable,with int2str(n1)unstable poles);else disp(Syatem is stable);endSystem is unstable,with 2 unstable poles disp(The unstable poles are:),disp(p(ii)The unstable poles are:0.4103+0.6801i 0.4103-0.6801i以上求出具体的零极点、画出零极点分布、明确指出系统不稳定,并指出引起系统不稳定的具体右根。,2023/11/14,第七章 控制系统的综合与校正,46,Simulink仿真工具,如果控制系统的结构很复杂,则若不借助专用的系统建模软件,在过去很难准确地把一个控制系统的复杂模型输入给计算机,对之进行分析和仿真。1990年MathWorks软件公司为MATLAB提供了新的控制系统模型图形输入与仿真工具,命名为SIMULINK,这一名字的含义相当直观,SIMU(仿真)与LINK(连接),亦即可以利用鼠标器在模型窗口上“画”出所需的控制系统模型,然后利用SIMULINK提供的功能来对系统进行仿真或线性化。这种法的一个优点是,可以使得一个很复杂系统的输入变得相当容易且直观。,首先根据一个例子来说明控制系统框图模型的建立,这是一个简化的调速系统。我们看如何利用Simulink工具输入这个框图,然后再进行分析。,下图是Matlab中Simulink工具建立的例题框图。可以点击图中Simulation下的Start图标开始仿真,然后双击框图中的Scope,查看仿真图形。其他仿真命令大家可以自行学习。,

    注意事项

    本文(控制工程基础-控制系统的计算机仿真.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开