当前位置:文档之家› 现代控制理论实验指导书1

现代控制理论实验指导书1

实验一、线性系统的数学模型转换一、 实验目的1、学习系统状态空间模型的建立方法;2、通过编程、上机调试,掌握系统状态空间模型之间转换的方法。

二、 实验主要仪器与设备1、PC 计算机1台;2、MATLAB6.X 或MATLAB7.X 软件1套。

三、 实验原理1、假设系统是单输入单输出系统(简称SISO ),其输入、输出分别用u(t)、y(t)来表示,则线性系统的传递函数模型:1110111a s a s a s b s b s b s b )s (U )s (Y )s (G n n nm m m m ++++++++==----在MATLAB 语言中,可以利用传递函数分子、分母多项式的系数向量进行描述,分子num 、分母den 多项式的系数向量分别为:num=[b m ,b m-1,…,b 0],den=[1,a n-1,…,a 0] 这里分子、分母多项式系数按s 的降幂排列。

2、假设系统是单输入单输出系统(简称SISO ),其零极点模型为:)p s ()p s )(p s ()z s ()z s )(z s (K)s (G n m ------= 2121其中z i (i=1,2,…,m)和p i (i=1,2,…,n)分别为系统的零点和极点,K 为系统 增益。

[z]、[p]、[k]分别为系统的零极点和增益向量。

3、设系统的状态空间模型为:DuCx y Bu Ax x+=+=在MATLAB 中,系统状态空间用(A ,B ,C ,D )矩阵组表示,MATLAB 提供了建立状态空间模型的函数ss(),其常见的调用格式为:sys=ss(A ,B ,C ,D )。

4、将传递函数模型转换为状态空间模型的函数为tf2ss(),如[A,B,C,D]= tf2ss(num,den)。

5、将零极点模型转换为状态空间模型的函数为zp2ss(),如[A,B,C,D]=zp2ss(z,p,k)。

6、利用MATLAB提供的函数canon()可以将系统直接转化为对角型,其常用调用格式为:[A s,B s,C s,D s,T s]= canon(A,B,C,D,’mod’)其中,A、B、C、D是变换前系统的状态空间实现,参烽’mod’表示转化成对角型,A s、B s、C s、D s是变换后的对角型,T s表示所作的线性变换。

7、利用MATLAB提供的函数ss2ss()可以进行状态空间表达式的线性变换,其常用调用格式为:[A1,B1,C1,D1]= ss2ss(A,B,C,D,inv(T))四、预习要求做实验前必须认真复习MATLAB仿真课程中相关的知识以及现代控制理论课本中关于状态空间表达式的建立的内容。

五、实验内容及步骤1、利用[A,B,C,D]= tf2ss(num,den) 将传递函数模型转换为状态空间模型。

2、利用[A,B,C,D]=zp2ss(z,p,k) 将零极点模型转换为状态空间模型。

3、利用sys=ss(A,B,C,D)直接得出系统的状态空间模型。

4、利用[A s,B s,C s,D s,T s]= canon(A,B,C,D,’mod’) 将系统状态空间模型转化为对角型。

5、利用[A1,B1,C1,D1]= ss2ss(A,B,C,D,inv(T)) 实现系统状态空间表达式的线性变换。

六、思考题1、变换矩阵T如何计算。

2、如何将系统的状态空间模型转换为传递函数模型?3、如何将系统的状态空间模型转换为零极点模型?4、系统的传递函数模型与零极点模型又是如何转换的?七、实验报告1、根椐已知的系统传递函数(自拟或选择现代控制理论课本中例题或习题),将传递函数模型转换为状态空间模型。

写出设计的MATLAB程序和运行结果。

2、根椐已知的系统零极点模型(自拟或选择现代控制理论课本中例题或习题),将零极点模型转换为状态空间模型。

写出设计的MATLAB程序和运行结果。

3、根据已知的系统矩阵A、控制矩阵B、输出矩阵C和直接转移矩阵D (自拟或选择现代控制理论课本中例题或习题)直接得出系统的状态空间模型。

写出设计的MATLAB程序和运行结果。

4、根据给定的系统状态空间表达式(自拟或选择现代控制理论课本中例题或习题),写出直接转化对角型和线性变换的程序代码和运行结果。

实验二、能控能观性及其标准型一、实验目的1、掌握系统能控能观性判别方法及能控能观性标准型;2、掌握利用MATLAB实现系统能控能观性的判别及能控、能观性标准型的转化。

二、实验主要仪器与设备1、PC计算机1台;2、MATLAB6.X或MATLAB7.X软件1套。

三、实验原理1、能控性定义及其判别设单输入n阶线性定常连续系统为:B u。

若存在一个分段连续的=x+A x控制函数u(t),能在有限的时间段[t0,t f]内把将系统从t0时刻的初始状态X(t0)转移到任意指定的终态X(t f),则称系统在t0时刻的状态X(t0)是能控的;如果系统的每一个状态都是能控的,则称系统是状态完全能控的;反之,只要有一个状态不能控,就称系统是不能控的。

n阶线性定常连续系统能控的充分必要条件为能控判别阵M=[B AB …A n-1B]的秩是满秩的,即rank[M]=n。

2、能观性定义及其判别若对任意给定的输入u(t),总能在有限的时间段[t0,t f]内,根据系统的输入u(t)及系统观测的y(t),能唯一地确定t0时刻的每一状态X(t0),则称系统在t0时刻是状态能观的。

n阶线性定常连续系统能观的充分必要条件为能观判别阵N=[C CA …CA n-1]T的秩是满秩的,即rank[N]=n。

3、能控标准型控制系统的能控标准型有两种形式,分别称之为能控I 型和能控II 型。

对于能控I 型)C ,B ,A (c c c c 1111∑,其各矩阵形式为:[]110111210110010001000010--=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡----=n c c n c C ,B ,a a a a A βββ对于能控II 型)C ,B ,A (c c c c 2222∑,其各矩阵形式为:[]110221102001100001000010000--=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡---=n c c n c C ,B ,a a a A βββ若线性定常单输入系统:Cxy buAx x =+=是能控的,则可以通过非奇异矩阵 []⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=----1010010001121321211n n n n c a a aa a ab Ab b A bAT的线性变换,将系统)C ,B ,A (∑变换成能控I 型)C ,B ,A (c c c c 1111∑。

其中a i (i=0,1,2,…,n-1)是系统特征多项式的系数。

或通过非奇异矩阵[]bA bA Ab bT n n c 122--= 将系统)C ,B ,A (∑变换成能控II 型)C ,B ,A (c c c c 2222∑。

4、能观标准型控制系统的能观标准型有两种形式,分别称之为能观I 型和能观II 型。

对于能观I 型)C ,B ,A (o o o o 1111∑,其各矩阵形式为:[]0011000100001011221112101=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡----=---c n n o n o C ,B ,a a a a A ββββ对于能观II 型)C ,B ,A (o o o o 2222∑,其各矩阵形式为:[]1001000010000100002122121102=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡---=---c n n o n o C ,B ,a a a A ββββ若线性定常单输入系统:Cxy buAx x =+=是能观的,则可以通过非奇异矩阵 []Tn n o CA CACA C T 1211---= 的线性变换,将系统)C ,B ,A (∑变换成能观I 型)C ,B ,A (o o o o 1111∑。

或通过非奇异矩阵⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=----C CA CA CA a a a a a a T n n n n o2112312121000100101将系统)C ,B ,A (∑变换成能观II 型)C ,B ,A (o o o o 2222∑。

其中a i (i=0,1,2,…,n-1)是系统特征多项式的系数。

四、 预习要求做实验前必须认真复习MATLAB 仿真课程中相关的知识以及现代控制理论课本中关于系统的能控性、能观性判别、能控能观标准型以及能控性分解和能观性分解等的内容。

五、 实验内容及步骤1、利用M= ctrb(A,B),求系统的能控判别矩阵M=[B ,AB ,A 2B ,…],结合求M 秩的函数rank(M),从而判别系统的能控性。

2、利用N=obsv(A,C) 求系统的能观判别矩阵N=[C ,CA ,CA 2,…]T ,结合求N 秩的函数rank(N),从而判别系统的能观性。

3、当系统能控性矩阵的秩小于系统的维数n 时,利用[A c ,B c ,C c ]=ctrbf(A ,B ,C )对线性系统进行能控性分解。

4、当系统能控性矩阵的秩小于系统的维数n 时,利用[A o ,B o ,C o ]=obsvf(A ,B ,C )对线性系统进行能观性分解。

5、利用[A1,B1,C1,D1]= ss2ss(A,B,C,D,inv(T)) 实现系统状态空间表达式的线性变换。

六、 思考题1、C c1中的βi 与C c2中的βi 是不是同数值?2、B o1中的βi 与B o2中的βi 是不是同数值?七、 实验报告1、已知系统)C ,B ,A (∑的相应系统矩阵为⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=103021101A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=210021B ,⎥⎦⎤⎢⎣⎡-=010001C ,试判断系统是否能控?是否能观?写出设计的MATLAB 程序和运行结果。

2、已知系统)D ,C ,B ,A (∑的相应系统矩阵为⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=020113021A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=112B ,[]100=C ,D=0,试判断它的能控性,如完全能控,将其转化为能控II 型。

写出设计的MATLAB 程序和运行结果。

3、已知系统)D ,C ,B ,A (∑的相应系统矩阵为⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=020113021A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=112B ,[]100=C ,D=0,试判断它的能观性,如完全能观,将其转化为能观I 型。

写出设计的MATLAB 程序和运行结果。

4、已知系统)C ,B ,A (∑的相应系统矩阵为⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=310301100A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=011B ,[]210-=C ,试对系统进行能控性结构分解和能观性结构分解写出设计的MA TLAB 程序和运行结果。

相关主题