用MATLAB处理线性系统数学模型

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

实验一 用MATLAB 处理线性系统数学模型

[说明]

一个控制系统主要由被控对象、测量装置、控制器和执行器四大部分构成。MATLAB 软件的应用对提高控制系统的分析、设计和应用水平起着十分重要的作用。采用MATLAB 软件仿真的关键问题之一是在MATLAB 软件平台上怎样正确表示被控对象的数学模型。

[实验目的]

1.了解MATLAB 软件的基本特点和功能;

2.掌握线性系统被控对象传递函数数学模型在MATLAB 环境下的表示方法及转换; 3.掌握多环节串联、并联、反馈连接时整体传递函数的求取方法;

4. 掌握在SIMULINK 环境下系统结构图的形成方法及整体传递函数的求取方法; 5.了解在MATLAB 环境下求取系统的输出时域表达式的方法。 [实验指导]

一、被控对象模型的建立

在线性系统理论中,一般常用的描述系统的数学模型形式有: (1)传递函数模型——有理多项式分式表达式 (2)传递函数模型——零极点增益表达式 (3)状态空间模型(系统的内部模型)

这些模型之间都有着内在的联系,可以相互进行转换。

1、传递函数模型——有理多项式分式表达式 设系统的传递函数模型为

111011

1......)()()(a s a s a s a b s b s b s b s R s C s G n n n n m m m m ++++++++=

=----

对线性定常系统,式中s 的系数均为常数,且a n 不等于零。

这时系统在MATLAB 中可以方便地由分子和分母各项系数构成的两个向量唯一地确定,这两个向量常用num 和den 表示。

num=[b m ,b m-1,…,b 1,b 0] den=[a n ,a n-1,…,a 1,a 0]

注意:它们都是按s 的降幂进行排列的。分子应为m 项,分母应为n 项,若有空缺项(系数为零的项),在相应的位置补零。

然后写上传递函数模型建立函数:sys=tf(num,den)。这个传递函数便在MATLAB 平台中被建立,并可以在屏幕上显示出来。

例1-1: 已知系统的传递函数描述如下: 2

2642202412)(23423++++++=s s s s s s s G

在MATLAB 命令窗口(Command Window )键入以下程序: >> num=[12,24,0,20]; >> den=[2 4 6 2 2]; >> sys=tf(num,den) 回车后显示结果: Transfer function:

12 s^3 + 24 s^2 + 20

--------------------------------------- 2 s^4 + 4 s^3 + 6 s^2 + 2 s + 2

并同时在MATLAB 中建立了这个相应的有理多项式分式形式的传递函数模型。

举例1-2:已知系统的传递函数描述如下:

)

523()1()66)(2(4)(2332

2+++++++=s s s s s s s s s G

其中,多项式相乘项,可借助多项式乘法函数conv 来处理。 在MATLAB 命令窗口 键入以下程序: >> num=4*conv([1,2],conv([1,6,6],[1,6,6]));

>> den=conv([1,0],conv([1,1],conv([1,1],conv([1,1],[1,3,2,5])))); >> sys=tf(num,den) 回车后显示结果: Transfer function:

4 s^

5 + 5

6 s^4 + 288 s^3 + 672 s^2 + 720 s + 288 --------------------------------------------------------------------------- s^

7 + 6 s^6 + 14 s^5 + 21 s^4 + 24 s^3 + 17 s^2 + 5 s

同时在MATLAB 中建立了这个有理多项式分式形式的传递函数模型。

2.传递函数模型——零极点增益模型

零极点增益模型为:

12m 12n (s-z )(s-z )...(s-z )

G (s )=K (s-p )(s-p )...(s-p )

其中:K 为零极点增益,z i 为零点,p j 为极点。 该模型 在MATLAB 中,可用[z,p,k]矢量组表示,即 z=[z 1,z 2,…,z m ]; p=[p 1,p 2,...,p n ]; k=[K];

然后在MATLAB 中写上零极点增益形式的传递函数模型建立函数:sys=zpk(z,p,k)。 这个零极点增益模型便在MATLAB 平台中被建立。

举例1-3: 已知系统的零极点增益模型:)

5)(2)(1()

3(6)(++++=s s s s s G

在MATLAB 命令窗口 键入以下程序: >> z=[-3]; p=[-1,-2,-5]; k=6; >> sys=zpk(z,p,k) Zero/pole/gain: 6 (s+3)

----------------- (s+1) (s+2) (s+5)

则在MATLAB 中建立了这个零极点增益的模型。

3.状态空间模型

状态方程与输出方程的组合称为状态空间表达式,又称为动态方程,如下:

Du

Cx y Bu Ax x

+=+=

则在MATLAB 中建立状态空间模型的程序如下: >> A=[A]; >> B=[B]; >> C=[C]; >> D=[D]; >> sys=ss(A,B,C,D)

相关文档
最新文档