华中科技大学现代控制理论2.7Matlab问题.ppt
《华中科技大学现代控制理论2.7Matlab问题.ppt》由会员分享,可在线阅读,更多相关《华中科技大学现代控制理论2.7Matlab问题.ppt(64页珍藏版)》请在三一办公上搜索。
1、Ch.2 控制系统的状态空间模型,目录(1/1),目 录概述2.1 状态和状态空间模型2.2 根据系统机理建立状态空间模型2.3 根据系统的输入输出关系建立状态空间模型 2.4 状态空间模型的线性变换和约旦规范型2.5 传递函数阵2.6 线性离散系统的状态空间描述 2.7 Matlab问题 本章小结,Matlab问题(1/2),2.7 Matlab问题本章中涉及的计算问题主要有控制系统模型的建立、控制系统模型间的转换、状态及状态空间模型变换和组合系统模型的计算。下面分别介绍基于Matlab的上述问题的程序编制和计算方法。,Matlab问题(2/2),下面分别介绍基于Matlab的上述问题的程序
2、编制和计算方法,主要有控制系统模型种类与转换状态及状态空间模型变换 组合系统的模型计算,控制系统模型种类与转换(1/2),2.7.1 控制系统模型种类与转换在Matlab中,有4种数学模型表示线性定常系统(LTI)的模型,分别是传递函数模型、零极点增益模型、状态空间模型、Simulink结构图模型。前3种模型是用数学表达式描述,第4种基于传递函数的图形化形式动态结构图的模型。这4种模型都有连续系统与离散系统两种模型。,控制系统模型种类与转换(2/2),下面分别介绍传递函数模型的建立状态空间模型的建立状态空间模型到传递函数模型的转换传递函数模型到状态空间模型的转换,传递函数模型(1/1),1.传
3、递函数模型线性定常系统可以是连续系统,也可以是离散系统。2种系统基于Matlab的传递函数模型和状态空间模型基本一致。下面分SISO系统和MIMO系统2种情况介绍Matlab中的传递函数模型的表示和建立。,SISO系统(1/7),(1)SISO系统线性定常连续系统一般以常系数线性常微分方程来描述。对于一个SISO线性定常连续系统,其常微分方程描述为:对应的经拉氏变换得到的传递函数模型为,SISO系统(2/7),在Matlab中,多项式a0sn+a1sn-1+an常用数组表达,如n阶多项式可用n+1个元素的数组表达为a0 a1 an其中,数组元素按多项式中“s”的降幂顺序排列,其中的“0”不能省
4、略。因此传递函数的分子与分母多项式可以用2个数组表达num=b0 b1 bnden=a0 a1 an,SISO系统(3/7),在Matlab中,传递函数模型变量的数据结构为tf类,可采用函数命令tf()来描述分子和分母多项式的数组组合,建立控制系统的传递函数模型。tf()函数命令的主要调用格式为sys=tf(num,den)或直接为sys=tf(b0 b1 bn,a0 a1 an)经过上述命令,变量sys即表示上述连续系统传递函数模型。,SISO系统(4/7),类似地,对于SISO线性定常离散系统,其高阶差分方程模型和z域传递函数模型分别为建立Matlab的离散定常系统传递函数模型也可采用函数
5、命令tf(),其建立离散系统传递函数的语句为:num=b0 b1 bnden=a0 a1 ansys=tf(num,den,Ts),SISO系统(5/7),或直接为sys=tf(b0 b1 bn,a0 a1 an,Ts)其中,Ts为采样周期的值。当Ts=-1或者Ts=时,则系统的采样周期未定义。经过上述命令,变量sys即表示上述离散系统传递函数模型。,SISO系统(6/7),Matlab问题2-1 试在Matlab中建立例2-20中离散系统的传递函数模型。Matlab程序m2-1如下。,SISO系统(7/7),Matlab程序m2-1执行结果如下。对已建立好的SISO系统传递函数模型变量sys
6、,其传递函数的分子和分母多项式可分别由sys.num1和sys.den1获得。如在Matlab程序m2-1执行后有sys_1.num1=1 2 1;sys_1.den1=1 5 6;,MIMO系统(1/7),(2)MIMO系统MIMO线性定常连续系统的传递函数阵G(s)可以表示为其中,Gij(s)=nij(s)/dij(s)描述了第i个输出与第j个输入之间的动态传递关系,nij(s)和dij(s)分别为其分子与分母多项式。,MIMO系统(2/7),在Matlab中,为建立MIMO线性定常系统的传递函数阵,规定传递函数阵对应的分子多项式输入格式为num=num11 num12 num1r;num
7、21 num22 num2r;.numm1 numm2 nummr其中,numij为Gij(s)的分子多项式的数组表示,其表示方法与前面介绍的SISO系统传递函数的分子多项式表示方法一致;各numij的排列方法与Matlab矩阵的各元素排列方法一致,但这里用符号“”代替矩阵符号“”。,MIMO系统(3/7),传递函数阵对应的分母多项式输入格式与分子的输入格式一致,也排成“”表示的多维数组形式。下面通过1个22的传递函数阵的输入方法来演示Matlab建立MIMO传递函数模型的过程。Matlab问题2-2 试在Matlab中建立如下传递函数阵的Matlab模型,MIMO系统(4/7),Matlab
8、程序m2-2如下,MIMO系统(5/7),Matlab程序m2-2执行结果如下,MIMO系统(6/7),对已建立好的传递函数模型阵变量sys,传递函数模型阵G(s)的各元素的分子和分母多项式可分别由sys.numi,j和sys.deni,j获得。如在Matlab程序m2-2执行后有sys.num2,1=0 0 2 3;sys.den2,1=1 6 11 6;分别表示的分子和分母多项式。这里Matlab内部的分子多项式表示0 0 2 3是因为要与分母多项式表示为同阶的多项式,由于分子的阶次低,故高次项补0。,MIMO系统(7/7),在Matlab中,sys.numi,j和sys.deni,j均为
9、一般的一维数组结构,可以对其进行直接计算处理。如在执行Matlab程序m2-2后,执行赋值语句sys.num2,1=0 1 0 0;则修改系统传递函数模型G21(s)的分子多项式为s2。,状态空间模型(1/5),2.状态空间模型线性定常连续系统的状态空间模型为在Matlab中,状态空间模型变量的数据结构为ss类,可以用函数ss()来建立控制系统的状态空间模型。,状态空间模型(2/5),ss()函数的主要调用格式为sys=ss(A,B,C,D)式中,A,B,C,D为已经赋值的适宜维数的数组(矩阵)。若输入的矩阵维数不匹配,ss()函数将显示出错信息,指出系统矩阵维数不匹配。对线性定常离散系统(G
10、,H,C,D),则用函数ss()来建立状态空间模型的调用格式为:sys=ss(G,H,C,D,Ts)式中,Ts为输入的采样周期,与建立离散系统传递函数的Matlab函数tf()的格式一致。,状态空间模型(3/5),Matlab问题2-3 试在Matlab中建立如下连续系统的状态空间模型 Matlab程序m2-3如下。,状态空间模型(4/5),Matlab程序m2-3执行结果如下。,状态空间模型(5/5),对Matlab的状态空间模型变量sys,描述状态空间模型的4个矩阵A、B、C和D可分别由sys.a、sys.b、sys.c和sys.d获得。如在Matlab程序m2-3执行后有这里sys.a、
11、sys.b、sys.c和sys.d为一般2维数组结构,可以对其进行直接计算处理。如在执行Matlab程序m2-3后,执行赋值语句sys.c=0 2则修改了系统状态空间模型的输出矩阵C为0 2。,状态空间模型到传递函数模型的转换(1/3),3.状态空间模型到传递函数模型的转换 Matlab提供了非常方便地转换各种模型的函数,如由状态空间模型转换为传递函数模型、由传递函数模型求状态空间模型。由于系统的传递函数模型是惟一的,由状态空间模型转换为传递函数模型可以直接采用建立传递函数模型的tf()函数,但其输入变量格式不同。,状态空间模型到传递函数模型的转换(2/3),由状态空间模型求解传递函数模型问题
12、的调用格式为:连续系统:con_tf=tf(con_ss)离散系统:dis_tf=tf(dis_ss)其中,con_ss和dis_ss分别为已赋值的连续和离散系统状态空间模型,con_tf和dis_tf就分别为求得的连续和离散系统传递函数模型。,状态空间模型到传递函数模型的转换(3/3),如在执行Matlab程序m2-3后,执行语句sys_tf=tf(sys_2)则有如下结果即为所求的状态空间模型对应的传递函数模型。,传递函数模型到状态空间模型的转换(1/2),4.传递函数模型到状态空间模型的转换由于状态变量的选择不同,状态空间模型并不惟一,因此由传递函数模型转换得到的状态空间模型有许多不同的
13、类型。在Matlab中,主要有函数ss()和canon()提供由传递函数模型到状态空间模型的转换,可以得到3种类型的状态空间模型:等效(equivalent)实现状态空间模型、模态(modal)规范形和友矩阵(companion)实现。模态规范形和友矩阵实现分别对应于状态空间模型的对角线规范形和能控规范I形。,传递函数模型到状态空间模型的转换(2/2),若要求解如约旦规范形、能控、能观规范形等其他类型的状态空间模型,则需自己编制相应的Matlab程序。下面分别讨论Matlab提供的如下转换函数:转换函数ss()规范形转换函数canon()常微分方程(传递函数)转换为状态空间模型函数dif2ss
14、(),转换函数ss()(1/2),(1)转换函数ss()Matlab提供的转换函数ss()即为前面介绍的建立状态空间模型的函数ss(),但其输入变量格式不同。对于由传递函数模型求解状态空间模型问题,其调用格式为连续系统:con_ss=ss(con_tf)离散系统:dis_ss=ss(dis_tf)其中,con_tf和dis_tf分别为已赋值的连续和离散系统传递函数模型,con_ss和dis_ss分别为求得的连续和离散系统状态空间模型。,转换函数ss()(2/2),如在执行Matlab程序m2-1后,执行语句sys_1_ss=ss(sys_1)则有如下结果即为所求模型的一个等效状态空间模型实现。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华中科技大学 现代 控制 理论 2.7 Matlab 问题
链接地址:https://www.31ppt.com/p-6449118.html