控制系统Matlab计算与仿真.ppt
《控制系统Matlab计算与仿真.ppt》由会员分享,可在线阅读,更多相关《控制系统Matlab计算与仿真.ppt(72页珍藏版)》请在三一办公上搜索。
1、1,控制系统Matlab计算与仿真,华南理工大学刘桂雄 教授,博士生导师2012年04月11日,目录,一、Matlab简介,二、控制系统Matlab仿真基础,三、Simulink仿真基础,3,一、Matlab简介,1.Matlab简介1980年前后,美国moler博士构思并开发;最初的Matlab版本是用fortran语言编写,现在的版本用c语言改写;1992年推出了具有划时代意义的Matlab 4.0版本;并于1993年推出了其windows平台下的微机版,现在比较新的版本是r2012a版,4,一、Matlab简介,2.Matlab语言特点,Matlab以复数矩阵为最基本的运算单元,既可以对
2、它整体地进行处理,也可以对它的某个或某些元素进行单独地处理。在Matlab中,数据的存储/输入/输出都是以矩阵为基础的,矩阵和其它变量不需要预先定义。Matlab语言最基本的赋值语句结构为 变量名列表=表达式 变量名为Matlab语句的返回值;等号右边是表达式的定义,它可以是矩阵,也可是函数调用。,5,一、Matlab简介,2.Matlab语言特点,Matlab下提供了两种文件格式:M文件,Matlab函数 M文件是普通的ascii码构成的文件,只有由Matlab语言所支持的语句,用户只需在Matlab的提示符下键入该M文件的文件名,Matlab就会自动执行该M文件中的各条语句。它采用文本方式
3、,编程效率高,可读性很强。Matlab函数是最常用的特殊m文件,该函数是由function语句引导,其基本格式如下:Function 返回变量列表=函数名(输入量列表),6,二、控制系统Matlab仿真基础,1.控制系统数学模型,要分析系统,首先需要能够描述这个系统。在线性系统理论中,一般常用的数学模型形式有:传递函数模型(系统的外部模型);状态方程模型(系统的内部模型);零极点增益模型;动态结构图(Simulink中使用)。这些模型之间都有着内在的联系,实际应用中,根据要解决问题的需要,往往要进行不同种类模型之间的转换,Matlab控制系统工具箱中为此提供了相应的命令函数。,7,二、控制系统
4、Matlab仿真基础,1.控制系统数学模型,(1)传递函数模型,Matlab中用函数命令tf()来建立控制系统的传递函数模型。函数命令的调用格式为:sys=tf(num,den)函数返回的变量为连续系统的传递函数模型,函数输入参量num与den分别为系统的分子与分母多项式系数向量。sys=tf(num,den,Ts)函数返回的变量为离散系统的传递函数模型,函数输入参量num与den分别为系统的分子与分母多项式系数向量,Ts为采样时间。Matlab中还用函数printsys()来输出系统模型。,8,二、控制系统Matlab仿真基础,1.控制系统在Matlab中的描述,(2)零极点增益模型,Mat
5、lab中用函数命令zpk()来建立控制系统的零极点增益模型。函数命令的调用格式为:sys=zpk(z,p,k)其中的z、p、k分别代表系统零点、极点、增益向量,函数返回连续系统零极点模型。sys=zpk(z,p,k,Ts)其中的z、p、k分别代表系统零点、极点、增益向量,Ts为采样时间,函数返回离散系统零极点模型。,9,二、控制系统Matlab仿真基础,1.控制系统在Matlab中的描述,表1 模型转换,二、控制系统Matlab仿真基础,例1 用Matlab表示传递函数为 的系统。解:num=2 3;den=4 3 2 1;sys=tf(num,den)执行结果:Transfer functi
6、on:2 s+3-4 s3+3 s2+2 s+1,10,二、控制系统Matlab仿真基础,例2 用Matlab表示传递函数为 的系统。解:z=-3;p=0-1-2;k=2;sys=zpk(z,p,k)执行结果:Zero/pole/gain:2(s+3)-s(s+1)(s+2),11,二、控制系统Matlab仿真基础,例3 已知某控制系统的传递函数为,求Matlab描述的传递函数模型及零极点增益模型。解:num=0 0 1;den=1 3 2;sys1=tf(num,den)z p k=tf2zp(num,den);sys2=zpk(z,p,k)执行结果:,Zero/pole/gain:1-(s
7、+2)(s+1),Transfer function:1-s2+3 s+2,12,二、控制系统Matlab仿真基础,在Matlab中描述系统的模型形式不仅仅拘泥于数学表达式,还有应用在Simulink仿真环境中的动态方框图形式。只要按照一定的规则画出系统模型图,然后用实际系统的数据进行设置,就可以对其实现仿真。模型化简包括:环节串联化简;环节并联化简;反馈环节化简。,(3)方框图模型化简,1.控制系统在Matlab中的描述,二、控制系统Matlab仿真基础,环节串联化简 多个环节相串联的连接形式是控制系统最基本的组成结构形式之一。在Matlab中用函数命令series()来实现串联化简。其调用
8、格式为:sys=series(sys1,sys2)说明:也可简单地通过命令sys=sys1sys2实现。,14,1.控制系统在Matlab中的描述,(3)方框图模型化简,二、控制系统Matlab仿真基础,环节并联化简 多个环节相并联的连接形式也是控制系统最基本的组成结构形式之一。Matlab中用函数命令parallel()来实现并联化简。其调用格式为:sys=parallel(sys1,sys2)说明:也可以简单地通过命令sys=sys1+sys2实现。,15,1.控制系统在Matlab中的描述,(3)方框图模型化简,二、控制系统Matlab仿真基础,反馈环节化简 反馈连接结构是控制系统动态方
9、框图动中常见连接形式。Matlab中用函数命令feedback()来实现反馈化简。其调用格式为:sys=feedback(sys1,sys2,sign)其中sign缺省值为-1,表示负反馈;若为正反馈,则sign=1。,16,1.控制系统在Matlab中的描述,(3)方框图模型化简,二、控制系统Matlab仿真基础,(1)时域响应仿真 时域响应Matlab仿真的方法有两种:在Matlab的函数指令方式下进行时域仿真;在Simulink环境下的菜单方式的时域仿真。命令方式下的时域仿真 控制系统工具箱中提供了一系列关于时域响应求取的函数命令。阶跃响应:step(sys)step(sys,t)dst
10、ep(a,b,c,d)dstep(num,den)脉冲响应:impulse(sys)impulse(sys,t)dimpulse(a,b,c,d)dimpulse(num,den),17,2.系统时域分析,例4 用Matlab绘制典型二阶系统的单位阶跃响应曲线。解:取,分别取 程序实现如下:c=0 3 7 10 20 40;k=25;t=linspace(0,10,100);num=k;for i=1:6 den=1 c(i)25;sys=tf(num,den);y(:,i)=step(sys,t);end plot(t,y(:,1:6),二、控制系统Matlab仿真基础,18,%,%,19,
11、二、控制系统Matlab仿真基础,(1)时域响应仿真 时域响应Matlab仿真的方法有两种:在Matlab的函数指令方式下进行时域仿真;在Simulink环境下的菜单方式的时域仿真。命令方式下的时域仿真 控制系统工具箱中提供了一系列关于时域响应求取的函数命令。Simulink环境下的仿真 此种方式的响应仿真将在第三部分作详细介绍。,20,2.系统时域分析,二、控制系统Matlab仿真基础,(2)系统稳定性分析 线性定常系统稳定性的数学定义是控制系统闭环特征方程的全部根,不论是实根或复根,其实部均应为负值,则闭环系统就是稳定的。由此可知,求解控制系统闭环特征方程的根并进而判断所有根的实部是否小于
12、零,这是控制系统判稳的最基本方法,同时也是Matlab中提供和使用的思路。Matlab中提供命令函数roots()实现,其调用格式为:roots(P)其中,P是系统闭环特征多项式降幂排列的系数向量。,21,2.系统时域分析,二、控制系统Matlab仿真基础,例5 已知单位负反馈系统的开环传递函数为 试判断系统的闭环稳定性。解:k=1;z=-2;p=0,-1,-3;num,den=zp2tf(z,p,k);D=num+den;roots(D)执行结果:ans=-2.8393-0.5804+0.6063i-0.5804-0.6063i从结果看,特征根均为负实部根,因而该系统闭环稳定。,22,二、控
13、制系统Matlab仿真基础,例6 已知单位负反馈系统的闭环传递函数为 试判断系统的稳定性。解:den=1-1.3 0.7 1.2 0.2;num=2 1-1;sys=tf(num,den)roots(sys.den1)执行结果:ans=1.0000+1.0000i 1.0000-1.0000i-0.5000-0.2000,23,从结果看,特征根中有正实部根,因而该系统不稳定。,二、控制系统Matlab仿真基础,(3)系统稳态误差分析 稳态误差是系统控制准确度的评价指标,实际计算是基于响应曲线的稳态值与期望值之差。控制理论的研究中典型的外作用有单位阶跃信号、单位速度(斜坡)信号、单位加速度信号,
14、Matlab中,通过step()函数,其稳态误差为阶跃响应曲线的稳态值与期望值(1)之差。,24,2.系统时域分析,二、控制系统Matlab仿真基础,例7 已知一单位负反馈系统的开环传递函数为 G(s)=试求单位阶跃信号作为参考输入时产生的稳态误差。解:(a)判断系统稳定性 k=5;z=-0.2;p=0 0.5-1.5;num,den=zp2tf(z,p,k);sys=tf(num,den);sys1=feedback(sys,1);roots(sys1.den1)执行结果:ans=-0.3770+1.9805i-0.3770-1.9805i-0.2460,25,二、控制系统Matlab仿真基
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制系统 Matlab 计算 仿真
链接地址:https://www.31ppt.com/p-6364198.html