第二章 控制系统的数学描述

33

Click here to load reader

Upload: edna

Post on 24-Jan-2016

146 views

Category:

Documents


3 download

DESCRIPTION

第二章 控制系统的数学描述. 第一节 控制系统的数学模型. 第二节 常微分方程的数值解法. 第一节 控制系统的数学模型. 控制系统的数学模型在控制系统的研究中有着相当重要的地位,要对系统进行仿真处理,首先应当知道系统的数学模型,然后才可以对系统进行模拟。同样,如果知道了系统的模型,才可以在此基础上设计一个合适的控制器,使得系统响应达到预期的效果,从而符合工程实际的需要。. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第二章 控制系统的数学描述

第二章 控制系统的数学描述

第一节 控制系统的数学模型

第二节 常微分方程的数值解法

Page 2: 第二章 控制系统的数学描述

第一节 控制系统的数学模型

• 控制系统的数学模型在控制系统的研究中有着相当重要的地位,要对系统进行仿真处理,首先应当知道系统的数学模型,然后才可以对系统进行模拟。同样,如果知道了系统的模型,才可以在此基础上设计一个合适的控制器,使得系统响应达到预期的效果,从而符合工程实际的需要。

Page 3: 第二章 控制系统的数学描述

• 在线性系统理论中,一般常用的数学模型形式有:微分方程模型、传递函数模型(系统的外部模型)、状态方程模型(系统的内部模型)、零极点增益模型和部分分式模型等。这些模型之间都有着内在的联系,可以相互进行转换。

• 微分方程模型是控制系统模型的基础,一般来讲,利用机械学、电学、力学等物理规律,便可以得到控制系统的动态方程,这些方程对于线性定常连续系统而言是一种常系数的线性微分方程。

Page 4: 第二章 控制系统的数学描述

1.1 控制系统数学模型的表示形式

• 微分方程形式

1')1(

2)(

1'

1)1(

1)(

mm

mmnn

nn bubububyayayay

系统在 MATLAB 中可以方便地由输入和输出系数构成的两个向量唯一地确定出来,这两个向量分别用 num 和 den表示。

num=[b1, b2,…,bm, bm+1]

den=[1, a1, a2,…, an]

Page 5: 第二章 控制系统的数学描述

• 传递函数形式

nnnnn

mmmm

asasasas

bsbsbsbsG

12

21

1

11

21)(

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

num=[b1,b2,…,bm,bm+1]

den=[1,a1,…,an-1,an]注意:它们都是按 s 的降幂进行排列的。

可见,微分方程形式的模型和传递函数模型是一致的

Page 6: 第二章 控制系统的数学描述

举例:传递函数描述 1 )

》 num=[12,24,0,20];den=[2 4 6 2 2];

2 )

借助多项式乘法函数 conv 来处理:》 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]))));

22642

202412)(

234

23

ssss

sssG

)523()1(

)66)(2(4)(

233

22

sssss

ssssG

Page 7: 第二章 控制系统的数学描述

• 零极点增益形式

)())((

)())(()(

21

21

n

m

pspsps

zszszsKsG

零极点模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子、分母进行分解因式处理,以获得系统的零点和极点的表示形式。 在 MATLAB 中零极点增益模型用 [Z,P,K] 矢量组表示。即: Z=[z1,z2,…,zm]

P=[p1,p2,...,pn]

K=[k]

Page 8: 第二章 控制系统的数学描述

• 部分分式形式

)()(2

2

1

1 shps

r

ps

r

ps

rsG

n

n

在 MATLAB 中部分分式模型用 [R,P,H] 矢量组表示。即: R=[r1,r2,…,rn]

P=[p1,p2,...,pn]

H=[h0,h1,…,h ]

Page 9: 第二章 控制系统的数学描述

• 状态方程形式

DuCxy

BuAxx

系统状态空间用( A,B,C,D) 矩阵组表示

Page 10: 第二章 控制系统的数学描述

举例:

系统为一个两输入两输出系统》A=[1 6 9 10; 3 12 6 8; 4 7 9 11; 5 12 13 14];》B=[4 6; 2 4; 2 2; 1 0];》C=[0 0 2 1; 8 0 2 2]; 》D=zeros(2,2);

xy

uxx

2208

1200

01

22

42

64

1413125

11974

86123

10961

Page 11: 第二章 控制系统的数学描述

1.2 模型的转换与连接

• 模型转换的函数包括:residue:传递函数模型与部分分式模型互换ss2tf: 状态空间模型转换为传递函数模型ss2zp: 状态空间模型转换为零极点增益模型tf2ss: 传递函数模型转换为状态空间模型tf2zp: 传递函数模型转换为零极点增益模型zp2ss: 零极点增益模型转换为状态空间模型zp2tf: 零极点增益模型转换为传递函数模型

1.2.1 模型的转换

Page 12: 第二章 控制系统的数学描述

状态空间 SS 传递函数 tf

零极点 ZP 极点留数

ss2tf

tf2ss

zp2ssss2zp zp2tf

tf2zp

residue

Page 13: 第二章 控制系统的数学描述

用法举例:1 )部分分式展开:》 num=[2,0,9,1];

》 den=[1,1,4,4]; [r,p,k]=residue(num,den)

44

192)(

23

3

sss

sssG

1

2

2

25.0

2

25.02)(

sis

i

is

isG

p=

0.0000+2.0000i

0.0000-2.0000i

-1.0000

k=

2

r=

0.0000-0.2500i

0.0000+0.2500i

-2.0000

结果表达式:

Page 14: 第二章 控制系统的数学描述

2 )已知系统状态空间模型为:

》 A=[0 1; -1 -2]; B=[0;1];

》 C=[1,3]; D=[1];

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

% iu 用来指定第 n 个输入,当只有一个输入时可忽略。》 num=1 5 2; den=1 2 1;

》 [z,p,k]=ss2zp(A,B,C,D,iu)

》 z= -4.5616 p= -1 k=1

-0.4384 -1

uxy

uxx

31

1

0

21

10

Page 15: 第二章 控制系统的数学描述

3 )已知一个单输入三输出系统的传递函数模型为:

》 num=[0 0 -2;0 -1 -5;1 2 0];den=[1 6 11 6];

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

》 A= -6 -11 -6 B= 1 C= 0 0 -2 D= 0

1 0 0 0 0 -1 -5 0

0 1 0 0 1 2 0 0

6116

2)(

6116

5)(

6116

2

)(

)()(

23

2

31

2321231

11

sss

sssG

sss

ssG

ssssu

sysG

Page 16: 第二章 控制系统的数学描述

4 )系统的零极点增益模型:

》 z=[-3];p=[-1,-2,-5];k=6;》 [num,den]=zp2tf(z,p,k)》 num= 0 0 6 18 den= 1 8 17 10

》 [a,b,c,d]=zp2ss(z,p,k)》 a= -1.0000 0 0 b=1 2.0000 -7.0000 -3.1623 1 0 3.1623 0 0 c= 0 0 1.8974 d=0 • 注意:零极点的输入可以写出行向量,也可以写出列

