控制工程基础-控制系统的计算机仿真.pptx
《控制工程基础-控制系统的计算机仿真.pptx》由会员分享,可在线阅读,更多相关《控制工程基础-控制系统的计算机仿真.pptx(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2022-4-21第七章 控制系统的综合与校正1控制工程基础控制工程基础第十章第十章 Matlab软件工具在控制系软件工具在控制系 统分析和综合中的应用统分析和综合中的应用 主讲人:赵治国副教授主讲人:赵治国副教授2022-4-21第七章 控制系统的综合与校正2主要内容主要内容z Matlab基本特点基本特点z 控制系统在控制系统在Matlab中的描述中的描述z 进行部分分式展开进行部分分式展开z 控制系统的时间响应分析控制系统的时间响应分析z 控制系统的频域响应分析控制系统的频域响应分析z 控制系统的根轨迹图控制系统的根轨迹图z 系统稳定性分析系统稳定性分析z Simulink仿真工具仿真工
2、具2022-4-21第七章 控制系统的综合与校正3Matlab基本特点基本特点(1)Matlab简介:简介:z1980年前后,美国年前后,美国moler博士构思并开发;博士构思并开发;z最初的最初的matlab版本是用版本是用fortran语言编写,现在语言编写,现在的版本用的版本用c语言改写;语言改写;z1992年推出了具有划时代意义的年推出了具有划时代意义的matlab 4.0版版本;并于本;并于1993年推出了其年推出了其windows平台下的微平台下的微机版,现在比较新的版本是机版,现在比较新的版本是7.1版版2022-4-21第七章 控制系统的综合与校正4Matlab基本特点基本特点
3、(2) Matlab Matlab以复数矩阵为最基本的运算单元,既可以以复数矩阵为最基本的运算单元,既可以对它整体地进行处理,也可以对它的某个或某些对它整体地进行处理,也可以对它的某个或某些元素进行单独地处理。在元素进行单独地处理。在MatlabMatlab中,数据的存储中,数据的存储/ /输入输入/ /输出都是以矩阵为基础的,矩阵和其它变输出都是以矩阵为基础的,矩阵和其它变量不需要预先定义。量不需要预先定义。MatlabMatlab语言最基本的赋值语句结构为语言最基本的赋值语句结构为 变量名列表变量名列表=表达式表达式2022-4-21第七章 控制系统的综合与校正5matlab基本特点基本特
4、点(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 12022-4-21第七章 控制系统的综合与校正6matlab基本特点基本特点(4) 在在Matlab下,矩阵下,矩阵A
5、和矩阵和矩阵B的乘积(假定的乘积(假定其中其中A,B矩阵是可乘的)可以简单地由运矩阵是可乘的)可以简单地由运算算C=A*B求出求出 C=A*BC = 2 0 3 1 0 2 4 1 52022-4-21第七章 控制系统的综合与校正7 而而D=A.*B称点乘积运算,即表示称点乘积运算,即表示A和和B矩阵的相应矩阵的相应元素之间直接进行乘法运算,然后将结果赋给元素之间直接进行乘法运算,然后将结果赋给D矩阵,点乘积运算要求矩阵,点乘积运算要求A和和B矩阵的维数相同。矩阵的维数相同。 D=A.*BD= 1 0 2 2 0 0 2 0 0 matlab基本特点基本特点(5) Matlab下提供了两种文件
6、格式:下提供了两种文件格式: m文件,文件, matlab函数函数z M文件文件是普通的是普通的ascii码构成的文件,在这样的文件中只有由码构成的文件,在这样的文件中只有由matlab语语言所支持的语句,类似于言所支持的语句,类似于dos下的批处理文件,它的执行方式很简单,下的批处理文件,它的执行方式很简单,用户只需在用户只需在matlab的提示符的提示符下键入该下键入该m文件的文件名,这样文件的文件名,这样matlab就会自动执行该就会自动执行该m文件中的各条语句。它采用文本方式,编程效率高,文件中的各条语句。它采用文本方式,编程效率高,可读性很强。可读性很强。z Matlab函数函数是最
7、常用的特殊是最常用的特殊m文件,这样的函数是由文件,这样的函数是由function语句引导,语句引导,其基本格式如下其基本格式如下 Function 返回变量列表返回变量列表=函数名(输入变量列表)函数名(输入变量列表) 注释说明语句段注释说明语句段 函数体语句函数体语句调用时在调用时在matlab的提示符下键入函数名,并包括输入变量。类似于的提示符下键入函数名,并包括输入变量。类似于c语言的子程序调用。如语言的子程序调用。如Function plot_sin(xmin,xmax)X=xmin:min(0.01,(xmax-xmin)/100):xmax;Plot(x,sin(x);% Thi
8、s is a demo 2022-4-21第七章 控制系统的综合与校正9控制系统在控制系统在Matlab中的描述中的描述要分析系统,首先需要能够描述这个系统。例如要分析系统,首先需要能够描述这个系统。例如用传递函数的形式描述系统用传递函数的形式描述系统11211121)(nnnnmmmmasasasabsbsbsbsG在在matlab中,用中,用num=b1,b2,bm,bm1和和den=a1,a2,an,an1分别表示分子和分母多项式系数,然后利用下面的语句就可以表示分别表示分子和分母多项式系数,然后利用下面的语句就可以表示这个系统这个系统 sys=tf(num,den)其中其中tf()代表
9、传递函数的形式描述系统,还可以用零极点形式来描代表传递函数的形式描述系统,还可以用零极点形式来描述,语句为述,语句为 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) 2022-4-21第七章 控制系统的综合与校正11进行部分分式展
10、开进行部分分式展开(1) 对于下列传递函数对于下列传递函数 nnnnnnnnioasasasbsbsbsbsXsX11111102022-4-21第七章 控制系统的综合与校正12num和和den分别表示传递函数的分子和分母的系数,即分别表示传递函数的分子和分母的系数,即 numbo,bl,bn den1,al.,an命令命令 r,p,kresidue(num,den)将求出传递函数的部分分式展开式中的留数、极点和余将求出传递函数的部分分式展开式中的留数、极点和余项,即得到项,即得到 skpsrpsrpsrsXsXnnio2211进行部分分式展开进行部分分式展开(2)例:例: 对于下列系统传递函
11、数对于下列系统传递函数分子分母表示为分子分母表示为 num0,1,3 den1,3,2采用命令采用命令r,p,kresidue(num,den)得到得到 r,p,kresidue(num,den)r20000 10000p100002.0000k即即 21122332ssssssXsXio 2332ssssXsXio反之,利用下列命令反之,利用下列命令 num,denresidue(r,p,k)可以将部分分式展开式返回到传递函数多项式之比的形可以将部分分式展开式返回到传递函数多项式之比的形式,即得到式,即得到 num,denresidue(r,p,k)num0.0000 1.0000 3.00
12、00den=1.0000 3.0000 2.0000当包含当包含m重极点时,部分分式展开式将包括下列重极点时,部分分式展开式将包括下列m项:项:mjmjjjjjpsrpsrpsr121例例 对于下列系统传递函数对于下列系统传递函数分子分母表示为分子分母表示为 num0,1,2,3 den1,3,3,1采用命令采用命令r,p,kresidue(num,den) 1333213223232sssssssssXsXio得到得到num0 1 2 3;den1 3 3 1;r,p,kresidue(num,den)r1.00000.00002.0000p1.00001.0000l.0000k即即 321
13、21011ssssXsXio2022-4-21第七章 控制系统的综合与校正17线性系统的时间响应分析线性系统的时间响应分析(1) Matlab的的Control工具箱提供了很多线性系统在特定输入下仿工具箱提供了很多线性系统在特定输入下仿真的函数,例如连续时间系统在阶跃输入激励下的仿真函数真的函数,例如连续时间系统在阶跃输入激励下的仿真函数step(),脉冲激励下的仿真函数,脉冲激励下的仿真函数impulse()及任意输入激励下的及任意输入激励下的仿真函数仿真函数lsim()等,其中阶跃响应函数等,其中阶跃响应函数step()的调用格式为的调用格式为 y,x=step(sys,t) 或或y,x=
14、step(sys) 其中其中sys可以由可以由tf()或或zpk()函数得到,函数得到,t为选定的仿真时间向量,为选定的仿真时间向量,如果不加如果不加t,仿真时间范围自动选择。此函数只返回仿真数据,仿真时间范围自动选择。此函数只返回仿真数据而不在屏幕上画仿真图形,返回值而不在屏幕上画仿真图形,返回值y为系统在各个仿真时刻的为系统在各个仿真时刻的输出所组成的矩阵,而输出所组成的矩阵,而x为自动选择的状态变量的时间响应数为自动选择的状态变量的时间响应数据。如果用户对具体的响应数值不感兴趣,而只想绘制出系据。如果用户对具体的响应数值不感兴趣,而只想绘制出系统的阶跃响应曲线,则可以由如下的格式调用统的
15、阶跃响应曲线,则可以由如下的格式调用step(sys,t) 或或step(sys)2022-4-21第七章 控制系统的综合与校正18线性系统的时间响应分析线性系统的时间响应分析(2)求取脉冲响应的函数求取脉冲响应的函数impulse()和和step()函数的调用格式函数的调用格式完全一致,而任意输入下的仿真函数完全一致,而任意输入下的仿真函数lsim()的调用格式的调用格式稍有不同,因为在此函数的调用时还应该给出一个输入稍有不同,因为在此函数的调用时还应该给出一个输入表向量,该函数的调用格式为表向量,该函数的调用格式为 y,x=lsim(sys,u,t)式中,式中,u为给定输入构成的列向量,它
16、的元素个数应该和为给定输入构成的列向量,它的元素个数应该和t的个数是一致的。当然该函数若调用时不返回参数,也的个数是一致的。当然该函数若调用时不返回参数,也可以直接绘制出响应曲线图形。例如可以直接绘制出响应曲线图形。例如 t = 0:0.01:5; u = sin(t); lsim(sys,u,t) 为单输入模型为单输入模型sys对对u(t)=sin(t)在在5秒之内的输入响应仿真。秒之内的输入响应仿真。2022-4-21第七章 控制系统的综合与校正19线性系统的时间响应分析线性系统的时间响应分析(3) MATLAB还提供了离散时间系统的仿真函数,包括阶跃响还提供了离散时间系统的仿真函数,包括
17、阶跃响应函数应函数dstep(),脉冲响应函数,脉冲响应函数dimpulse()和任意输入响应和任意输入响应函数函数dlsim()等,它们的调用方式和连续系统的不完全一致,等,它们的调用方式和连续系统的不完全一致,读者可以参阅读者可以参阅MATLAB的帮助,如在的帮助,如在MATLAB的提示符的提示符下键入下键入help dstep来了解它们的调用方式。来了解它们的调用方式。 时域分析常用函数如下:时域分析常用函数如下: step - 阶跃响应阶跃响应 impulse - 脉冲响应脉冲响应 lsim - 对指定输入的连续输出对指定输入的连续输出 gensig - 对对LSIM产生输入信号产生输
18、入信号 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) 1225502sssXsXio图 1 G(s)=50/(252s +2s+1)的单位阶跃响应曲线例例 对于下列系统传
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制工程 基础 控制系统 计算机仿真
限制150内