控制论2.7 Matlab问题教学课件.ppt_第1页
控制论2.7 Matlab问题教学课件.ppt_第2页
控制论2.7 Matlab问题教学课件.ppt_第3页
控制论2.7 Matlab问题教学课件.ppt_第4页
控制论2.7 Matlab问题教学课件.ppt_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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),下面分别介绍基于Ma

2、tlab的上述问题的程序编制和计算方法,主要有 控制系统模型种类与转换 状态及状态空间模型变换 组合系统的模型计算,控制系统模型种类与转换(1/2),2.7.1 控制系统模型种类与转换 在Matlab中,有4种数学模型表示线性定常系统(LTI)的模型,分别是 传递函数模型、 零极点增益模型、 状态空间模型、 Simulink结构图模型。 前3种模型是用数学表达式描述,第4种基于传递函数的图形化形式动态结构图的模型。 这4种模型都有连续系统与离散系统两种模型。,控制系统模型种类与转换(2/2),下面分别介绍 传递函数模型的建立 状态空间模型的建立 状态空间模型到传递函数模型的转换 传递函数模型到

3、状态空间模型的转换,传递函数模型(1/1),1. 传递函数模型 线性定常系统可以是连续系统,也可以是离散系统。 2种系统基于Matlab的传递函数模型和状态空间模型基本一致。 下面分 SISO系统和 MIMO系统 2种情况介绍Matlab中的传递函数模型的表示和建立。,SISO系统(1/7),(1) SISO系统 线性定常连续系统一般以常系数线性常微分方程来描述。 对于一个SISO线性定常连续系统,其常微分方程描述为: 对应的经拉氏变换得到的传递函数模型为,SISO系统(2/7),在Matlab中,多项式a0sn+a1sn-1+an常用数组表达,如n阶多项式可用n+1个元素的数组表达为 a0

4、a1 an 其中,数组元素按多项式中“s”的降幂顺序排列,其中的“0”不能省略。 因此传递函数的分子与分母多项式可以用2个数组表达 num=b0 b1 bn den=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线性定常离散系统,其

5、高阶差分方程模型和z域传递函数模型分别为 建立Matlab的离散定常系统传递函数模型也可采用函数命令tf(),其建立离散系统传递函数的语句为: num=b0 b1 bn den=a0 a1 an sys=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程序

6、m2-1如下。,SISO系统(7/7),Matlab程序m2-1执行结果如下。 对已建立好的SISO系统传递函数模型变量sys,其传递函数的分子和分母多项式可分别由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),在Matl

7、ab中,为建立MIMO线性定常系统的传递函数阵,规定传递函数阵对应的分子多项式输入格式为 num= num11 num12 num1r; num21 num22 num2r; . numm1 numm2 nummr 其中,numij为Gij(s)的分子多项式的数组表示,其表示方法与前面介绍的SISO系统传递函数的分子多项式表示方法一致; 各numij的排列方法与Matlab矩阵的各元素排列方法一致,但这里用符号“”代替矩阵符号“”。,MIMO系统(3/7),传递函数阵对应的分母多项式输入格式与分子的输入格式一致,也排成“”表示的多维数组形式。 下面通过1个22的传递函数阵的输入方法来演示Mat

8、lab建立MIMO传递函数模型的过程。 Matlab问题2-2 试在Matlab中建立如下传递函数阵的Matlab模型,MIMO系统(4/7),Matlab程序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

9、2 3是因为要与分母多项式表示为同阶的多项式,由于分子的阶次低,故高次项补0。,MIMO系统(7/7),在Matlab中,sys.numi,j和sys.deni,j均为一般的一维数组结构,可以对其进行直接计算处理。 如在执行Matlab程序m2-2后,执行赋值语句 sys.num2,1=0 1 0 0; 则修改系统传递函数模型G21(s)的分子多项式为s2。,状态空间模型(1/5),2. 状态空间模型 线性定常连续系统的状态空间模型为 在Matlab中,状态空间模型变量的数据结构为ss类,可以用函数ss()来建立控制系统的状态空间模型。,状态空间模型(2/5),ss()函数的主要调用格式为 s

10、ys=ss(A,B,C,D) 式中,A,B,C,D为已经赋值的适宜维数的数组(矩阵)。 若输入的矩阵维数不匹配,ss()函数将显示出错信息,指出系统矩阵维数不匹配。 对线性定常离散系统(G,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),

11、对Matlab的状态空间模型变量sys,描述状态空间模型的4个矩阵A、B、C和D可分别由sys.a、sys.b、sys.c和sys.d获得。 如在Matlab程序m2-3执行后有 这里sys.a、sys.b、sys.c和sys.d为一般2维数组结构,可以对其进行直接计算处理。 如在执行Matlab程序m2-3后,执行赋值语句 sys.c=0 2 则修改了系统状态空间模型的输出矩阵C为0 2。,状态空间模型到传递函数模型的转换 (1/3),3. 状态空间模型到传递函数模型的转换 Matlab提供了非常方便地转换各种模型的函数,如由状态空间模型转换为传递函数模型、由传递函数模型求状态空间模型。 由

