现代控制理论实验指导书

《现代控制理论》实验指导书

武汉理工大学自动化学院

《现代控制理论》实验

实验一 系统的传递函数阵和状态空间表达式的转换

一、实验目的

1. 学习多变量系统状态空间表达式的建立方法、了解统状态空间表达式与传递函数相互转换

的方法;

2. 通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换方法。

二、实验要求

学习和了解系统状态方程的建立与传递函数相互转换的方法;

三、实验设备

1. 计算机1台

2. MATLAB6.X软件1套。

四、实验原理说明

设系统的模型如式(1-1)示。

??Ax?Bu?x??y?Cx?Dx?Rnu?Rmy?Rp (1-1)

其中A为n×n维系数矩阵、B为n×m维输入矩阵 C为p×n维输出矩阵,D为传递阵,一般情况下为0,只有n和m维数相同时,D=1。系统的传递函数阵和状态空间表达式之间的关系如式(1-2)示。

G(s)?num((s)?C(SI?A)?1B?D (1-2)

den(s)式(1.2)中,num(s)表示传递函数阵的分子阵,其维数是p×m;den(s)表示传递函数阵的按s降幂排列的分母。

五、验步骤

1. 据所给系统的传递函数或(A、B、C阵),依据系统的传递函数阵和状态空间表达式之间的

关系如式(1-2),采用MATLA的file.m编程。注意:ss2tf和tf2ss是互为逆转换的指令; 2. 在MATLA界面下调试程序,并检查是否运行正确。

3. [例1.1] 已知SISO系统的状态空间表达式为(1-3),求系统的传递函数。

?1??010??x1??1??x?x??x???3?u,?2???001?????2?????3??x????4?3?2????x3?????6???x1??y??100??x2?? (1-3) ??x3??

第 1 页

《现代控制理论》实验

程序:

%首先给A、B、C阵赋值; A=[0 1 0;0 0 1;-4 -3 -2]; B=[1;3;-6]; C=[1 0 0]; D=0;

%状态空间表达式转换成传递函数阵的格式为[num,den]=ss2tf(a,b,c,d,u) [num,den]=ss2tf(A,B,C,D,1)

程序运行结果: num =

0 1.0000 5.0000 3.0000

den =

1.0000 2.0000 3.0000 4.0000 从程序运行结果得到:系统的传递函数为:

s2?5s?3G(S)?3 (1-4)

s?2s2?3s?44. [例1.2] 从系统的传递函数(1.4)式求状态空间表达式。 程序:

num =[0 1 5 3]; %在给num赋值时,在系数前补0,必须使num和den赋值的个数相同; den =[1 2 3 4];

[A,B,C,D]=tf2ss(num,den)

程序运行结果:

A = B = -2 -3 -4 1 1 0 0 0 0 1 0 0 C = D =

1 5 3 0

由于一个系统的状态空间表达式并不唯一, [例1.2]程序运行结果虽然不等于式(1-3)中的A、B、C阵,但该结果与式(1-3)是等效的。不防对上述结果进行验证。

5. [例1.3] 对上述结果进行验证编程

%将[例1.2]上述结果赋值给A、B、C、D阵; A =[-2 -3 -4;1 0 0; 0 1 0]; B =[1;0;0]; C =[1 5 3]; D=0;

[num,den]=ss2tf(A,B,C,D,1)

第 2 页

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4