向量。

)5)(2)(1(

)3(6)(

sss

ssG

Page 17: 第二章 控制系统的数学描述

5 )已知部分分式:

》 r=[-0.25i,0.25i,-2];

》 p=[2i,-2i,-1];h=2;

》 [num,den]=residue(r,p,h)

》 num=

2 0 9 1

》 den=

1 1 4 4

1

2

2

25.0

2

25.02)(

sis

i

is

isG

Page 18: 第二章 控制系统的数学描述

1.2.2 模型的连接

(1) 并联: parallel [a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2) %并联连接两个状态空间系统。[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2,inp1,inp2,out1,out2)

% inp1 和 inp2 分别指定两系统中要连接在一起的输入端编号,从 u1,u2,…,un 依次编号为 1,2,…,n ; out1 和 out2 分别指定要作相加的输出端编号,编号方式与输入类似。 inp1 和 inp2 既可以是标量也可以是向量。 out1和 out2 用法与之相同。如 inp1=1,inp2=3 表示系统 1 的第一个输入端与系统 2 的第三个输入端相连接。

• 若 inp1=[1 3],inp2=[2 1] 则表示系统 1 的第一个输入与系统 2 的第二个输入连接,以及系统 1 的第三个输入与系统 2 的第一个输入连接。

[num,den]=parallel(num1,den1,num2,den2) %将并联连接的传递函数进行相加。

Page 19: 第二章 控制系统的数学描述

(2) 串联: series

[a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2)

%串联连接两个状态空间系统。[a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2,out1,in2)

% out1 和 in2 分别指定系统 1 的部分输出和系统 2 的部分输入进行连接。

[num,den]=series(num1,den1,num2,den2)

%将串联连接的传递函数进行相乘。

Page 20: 第二章 控制系统的数学描述

(3) 反馈: feedback [a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2) %将两个系统按反馈方式连接,一般而言,系统 1 为对象,

系统 2 为反馈控制器。 [a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,sign)%系统 1 的所有输出连接到系统 2 的输入,系统 2 的所有输

出连接到系统 1 的输入, sign 用来指示系统 2 输出到系统1 输入的连接符号, sign 缺省时,默认为负,即 sign= -1 。总系统的输入 / 输出数等同于系统 1 。

[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,inp1,out1) %部分反馈连接,将系统 1 的指定输出 out1 连接到系统 2 的

输入,系统 2 的输出连接到系统 1 的指定输入 inp1 ,以此构成 闭环系统。

[num,den]=feedback(num1,den1,num2,den2,sign) %可以得到类似的连接,只是子系统和闭环系统均以传递函

数的形式表示。 sign 的含义与前述相同。

Page 21: 第二章 控制系统的数学描述

(4) 闭环: cloop (单位反馈) [ac,bc,cc,dc]=cloop(a,b,c,d,sign)

%通过将所有的输出反馈到输入,从而产生闭环系统的状态空间模型。当 sign=1 时采用正反馈;当 sign= -1 时采用负反馈; sign 缺省时,默认为负反馈。

[ac,bc,cc,dc]=cloop(a,b,c,d,outputs,inputs)

%表示将指定的输出 outputs 反馈到指定的输入 inputs ,以此构成闭环系统的状态空间模型。一般为正反馈,形成负反馈时应在 inputs 中采用负值。

[numc,denc]=cloop(num,den,sign)

%表示由传递函数表示的开环系统构成闭环系统, sign意义与上述相同。

Page 22: 第二章 控制系统的数学描述

第二节 常微分方程的数值解法

•数字仿真就是对系统的数学模型即微分方程求数值解的过程,常用的方法:

常微分方程数值解; 连续系统离散相似法

Page 23: 第二章 控制系统的数学描述

2.1 常微分方程数值解

设常微分方程:

00 )(

),(

yty

ytfdt

dy

求解微分方程满足初始条件的特解问题,即常微分方程的初值问题。

Page 24: 第二章 控制系统的数学描述

使用数值解法求常微分方程的初值问题的方法:

• 离散点 tk(k=1,2,…n) ,为计算方便,通常假设 t1

<t2<…<tn-1<tn;相邻两点的距离为步长,即 h=tk-

1-tk

• 求近似解是一步一步进行的,依据给定的 (t0,y0)求 y1,再由 (t1,y1) 求 y2,然后求 y3,称为步进法。

• 寻求数值解的方法,就是寻求由 yk计算出 yk+1

( K=0,1,…,n) 的递推公式,称为计算格式。

Page 25: 第二章 控制系统的数学描述

2.2 数值积分法2.2.1 欧拉法

00 )(

),(

yty

ytfdt

dy

从微分的定义出发:取增量;求比值;取极限

h

tyhtyiml

dt

dyn

)()(0

当 th 足够小时,由差商代替微商:

h

tyhty

t

y

dt

dy )()(

),()()(

ytft

tytty

Page 26: 第二章 控制系统的数学描述

整理得到:)](,[)()( tytfttytty

将初始条件代入:

)](,[)](,[)()( 0000000 tytftytytfttytty

Page 27: 第二章 控制系统的数学描述

例: 0)()( 2' tyty 1.0h 10 y

)()](,[ 2 tytytf

10 y9.0)1(1.01))(( 0

201 tyhyy

819.0)9.0(1.09.0 22 y

4627810.010 y

tty

1

1)(精确解

Page 28: 第二章 控制系统的数学描述

t 0 0.1 0.2 0.3 1.0

精确解 1 0.9090909 0.8333333 0.7692307 0.5

数值解 1 0.9 0.819 0.7519 0.4627810

Page 29: 第二章 控制系统的数学描述

欧拉法迭代公式

00

1

)(

),(

yty

ytfhyy kkkk

dt

dy

kf

1kf

kt 1ktt

如何提高精度?

Page 30: 第二章 控制系统的数学描述

2.2.2 预估 -校正法

先用欧拉法预估: ),( 00*

1 ytfhyy kk

再用梯形公式校正:

)],(),([2

*111 kkkkkk ytfytf

hyy

00 )( yty

将 简写 :1ky hkkyy kk )(2

1211

p

iiikw

1

平均斜率

Page 31: 第二章 控制系统的数学描述

2.2.3 龙格 - 库塔法

四阶龙格库塔法迭代公式:

)22(6

),(

)2

,2

(

)2

,2

(

),(

43211

34

23

12

1

kkkkh

yy

hkyhtfk

kh

yh

tfk

kh

yh

tfk

ytfk

kk

kk

kk

kk

kk

Page 32: 第二章 控制系统的数学描述

2.2.4 关于数值积分法的几点说明

• 单步法和多步法• 显式和隐式• 稳定性

Page 33: 第二章 控制系统的数学描述

2.2.5 数值算法的应用

• 保证计算稳定

• 计算精度

关键:如何选择步长

如 RK-4: minh

如 RK-4 ,保证精度为 0.5%: )5

1(

40 c

n ort

h

变步长积分

+

允许误差

误差估计

计算结果