12、于系统的传递函数模型是惟一的,由状态空间模型转换为传递函数模型可以直接采用建立传递函数模型的tf()函数,但其输入变量格式不同。,状态空间模型到传递函数模型的转换 (2/3),由状态空间模型求解传递函数模型问题的调用格式为: 连续系统: 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) 则有如

13、下结果 即为所求的状态空间模型对应的传递函数模型。,传递函数模型到状态空间模型的转换 (1/2),4.传递函数模型到状态空间模型的转换 由于状态变量的选择不同,状态空间模型并不惟一,因此由传递函数模型转换得到的状态空间模型有许多不同的类型。 在Matlab中,主要有函数ss()和canon()提供由传递函数模型到状态空间模型的转换,可以得到3种类型的状态空间模型: 等效(equivalent)实现状态空间模型、 模态(modal)规范形和 友矩阵(companion)实现。 模态规范形和友矩阵实现分别对应于状态空间模型的对角线规范形和能控规范I形。,传递函数模型到状态空间模型的转换 (2/2)

14、,若要求解如约旦规范形、能控、能观规范形等其他类型的状态空间模型,则需自己编制相应的Matlab程序。 下面分别讨论Matlab提供的如下转换函数: 转换函数ss() 规范形转换函数canon() 常微分方程(传递函数)转换为状态空间模型函数dif2ss(),转换函数ss()(1/2),(1) 转换函数ss() Matlab提供的转换函数ss()即为前面介绍的建立状态空间模型的函数ss(),但其输入变量格式不同。 对于由传递函数模型求解状态空间模型问题,其调用格式为 连续系统: con_ss=ss(con_tf) 离散系统: dis_ss=ss(dis_tf) 其中,con_tf和dis_tf

15、分别为已赋值的连续和离散系统传递函数模型, con_ss和dis_ss分别为求得的连续和离散系统状态空间模型。,转换函数ss()(2/2),如在执行Matlab程序m2-1后,执行语句 sys_1_ss=ss(sys_1) 则有如下结果 即为所求模型的一个等效状态空间模型实现。,规范形转换函数canon()(1/3),(2) 规范形转换函数canon() Matlab提供的规范形转换函数canon()可以将传递函数模型转换得到状态空间的模态规范形,即对角规范形,其调用格式为 连续系统: con_ss=canon (con_tf, modal) 离散系统: dis_ss=canon (dis_t

16、f, modal),规范形转换函数canon()(2/3),如,在执行Matlab程序m2-1后,执行语句 sys_can_ss=canon(sys_1,modal) 则有如下结果 即为所求的模型的对角线规范形实现。,规范形转换函数canon()(3/3),Matlab提供的规范形转换函数canon(),还可以将传递函数模型转换得到状态空间的友矩阵实现,即后面第4章将介绍的能控规范I形。 对转换函数canon()转换为能控规范I形的情况将在后面介绍。,常微分方程(传递函数)转换为状态空间模型函数dif2ss()(1/5),(3) 常微分方程(传递函数)转换为状态空间模型函数dif2ss() 在

17、2.3.1节与2.3.2节介绍过通过选择状态变量建立高阶常微分方程(可直接对应于传递函数)的状态空间模型的方法。 由该变换方法,编著者编制Matlab模型转换函数dif2ss(),可以通过选择状态变量,建立高阶常微分方程(传递函数)的状态空间模型。,常微分方程(传递函数)转换为状态空间模型函数dif2ss()(2/5),函数dif2ss()的主要调用格式为 sys_ss=dif2ss (sys_tf,type) sys_ss=dif2ss (sys_num, sys_den,type) 其中,第1种输入格式为传递函数模型,第2种为传递函数的分子和分母多项式; type为变换的方法和输出状态空间

18、模型选择的符号串变量。 对应于2.3.1节的选择输出变量和输入变量的相变量组合为状态变量,所得到的系统矩阵为友矩阵的变换方法,符号串type为companion; 对应于2.3.2节的通过传递函数部分分式展开,建立约旦规范形(含对角线规范形)的变换方法,符号串type为jordan。,常微分方程(传递函数)转换为状态空间模型函数dif2ss()(3/5),Matlab问题2-4 试在Matlab中建立例2-7与例2-9的高阶微分方程 的传递函数模型。 Matlab程序m2-4如下。,常微分方程(传递函数)转换为状态空间模型函数dif2ss()(4/5),Matlab程序m2-1执行结果如下。,

19、常微分方程(传递函数)转换为状态空间模型函数dif2ss()(5/5),上述编制的转换函数dif2ss 是针对连续系统的,读者可以非常方便地扩展成也同样适用于离散系统的多种输入输出格式的Matlab函数。,状态及状态空间模型变换 (1/1),2.7.2 状态及状态空间模型变换 在状态空间分析方法中,状态及状态空间模型变换是一个非常重要工具和分析方法基础。 在这里,涉及的主要计算问题有 状态空间模型的变换; 特征值、特征向量与广义特征向量的计算; 一般状态空间模型到约旦规范形的变换。 Matlab及其所附带的线性代数、符号计算以及控制系统设计工具箱中提供了部分可直接调用的用于这些问题的计算的函数

