《现代控制理论》.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

俞立徐建明编

浙江工业大学信息工程学院

2007年4月

实验1 利用MATLAB 进行传递函数和状态空间模型间的转换

1.1 实验设备

PC 计算机1台(要求P4-1.8G 以上),MATLAB6.X 或MATLAB7.X 软件1套。 1.2 实验目的

1、学习系统状态空间模型的建立方法、了解状态空间模型与传递函数相互转换的方法;

2、通过编程、上机调试,掌握系统状态空间模型与传递函数相互转换的方法。 1.3 实验原理说明

设系统的状态空间模型是

x

Ax Bu y Cx Du

=+⎧⎨

=+⎩& (1.1) p y R ∈其中:n x R ∈是系统的状态向量,是控制输入,m u R ∈是测量输出,A 是维状态矩阵、是维输入矩阵、是n n ×m n ×n p ×B D C 维输出矩阵、是直接转移矩阵。系统传递函数和状态空间模型之间的关系如式(1.2)所示。

1()()G s C sI A B D −=−+ (1.2) 表示状态空间模型和传递函数的MATLAB 函数。

函数ss (state space 的首字母)给出了状态空间模型,其一般形式是 SYS = ss(A,B,C,D)

函数tf (transfer function 的首字母)给出了传递函数,其一般形式是 G=tf(num,den)

其中的num 表示传递函数中分子多项式的系数向量(单输入单输出系统),den 表示传递函数中分母多项式的系数向量。

函数tf2ss 给出了传递函数的一个状态空间实现,其一般形式是 [A,B,C,D]=tf2ss(num,den)

函数ss2tf 给出了状态空间模型所描述系统的传递函数,其一般形式是

[num,den]=ss2tf(A,B,C,D,iu) 其中对多输入系统,必须确定iu 的值。例如,若系统有三个输入和,则iu 必须是1、2或3,其中1表示,2表示,3表示。该函数的结果是第iu 个输入到所有输出的传递函数。 21,u u 3u 1u 2u 3u 1.4 实验步骤

1、根据所给系统的传递函数或(A 、B 、C 、D ),依据系统的传递函数阵和状态空间模型之间的关系(1.2),采用MATLAB 的相关函数编写m-文件。

2、在MATLAB 界面下调试程序。

例1.1 求由以下状态空间模型所表示系统的传递函数,

⎥⎥

⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢

⎢⎢⎣⎡−+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡−−−=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡321321321]001[1202505255100010x x x y u x x x x x x

&&&

编写并执行以下的m-文件:

A=[0 1 0;0 0 1;-5 –25 –5]; B=[0;25;-120]; C=[1 0 0]; D=[0];

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

得到:

num=

0 -0.0000 25.0000 5.0000 den=

1.0000 5.0000 25.0000 5.0000

因此,所求系统的传递函数是

5

2555

25)(23++++=

s s s s s G

例1.2 考虑由以下状态空间模型描述的系统:

⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣

⎡−−=⎥⎦⎤⎢⎣⎡21212121211001101142510x x y y u u x x x x

&&

求其传递函数矩阵。

解 这是一个2输入2输出系统。描述该系统的传递函数是一个22×维矩阵,它包括4个传递函数:

⎥⎦

⎢⎣⎡)()()()()()()()(22122111s U s Y s U s Y s U s Y s U s Y

当考虑输入时,可设为零,反之亦然。执行以下的m-文件: 1u 2u

A=[0 1;-25 –4]; B=[1 1;0 1]; C=[1 0;0 1]; D=[0 0;0 0];

[num1,den1]=ss2tf(A,B,C,D,1) [num2,den2]=ss2tf(A,B,C,D,2)

得到:

num1=

0 1 4

0 0 -25

den1=

1 4 25

num2=

0 1.0000 5.0000 0 1.0000 -25.0000

den2=

1 4 25

因此,所求的4个传递函数是

25

425

)()(,2545

)()(25425

)()(,2544

)()(2

222212

12211++−=+++=++−=+++=s s s s U s Y s s s s U s Y s s s U s Y s s s s U s Y

例1.3 试给出以下传递函数的状态空间实现

10

5610

10)(23

++++=s s s s s G 解 执行以下的m-文件:

num=[0 0 10 10]; den=[1 6 5 10];

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

A=

-6 -5 -10

1 0 0 0 1 0 B=

1 0 0 C=

0 10 10 D=

因此,所考虑传递函数的一个状态空间实现是

相关文档
最新文档