当前位置:
文档之家› 现代控制理论的MATLAB实现ppt课件
现代控制理论的MATLAB实现ppt课件
7
1、状态空间模型与传统传递函数 2、利用MATLAB分析系统的能控性和能观性 3、在MATLAB中李雅普诺夫系统稳定性的实现 4、MATLAB中的状态反馈与极点配置 5、在Simulink中简单系统的建模与仿真
8
2、利用MATLAB分析系统的能控性和能观性
在MATLAB中,可以利用函数ctrb()和obsv()求出能控性 矩阵M和能观性矩阵N,再用rank()函数求取矩阵的秩, 与n比较后即可判别系统的能控性和能观性。其基本 调用格式如下
AT P PA Q 成立。在MATLAB中可以调用lyap函数直接求解对称矩阵P, 判断系统的稳定性,其调用格式如下:
P=lyap(A’,Q)
13
3、在MATLAB中李雅普诺夫系统稳定性的实现
例:设系统的状态方程为
2 2 1 0
(x&t)=
0
2
0
x(t)
1
u(t
),
y(t
)
1
0
1 x(t)
>> Q=eye(3); >> P=lyap(A',Q)
故系统是稳定的
>> e=eig(P)
14
3、在MATLAB中李雅普诺夫系统稳定性的实现
例:设系统的状态方程为
2 2 1 0
(x&t)=
0
2
0
x(t)
1
u(t
),
y(t
)
1
0
1 x(t)
1 4 0
1
试判断系统的稳定性。
解:利用李雅普诺夫第二法判断系统稳定性,计算
x
y
同样可B 得输出反馈系统的状态空间表C达式:
+
x&+( A BHC)x BR
y Cx A
H
20
4、 MATLAB中的状态反馈与极点配置
4.2状态反馈系统的极点配置
反馈极点配置问题,是指对于给定的受控系统, 如何寻找反馈控制,使得所构成的闭环系统的极 点配置在所希望的位置上,从而达到规定性能指 标的要求。极点配置可以通过输出反馈来实现, 也可以通过状态反馈来实现。经典控制理论中的 根轨迹法,就是通过改变某个参数,使闭环极点 达到希望的位置,它就是一种基于输出反馈的极 点配置。然而,对于输出反馈来说,这种重新配 置闭环极点的能力非常有限。现代控制理论中, 当采用状态反馈时,可改变的参数多,使这种重 新配置闭环极点的能力大大增加。
系统的特征根,若全部具有负实部,则系统稳定。 MATLAB程序如下:
>> A=[-2 2 -1;0 -2 0;1 -4 0]; >> B=[0;1;1]; >> D=0; >> C=[1 0 1]; >> e=eig(A)
故系统是稳定的
15
1、状态空间模型与传统传递函数 2、利用MATLAB分析系统的能控性和能观性 3、在MATLAB中李雅普诺夫系统稳定性的实现 4、MATLAB中的状态反馈与极点配置 5、在Simulink中简单系统的建模与仿真
现代控制理论的MATLAB实现
MATLAB Application of Modern Control Theory
1
经典控制理论与现代控制理论分析方法的区别:
在经典控制理论中,采用传递函数,建立起系统输入量 与输出量之间的关系,只是系统的外部特性,并不能反 映系统内部的动态特性。 而现代控制理论中,利用系统的状态空间模型描述系统 输入、输出与内部状态之间的关系,揭示了系统内部状 态的运动规律。
2
1、状态空间模型与传统传递函数 2、利用MATLAB分析系统的能控性和能观性 3、在MATLAB中李雅普诺夫系统稳定性的实现 4、MATLAB中的状态反馈与极点配置 5、在Simulink中简单系统的建模与仿真
3
1、状态空间模型与传统传递函数
1.1 状态空间模型的实现
一般地,状态空间表达式的向量矩阵形式如下:
MATLAB软件提供了ss()函数以建立系统的状态空间模型, 其调用格式为:
sys=ss(A,B,C,D)
5
1、状态空间模型与传统传递函数
1.2 传递函数与状态空间之间的转换
应用MATLAB软件的tf2ss(num,den)函数,可将系统的传递 函数转换为状态空间表达式,其调用格式为:
[A,B,C,D]=tf2ss(num,den)
10
1、状态空间模型与传统传递函数 2、利用MATLAB分析系统的能控性和能观性 3、在MATLAB中李雅普诺夫系统稳定性的实现 4、MATLAB中的状态反馈与极点配置 5、在Simulink中简单系统的建模与仿真
11
3、在MATLAB中李雅普诺夫系统稳定性的实现
1)李雅普诺夫第一法(间接法) 李雅普诺夫第一 法是利用状态方程解的特性来判断系统稳定性的方法。 系统的唯一平衡状态 xe 0渐进稳定的充分必要 条件是:A的所有特征根均具有负实部。在MATLAB中, 求取矩阵的特征根可以采用eig命令。其调用格式为
u +Kx v
由上述两式整理可得状态反馈系统的状态空间表 达式:
x& ( A BK )x Bv
y Cx
19
4、 MATLAB中的状态反馈与极点配置
4.1.2输出反馈
输出反馈是采用输出向量y构成线性反馈,应 用输出反馈构成的闭环系统,又称输出反馈 系统,其结构框图如下所示:
v +
u
+
x'
5
4
3
2
1
0
-1
-2
-3
0
1
2
3
4
5
6
7
8
x1 x2 x3
9
10
28
5、在Simulink中简单系统的建模与仿真
阶跃信号作用下的零状态响应:
1
x1
0.8
x2
x3
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
4
5
6
7
8
9
10
29
5、在Simulink中简单系统的建模与仿真
以X(0)为初始状态的阶跃响应:
E=eig(A)
12
3、在MATLAB中李雅普诺夫系统稳定性的实现
1)李雅普诺夫第二法(直接法) 李雅普诺夫第二法 是通过构造李雅普诺夫函数来判断系统稳定性的方法。
线性定常系统 x& Ax的原点平衡状态 xe 0渐进稳
定的充分必要条件是:对于任意给定的一个正定对称矩 阵Q,有唯一正定对称矩阵P使
16
4、 MATLAB中的状态反馈与极点配置
4.1状态反馈与输出反馈
在经典控制理论中,由于采用的数学模型是输 入输出模型,因此它只能用输出作为反馈量进 行输出反馈控制。而在现代控制理论中,由于 采用系统内部的状态变量来描述系统的动态特 性,因而除了输出反馈外,常采用状态反馈。
17
4、 MATLAB中的状态反馈与极点配置
21
4、 MATLAB中的状态反馈与极点配置
4.2状态反馈系统的极点配置
求解控制系统的极点配置问题,其核心在于计算状态 反馈增益矩阵K。MATLAB软件针对单输入系统提供了 相应的函数acker(),英语求解状态反馈矩阵K. MATLAB提供的计算单输入系统反馈增益矩阵K的函数 acker(),其调用格式为:
K=acke期 望闭环极点组成的向量;K为状态反馈增益矩阵。
22
4、 MATLAB中的状态反馈与极点配置
4.2状态反馈系统的极点配置
例:某化工厂加热炉系统框图如图所示,试应用MATLAB
求出使闭环系统极点为1 1, 2 2, 3 的状5 态反馈增
6
1、状态空间模型与传统传递函数
1.2 传递函数与状态空间之间的转换
例:设控制系统的传递函数为
2s2 5s 9 G(s) s3 7s2 12s+9
利用MATLAB实现系统等效的状态空间模型。
解:MATLAB程序如下: >> num=[0 2 5 9]; >> den=[1 7 12 9]; >> [A,B,C,D]=tf2ss(num,den)
4.1.1状态反馈
状态反馈是将系统每一个状态变量乘以相应 的反馈系数,然后反馈到输入端与参考输入 叠加形成控制输入,其结构框图如下所示:
vu
+
B
x'
+
+
+
x
y
C
A
K
18
4、 MATLAB中的状态反馈与极点配置
4.1.1状态反馈
上述系统的状态空间表达式为:
x& Ax Bu
y
Cx
Du
同时状态反馈控制:
益矩阵K.
解:根据受控系统的传递函数,可得其状态空
间方程:
x&1 0.1 0.25 0 x1 0
x&2
0
0.4
0.6
x2
0
u
x&3 0 0 0.5 x3 1
应用MATLAB的acker()函数求解程序为:
>> A=[-0.1 0.25 0;0 -0.4 0.6;0 0 -0.5];
1 4 0
1
试判断系统的稳定性。
解:利用李雅普诺夫第二法判断系统稳定性,求解
李雅普诺夫方程,得对称矩阵P。若P正定,即P的全
部特征根均为正数,系统稳定。MATLAB程序如下:
>> A=[-2 2 -1;0 -2 0;1 -4 0];