20、,但有些计算需要自己编制相应的函数和程序。,状态空间模型的变换(1/3),1. 状态空间模型的变换 Matlab提供在给定变换矩阵下,计算状态空间模型变换的可直接调用函数ss2ss(),其调用格式为: sysT = ss2ss(sys,T) 其中,sys和sysT分别为变换前与变换后(输入与输出)的状态空间模型变量; T为给定的变换矩阵。 函数ss2ss进行的状态变换为 , 将状态空间模型(A,B,C,D)变换为,状态空间模型的变换(2/3),Matlab问题2-5 试在Matlab中计算例2-11的状态空间模型变换,其中状态空间模型和变换矩阵分别为 的传递函数模型。 Matlab程序m2-5

21、如下。,状态空间模型的变换(3/3),Matlab程序m2-5执行结果如下。,由于数值计算存在一定的计算误差,上述计算结果中矩阵A的非对角元素实际上应为0。,例2-11的计算结果,特征值、特征向量与广义特征向量的计算 (1/4),2. 特征值、特征向量与广义特征向量的计算 Matlab提供直接计算特征值和特征向量的函数为eig(),其调用格式为: d = eig(A) V,D = eig(A) 其中,第1种格式为只计算所有特征值,输出格式为将所有特征值排成向量; 第2种格式可同时得到所有特征向量和特征值,输出格式为所有特征值为对角线元素的对角线矩阵D,所有特征向量为列向量并排成矩阵V。,特征值

22、、特征向量与广义特征向量的计算 (2/4),Matlab的函数eig()不能直接计算广义特征向量,要计算广义特征向量则需要符号计算工具箱的函数jordan(),其调用格式为 J = jordan(A) V,J = jordan(A) 其中,第1种调用格式为只计算A矩阵对应的约旦矩阵J; 第2格式可同时得到所有广义特征向量和约旦矩阵J,其中广义特征向量为列向量并排成矩阵V。,特征值、特征向量与广义特征向量的计算(3/4),Matlab问题2-6 试在Matlab中计算例2-13中如下矩阵的特征值和广义特征向量。 Matlab程序m2-5如下。,特征值、特征向量与广义特征向量的计算(4/4),Ma

23、tlab程序m2-6执行结果如下。,由于函数eig()不能计算广义特征向量和约旦矩阵,因此在不能判定矩阵是否存在重根时,建议使用函数jordan()。,一般状态空间模型到约旦规范形的变换 (1/3),3. 一般状态空间模型到约旦规范形的变换 Matlab没有直接提供将一般状态空间模型变换成约旦规范形(对角线规范形为其一个特例)的函数,但可 利用符号计算工具箱提供的计算约旦矩阵和广义特征向量的函数jordan()求解广义特征向量, 进而构造变换矩阵求解约旦规范形。,一般状态空间模型到约旦规范形的变换(3/3),Matlab问题2-7 试在Matlab中将例2-17的如下状态空间模型变换为约旦规范

24、形。 Matlab程序m2-7如下。,一般状态空间模型到约旦规范形的变换(3/3),Matlab程序m2-7执行结果如下。,例2-17的计算结果,? 为什么两者计算结果有些不一致,特征向量和广义特征向量不惟一,自然变换矩阵就不惟一,但变换的约旦规范形的本质是一致的。,组合系统的模型计算 (1/1),2.7.3 组合系统的模型计算 Matlab提供了可直接计算组合系统传递函数模型和状态空间模型的函数,分别是: 并联联结系统函数parallel()、 串联联结系统函数series()和 反馈联结系统函数feedback()。 采用这些函数可以直接计算SISO和MIMO系统的传递函数阵和状态空间模型

25、的3种联结组合系统的传递函数阵或状态空间模型。,组合系统的模型计算 (2/1),这3个函数的主要调用格式为 sys = parallel(sys1,sys2) sys = series(sys1,sys2) sys = feedback(sys1,sys2) 其中,输入sys1和sys2为组成组合系统的2个子系统模型,可以都为传递函数阵模型,也可以都为状态空间模型; sys为输出的组合系统模型。 当输入的sys1和sys2为传递函数阵模型,则输出sys也为传递函数阵模型; 当输入的sys1和sys2为状态空间模型,则输出sys也为状态空间模型。,组合系统的模型计算(3/4),Matlab问题2

26、-8 试在Matlab中计算如下2个系统的并联组合系统的传递函数。 Matlab程序m2-8如下。,组合系统的模型计算(4/4),Matlab程序m2-8执行结果如下。,上述函数parallel()的执行结果没有进行零极点相消得到最低阶的传递函数模型。,组合系统的模型计算(5/4),函数minreal()可以对传递函数模型化简得到最低阶的传递函数模型。 函数minreal()的主要调用格式为: sys_out=mineral(sys_in) 其中,sys_in和sys_out分别为输入和输出的传递函数阵。 对Matlab程序m2-8的执行结果sys()运行 sys_4=mineral(sys_3) 则有如下计算结果,组合系统的模型计算(6/4),Matlab问题2-9 试在Matlab中计算如下2个系统的反馈组合系统的状态

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论