【导读】上次课简单回顾:matlab基础。2)线性定常系统:线性系统、系数不随时间变化;先得到的就是一个微分方程。统进行性能分析。4)微分方程是控制系统模型的基础。1)建立该电路的微分方程式;电压的关系曲线。?1)确定电路的输入和输出量;2)列出原始的微分方程式;3)消去中间变量。note:ode45:4/5阶龙格-库塔法,后续课程会介绍到。4)在matlab中,Laplace变换如何实现?分解因式处理,以获得系统的零点和极点的表示形式。并绘制零极点图。控制系统常用到并联系统,这时就要对系统函数进。行分解,使其表现为一些基本控制单元的和的形式。展开,以及把传函分解为微分单元的形式。[b,a]=residue可以将部分分式转化为多项式比。1)状态空间表达式=状态方程+输出方程。部状态对系统性能的影响。阵组表示,对应的指令是:ss。
【正文】
第三章控制系统数学模型
上次课简单回顾:matlab基础
主要内容
–动态过程微分方程描述
–Laplace变换
–传递函数、零极点模型、状态空间
–模型之间的相互转换
–模型连接(串联-并联-反馈)
引言
1)系统-模型-仿真:先有数学模型,然后才能进行仿真;
2)线性定常系统:线性系统、系数不随时间变化;
3)模型:传递函数、状态空间、零极点增益模型
动态过程微分方程描述
1)给定一个实际的控制对象,我们往往需要通过机械、
电学、力学等专业领域知识建立该系统的数学模型,首
先得到的就是一个微分方程。
2)针对线性定常系统而言,得到的是常系数的线性微
分方程。
3)如果已知输入量及变量的初始条件,对微分方程进
行求解,就可以得到系统输出量的表达式,并由此对系
统进行性能分析。
4)微分方程是控制系统模型的基础。
动态过程微分方程描述
例子
电路图如下:R=,L=2亨,C=,初始状态:
电感电流为零,电容电压为,t=0时刻接入1V的电
压。
1)建立该电路的微分方程式;
2)求0电压的关系曲线。
Vs=1
V
t=0
RL
C
+
-
)(ti)(tv
o
动态过程微分方程描述
例子
建立系统微分方程的思路:
1)确定电路的输入和输出量;
输入:Vs,输出:vo
2)列出原始的微分方程式;
3)消去中间变量。
()()()(),()o
os
dvtditLRitvtVitC
dtdt
2
2
()()()oo
os
dvtdvtLCRCvtV
dtdt
动态过程微分方程描述
例子
21
212
12
()()
()(),()
,,
()/
/
o
os
o
s
dvtdit
LRitvtVitC
dtdt
xixv
xVxRxL
xxC
令则
代码:,
note:ode45:4/5阶龙格-库塔法,后续课程会介绍到。
Laplace变换
问题:
1)Laplace变换的定义?
2)为什么要进行Lapalce变换?
3)如何通过Laplace变换构建传递函数?
4)在matlab中,Laplace变换如何实现?
Laplace变换
答案:
1)Laplace变换的定义?
2)为什么要进行Lapalce变换?
3)如何通过Laplace变换构建传递函数?
4)在matlab中,Laplace变换如何实现?
符号计算,“laplace”指令
0()()
stFsftedt
()()
n
n
n
dftsFs
dt
动态过程的传递函数描述
问题:输入u-输出y之间的关系用微分方程表达如下,求
对应的系统传递函数。
ububyayayayammnnnn)(01)1(1)(0
动态过程的传递函数描述
传递函数的matlab表达:系统在MATLAB中可以方便地由分
子和分母系数构成的两个向量唯一地确定出来,这两个向
量分别用num和den表示:
num=[b0,b1,…,bm]
den=[a0,a1,…,an]
注意:它们都是按s的降幂进行排列的。
传递函数:将式子在零初始条件下,两边同时进行拉氏变换,
则有连续系统的传递函数如下:
)(
)(
)(
)()(
1
1
10
0
nn
nn
m
m
asasasa
bsb
sU
sYsG
动态过程的传递函数描述
例子:某系统的微分方程表达如下,用matlab求其传递
函数。
(3)(2)(2)(1)111048yyyuuu
代码:
num=[148];
den=[111010];
g=tf(num,den);
零极点模型:分别对原系统传递函数的分子、分母进行
分解因式处理,以获得系统的零点和极点的表示形式。
))...()((
))...()(()(
21
21
n
m
pspsps
zszszsKsG
K为系统增益
zi为零点
pj为极点
动态过程的传递函数描述
在MATLAB中零极点增益模型用[z,p,K]矢量组表示。
即:
z=[z1,z2,…,zm]
p=[p1,p2,...,pn]
K=[k]
函数tf2zp()可以用来求传递函数的零极点和增益。
动态过程的传递函数描述
例子:已知系统的传递函数,求其分子分母多项式,
并绘制零极点图。
动态过程的传递函数描述
2
32
48()
111110
ssGs
sss
代码:
Note:tf2zp、pzmap的用法;
控制系统常用到并联系统,这时就要对系统函数进
行分解,使其表现为一些基本控制单元的和的形式。
函数[r,p,k]=residue(b,a)对两个多项式的比进行部分
展开,以及把传函分解为微分单元的形式。
向量b和a是按s的降幂排列的多项式系数。部分分式
展开后,余数返回到向量r,极点返回到列向量p,常
数项返回到k。
[b,a]=residue(r,p,k)可以将部分分式转化为多项式比
p(s)/q(s)。
动态过程的传递函数描述
练习:部分分式展开
44
192)(
23
3
sss
sssG
动态过程的传递函数描述
练习:
num=[2,0,9,1];
den=[1,1,4,4];[r,p,k]=residue(num,den)
1
2
2
2
)(
sis
i
is
isG
p=
+
k=
2
r=
+
结果表达式:
动态过程的传递函数描述
1)状态空间表达式=状态方程+输出方程。又称为
动态方程。
2)note:与传递函数相比,状态空间揭示了系统内
部状态对系统性能的影响。
DuCxy
BuAxx
3)在MATLAB中,系统状态空间用(A,B,C,D)矩
阵组表示,对应的指令是:ss(A,B,C,D)。
状态空间
举例:
系统为一个两输入两输出系统
》A=[16910;31268;47911;5121314];
》B=[46;24;22;10];
》C=[0021;8022];
》D=zeros(2,2);
》G=ss(A,B,C,D);
xy
uxx
2208
1200
01
22
42
64
1413125
11974
86123
10961
在一些场合下需要用到某种模型,而在另外一些场合
下可能需要另外的模型,这就需要进行模型的转换。
模型转换的函数包括:
residue:传递函数模型与部分分式模型互换
ss2tf:状态空间模型转换为传递函数模型
ss2zp:状态空间模型转换为零极点增益模型
tf2ss:传递函数模型转换为状态空间模型
tf2zp:传递函数模型转换为零极点增益模型
zp2ss:零极点增益模型转换为状态空间模型
zp2tf:零极点增益模型转换为传递函数模型
一、模型的转换
模型转换与连接
用法举例:
1)已知系统状态空间模型为:
求传递函数以及零极点模型。
》A=[01;-1-2];B=[0;1];
》C=[1,3];D=[1];
》[num,den]=ss2tf(A,B,C,D,iu)
%iu用来指定第n个输入,当只有一个输入时可忽略。
》num=152;den=121;
》[z,p,k]=ss2zp(A,B,C,D,iu)
》z=p=-1k=1
-1
uxy
uxx
31
1
0
21
10
2)已知一个单输入三输出系统的传递函数模型为:
求状态空间表达式。
》num=[00-2;0-1-5;120];den=[16116];
》[A,B,C,D]=tf2ss(num,den)
》A=-6-11-6B=1C=00-2D=0
10000-1-50
01001200
6116
2
)(
6116
5
)(
6116
2
)(
)(
)(
23
2
31
232123
1
11
sss
ss
sG
sss
s
sG
ssssu
sy
sG
3)系统的零极点增益模型:
求传递函数。
》z=[-3];p=[-1,-2,-5];k=6;
》[num,den]=zp2tf(z,p,k)
》num=00618den=181710
》[a,b,c,d]=zp2ss(z,p,k)
》a=00b=1
1
000
c=00d=0
注意:零极点的输入可以写出行向量,也可以写出列
向量。
)5)(2)(1(
)3(6)(
sss
ssG
4)已知部分分式:
求传递函数。
》r=[,,-2];
》p=[2i,-2i,-1];k=2;
》[num,den]=residue(r,p,k)
》num=
2091
》den=
1144
1
2
2
2
)(
sis
i
is
isG
1、并联:parallel
格式:
[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2)
%并联连接两个状态空间系统。
[num,den]=parallel(num1,den1,num2,den2)
%将并联连接的传递函数进行相加。
二、模型的连接
模型转换与连接
1、并联:parallel
格式:
[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2,inp1,inp2,o
ut1,out2)
%inp1和inp2分别指定两系统中要连接在一起的输
入端编号,从u1,u2,…,un依次编号为1,2,…,n;
out1和out2分别指定要作相加的输出端编号,编号
方式与输入类似。inp1和inp2既可以是标量也可以
是向量。out1和out2用法与之相同。如
inp1=1,inp2=3表示系统1的第一个输入端与系统2的
第三个输入端相连接。
若inp1=[13],inp2=[21]则表示系统1的第一个输入
与系统2的第二个输入连接,以及系统1的第三个输
入与系统2的第一个输入连接。
二、模型的连接
模型转换与连接
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)
%将串联连接的传递函数进行相乘。
模型转换与连接
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的含义与前述相同。
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
意义与上述相同。
举例应用:
1)系统1为:
系统2为:
()
求按串联、并联、正反馈、负反馈连接时的系统状态
方程及系统1按单位负反馈连接时的状态方程。
111
111
31
1
0
21
10
uxy
uxx
22
222
41
1
0
31
10
xy
uxx
2)系统1、系统2方程如下所示。
13
12
11
13
12
11
12
11
13
12
11
13
12
11
13
12
11
101
010
110
100
100
001
010
263
122
441
u
u
u
x
x
x
y
y
u
u
u
x
x
x
x
x
x
23
22
21
23
22
21
22
21
23
22
21
23
22
21
23
22
21
101
011
101
010
100
010
001
161
123
011
u
u
u
x
x
x
y
y
u
u
u
x
x
x
x
x
x
求部分并联
后的状态空
间,要求
u11与u22连
接,u13与
u23连接,
y11与y21连
接。
本章小结
在进行控制系统的仿真之前,建立系统的模型表达式
是关键的一步。
对于控制系统,有不同的分类,在本课程中主要讨论
的是线性定常连续系统
系统的描述有不同的方法:微分方程;传递函数;零
极点增益模式;部分分式展开;状态空间模型等。
系统的模型之间可以相互转换,要求熟练掌握各种模
型之间转换的命令。
模型之间可以进行连接,要求掌握常用的模型连接命
令:串联、并联、反馈及闭环。