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