资源描述:
《控制工程基础-控制系统的计算机仿真》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2021/7/29第七章控制系统的综合与校正1控制工程基础第十章Matlab软件工具在控制系统分析和综合中的应用主讲人:赵治国副教授2021/7/29第七章控制系统的综合与校正2主要内容Matlab基本特点控制系统在Matlab中的描述进行部分分式展开控制系统的时间响应分析控制系统的频域响应分析控制系统的根轨迹图系统稳定性分析Simulink仿真工具2021/7/29第七章控制系统的综合与校正3Matlab基本特点(1)Matlab简介:1980年前后,美国moler博士构思并开发;最初的matlab版本是用fortran语言编写,现在的版本用c语言改写;1992年推出了具有划
2、时代意义的matlab4.0版本;并于1993年推出了其windows平台下的微机版,现在比较新的版本是7.1版2021/7/29第七章控制系统的综合与校正4Matlab基本特点(2)Matlab以复数矩阵为最基本的运算单元,既可以对它整体地进行处理,也可以对它的某个或某些元素进行单独地处理。在Matlab中,数据的存储/输入/输出都是以矩阵为基础的,矩阵和其它变量不需要预先定义。Matlab语言最基本的赋值语句结构为变量名列表=表达式2021/7/29第七章控制系统的综合与校正5matlab基本特点(3)等号右边的表达式可以由分号结束,也可以由逗号或换行结束,但它们的含义是不
3、同的。如果用分号结束,则左边的变量结果将不在屏幕上显示出来,否则将把左边返回矩阵的内容全部显示出来。如»A=[1,0,1;1,0,0;2,1,0];»B=[1,0,2;2,1,1;1,0,1]B=1022111012021/7/29第七章控制系统的综合与校正6matlab基本特点(4)在Matlab下,矩阵A和矩阵B的乘积(假定其中A,B矩阵是可乘的)可以简单地由运算C=A*B求出»C=A*BC=2031024152021/7/29第七章控制系统的综合与校正7而D=A.*B称点乘积运算,即表示A和B矩阵的相应元素之间直接进行乘法运算,然后将结果赋给D矩阵,点乘积运算要求A和B矩
4、阵的维数相同。»D=A.*BD=102200200matlab基本特点(5)Matlab下提供了两种文件格式:m文件,matlab函数M文件是普通的ascii码构成的文件,在这样的文件中只有由matlab语言所支持的语句,类似于dos下的批处理文件,它的执行方式很简单,用户只需在matlab的提示符>>下键入该m文件的文件名,这样matlab就会自动执行该m文件中的各条语句。它采用文本方式,编程效率高,可读性很强。Matlab函数是最常用的特殊m文件,这样的函数是由function语句引导,其基本格式如下Function返回变量列表=函数名(输入变量列表)注释说明语句段函数体语
5、句调用时在matlab的提示符下键入函数名,并包括输入变量。类似于c语言的子程序调用。如Functionplot_sin(xmin,xmax)X=xmin:min(0.01,(xmax-xmin)/100):xmax;Plot(x,sin(x));%Thisisademo2021/7/29第七章控制系统的综合与校正9控制系统在Matlab中的描述要分析系统,首先需要能够描述这个系统。例如用传递函数的形式描述系统在matlab中,用num=[b1,b2,…,bm,bm1]和den=[a1,a2,…,an,an1]分别表示分子和分母多项式系数,然后利用下面的语句就可以表示这个系统s
6、ys=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)2021/7/29第七章控制系统的综合与校正11进行部分分式展开(1)对于下列传递函数2021/7/29第七章控制系统的综合与校正12num和den分别表示传递函数的分
7、子和分母的系数,即num=[bo,bl,…,bn]den=[1,al.…,an]命令[r,p,k]=residue(num,den)将求出传递函数的部分分式展开式中的留数、极点和余项,即得到进行部分分式展开(2)例:对于下列系统传递函数分子分母表示为num=[0,1,3]den=[1,3,2]采用命令[r,p,k]=residue(num,den)得到[r,p,k]=residue(num,den)r=2.0000-1.0000p=-1.0000-2.0000k=[]即反之,利用下列命令[n