求解系统的状态方程

求解系统的状态方程
求解系统的状态方程

求解系统的状态方程

一、实验设备

PC计算机,MATLAB软件,控制理论实验台

二、实验目的

(1)掌握状态转移矩阵的概念。学会用MATLAB求解状态转移矩阵

(2)学习系统齐次、非齐次状态方程求解的方法,计算矩阵指数,求状态响应;

(3)通过编程、上机调试,掌握求解系统状态方程的方法,学会绘制输出响应和状态响应曲线;

(4)掌握利用MATLAB导出连续状态空间模型的离散化模型的方法。

三、实验原理及相关基础

(1)参考教材P99~101“3.8利用MATLAB求解系统的状态方程”

(2)MATLAB现代控制理论仿真实验基础

(3)控制理论实验台使用指导

四、实验内容

(1)求下列系统矩阵A对应的状态转移矩阵

(a)

(b)

代码:

syms lambda

A=[lambda 0 0;0 lambda 0;0 0 lambda];syms t;f=expm(A*t)

(c)

代码:

syms t;syms lambda;A=[lambda 0 0 0;0 lambda 1 0;0 0 lambda 1;0 0 0 lambda];f=expm(A*t)

(2) 已知系统

a) 用MATLAB求状态方程的解析解。选择时间向量t,绘制系统的状态响应曲线。观察并记录这些曲线。

(1)

代码:

A=[0 1; -2 -3];

B=[3;0];

C=[1 1];

D=[0];

u=1;

syms t;

f=expm(A*t);%状态转移矩阵

x0=0;

s1=f*B*u;

s2=int(s1,t,0,t)%状态方程解析解

状态曲线:

(2)A=[0 1;-2 -3];

syms t;

f=expm(A*t);

X0=[1;0];

t=[0:0.5:10];

for i=1:length(t);

g(i)=double(subs(f(1),t(i)));

end

plot(t,g)

(3)状态转移矩阵

syms lambda

A=[lambda 0 0;0 lambda 0;0 0 lambda];

syms t

f=expm(A*t)

b) 计算系统在初始状态作用下状态响应和输出响应的数值解(用函数

initial( )), 绘制系统的状态响应曲线和输出响应曲线。观察并记录这些响应曲线,然后将这一状态响应曲线与a)中状态响应曲线进行比较。

代码:

A=[0 1; -2 -3];

B=[3;0];

C=[1 1];

D=[0];

G=ss(A,B,C,D);

t=[0:0.5:10];

x0=[1;0]

[y0,t,x0]=initial(G,x0,t);

plot(t,x0,'-',t,y0,'-')

c) 根据b)中所得的状态响应的数值解,绘制系统的状态轨迹(用命令plot(x(:,1), x(:,2)))。记录系统状态转移的过程,结合a)和b)中的状态响应曲线分析这一过程。

代码:

A=[0 1; -2 -3];

B=[3;0];

C=[1 1];

D=[0];

t=[0:0.01:10];

x0=[1;0];

G=ss(A,B,C,D)

[y,t,x]=initial(G,x0,t);

plot(x(:,1),x(:,2))

2) 令初始状态为零,输入为u(t)=1(t).

a)用MATLAB求状态方程的解析解。选择时间向量t,绘制系统的状态响应曲线。观察并

记录这些曲线。

代码:

A=[0 1; -2 -3];

B=[3;0];

C=[1 1];

D=[0];

G=ss(A,B,C,D);

[y,t,x]=step(G);

plot(t,x)

b)计算系统在初始状态作用下状态响应和输出响应的数值解, 绘制系统的状态

响应曲线和输出响应曲线。观察并记录这些响应曲线,然后将这一状态响应曲线与a).中状态响应曲线进行比较。

代码:

A=[0 1; -2 -3];

B=[3;0];

C=[1 1];

D=[0];

G=ss(A,B,C,D);

G=ss(A,B,C,D);

t=[0:0.5:10];

x0=[1;-1];

[y0,t,x0]=initial(G,x0,t);

plot(t,x0,'-',t,y0,'-')

c) 根据b)中所得的状态响应的数值解,绘制系统的状态轨迹。记录系统状态转移的过程,结合a)和b)中的状态响应曲线分析这一过程。

代码:

A=[0 1; -2 -3];

B=[3;0];

C=[1 1];

D=[0];

t=[0:0.5:10];

G=ss(A,B,C,D);

x0=[0 0];

[y0,t,x0]=initial(G,x0,t);

plot(t,x0,'-',t,y0,'-')

绘制系统的状态响应曲线、输出响应曲线和状态轨迹。观察和分析这些响应曲线和状态轨迹是否是(1)和(2)中的响应曲线和状态轨迹的叠加。

代码:

A=[0 1; -2 -3];

B=[3;0];

C=[1 1];

D=[0];

t=[0:0.01:10];

x0=[1 -1];

G=ss(A,B,C,D);

[y,t,x]=initial(G,x0,t);

plot(t,x)

4)令初始状态为零,输入为u(t)=3sin(5t)。计算状态响应和输出响应的数值解(用函数lsim( )),并绘制系统的状态响应曲线、输出响应曲线和状态轨迹。

代码:

A=[0 1; -2 -3];

B=[3;0];

C=[1 1];

D=[0];

t=[0:0.01:10];

u=3*sin(5*t);

G=ss(A,B,C,D);

[y,t,x]=lsim(G,u,t);

plot(t,x)

(3)已知系统

1)当输入为u(t)=(t)时,用函数initial( )和 impulse( )求解系统的状态响应和输出响应的

数值解,并绘制系统的状态响应曲线、输出响应曲线和状态轨迹。

状态响应:

A=[0,1,0;0,0,1;-6,-11,-6];

B=[0;0;1];

C=[6,0,0];

D=0;

t=[0:0.5:10];

G=ss(A,B,C,D);

x0=[1,0,-1];

[y,t,x]=initial(G,x0,t);

u=ones(size(t));

plot(t,x,t,y)

输出响应:

A=[0,1,0;0,0,1;-6,-11,-6]; B=[0;0;1];

C=[6,0,0];

D=0;

t=[0:0.01:10];

u=ones(size(t));

G=ss(A,B,C,D);

[y,t,x]=lsim(G,u,t);

plot(t,x)

控制系统状态方程求解

第2章 控制系统的状态方程求解 要点: ① 线性定常状态方程的解 ② 状态转移矩阵的求法 ③ 离散系统状态方程的解 难点: ① 状态转移矩阵的求法 ② 非齐次状态方程的解 一 线性定常系统状态方程的解 1 齐次状态方程的解 考虑n 阶线性定常齐次方程 ? ? ?==0)0()()(x x t Ax t x & (2-1) 的解。 先复习标量微分方程的解。设标量微分方程为 ? ??==0)0(x x ax x & (2-2) 对式(2-2)取拉氏变换得 )()(0s aX X s sX =- 移项 0)()(x s X a s =- 则 a s x s X -= )(

取拉氏反变换,得 00 0!)()(x k at x e t x k k at ∑∞ === 标量微分方程可以认为是矩阵微分方程当n=1时的特征,因此矩阵微分方程的解与标量微分方程应具有形式的不变性,由此得如下定理: 定理2-1 n 阶线性定常齐次状态方程(2-1)的解为 00 0!)()(x k At x e t x k k At ∑∞ === (2-3) 式中,∑∞ ==0 !)(k k At k At e 推论2-1 n 阶线性定常齐次状态方程 ???==00 )()()(x t x t Ax t x & (2-4) 的解为 0)(0 )(x e t x t t A -= (2-5) 齐次状态方程解的物理意义是)(0 t t A e -将系统从初始时刻0t 的初始 状态0x 转移到t 时刻的状态)(t x 。故)(0 t t A e -又称为定常系统的状态转移 矩阵。 (状态转移矩阵有四种求法:即定义(矩阵指数定义)法、拉氏反变换法、特征向量法和凯来-哈密顿(Cayly-Hamilton )法) 从上面得到两个等式 ∑∞ ==0 !)(k k At k At e ])[(11---=A sI L e At 其中,第一式为矩阵指数定义式,第二式可为At e 的频域求法或拉氏反变换法

第三章线性系统状态方程的解

第三章 系统的分析——状态方程的解 §3-1线性连续定常齐次方程求解 一、齐次方程和状态转移矩阵的定义 1、齐次方程 状态方程的齐次方程部分反映系统自由运动的状况(即没有输入作用的状况),设系统的状态方程的齐次部分为: )()(t Ax t x =& 线性定常连续系统: Ax x =& 初始条件:00x x t == 2、状态转移矩阵的定义 齐次状态方程Ax x =&有两种常见解法:(1)幂级数法;(2)拉氏变换法。其解为 )0()(x e t x At ?=。其中At e 称为状态转移矩阵(或矩阵指数函数、矩阵指数),记为: At e t =)(φ。 若初始条件为)(0t x ,则状态转移矩阵记为:) (0 0)(t t A e t t -=-Φ 对于线性时变系统,状态转移矩阵写为),(0t t φ,它是时刻t ,t 0的函数。但它一般不能写成指数形式。 (1)幂级数法——直接求解 设Ax x =&的解是t 的向量幂级数 Λ ΛΛΛ+++++=k k t b t b t b b t x 2210)( 式中ΛΛ,,, ,,k b b b b 210都是n 维向量,是待定系数。则当0=t 时, 000b x x t === 为了求其余各系数,将)(t x 求导,并代入)()(t Ax t x =&,得: Λ ΛΛΛ&+++++=-1232132)(k k t kb t b t b b t x )(2210ΛΛΛΛ+++++=k k t b t b t b b A

上式对于所有的t 都成立,故而有: ????? ??????======00 3 230 21201!1!31312121b A k b b A Ab b b A Ab b Ab b K K M 且有:00x b = 故以上系数完全确定,所以有: Λ ΛΛΛ+++++=k k t b t b t b b t x 2210)( ΛΛ++++ +=k k t b A k t b A t Ab b 020200! 1 !21 )0()! 1!21(22x t A k t A At I k k ΛΛ+++++= 定义(矩阵指数或矩阵函数): ∑∞==+++++=022! 1!1!21K k k k k At t A k t A k t A At I e ΛΛ 则 )0()(x e t x At ?=。 (2)拉氏变换解法 将Ax x =&两端取拉氏变换,有 )()0()(s AX X s sX =- )0()()(X s X A sI =- )0()()(1X A sI s X ?-=- 拉氏反变换,有 )0(])[()(1 1x A sI L t x ?-=--

系统的状态方程

第2章 系统的状态空间描述 输入输出:可测量,欠全面 §2.1 基本概念 例2.1 密封水箱 1 ()(),y t x t μ = 1 d [()()]d [()()]d c x u t y t t u t x t t μ ?=-?=-? 即 μ 2 (m ) c 3 ()(m /s)u t 3 ()(m /s)y t ()(m) x t

11 ()()()x t x t u t c c μ'=-+. 解 t t c c x t x u c 001()e ()e d τμμττ- ??=+ ? ??? ?. 若()u t r ≡, 则 0()e 1e ,()t t c c x t x r r t μμμμ--??=+-?→∞ ? ? ??, 若想()x h ∞=, 只要()h u t μ =.

例2.2 LRC 123()()();i t i t i t =+ ()()()()()L R L C u t v t v t v t v t =+=+ 选1()()C i t v t 和; 则: 1 1()()()1()()()C C C Li t v t u t Cv t i t v t R '=-+???'?=-? 其余 2()()/, C i t v t R = ()()(),()(). L C R C v t u t v t v t v t =-=)(t v C ) (t v L L R C )(1t i )(t u )(2t i )(3t i 2.2 图

1. 系统的状态变量 状态变量: 完全表征系统,个数最少的一组变量 未来()x t :由0()x t 和0t t ≥的()u t 完全确定. 对定常, 常取00t =. 2. 状态向量和状态空间 状态向量:12()(),(),()T n x t x t x t x t =???? 状态空间:()x t 取值范围 状态轨线:()x t 的轨迹(无时间轴) 3.几点说明

2.状态方程的解

Chapter2状态方程的解 我们要解决的问题是:在系统初始时刻0t t =时,初始状态为00)(x t x =的条件下,对该系统施加控制)(t u ,求出系统状态)(t x 的变化,即求解非齐次方程 (0)(≠t u )初值问题的解: 00 0)()()()()()(t t x t x t u t B t x t A t x ≥=+=& 或者在系统不加控制)(t u ,(0)(=t u 称为自由系统)的条件下,求出初值)(0t x 对系统状态)(t x 的影响,即求解齐次方程初值问题的解: 00 0)(),()()(t t x t x t x t A t x ≥==& ????离散连续线性定常????离散连续线性时变?? ?? ? ??????数值解解析解非齐次数值解解析解齐次 2.1 线性定常系统状态方程的解 2.1.1 n 阶、线性、定常(无关与时间t A )连续系统齐次状态方程的解 我们知道:常系数线性微分方程(标量方程))()(t ax t x =&,0)0(x x =,0≥t 其解为 00 0!)(x k t a x e t x k k k at ∑∞ === 对齐次状态方程(矩阵方程) )()(t Ax t x =&,0)0(x x =,0≥t 很自然,仿照常系数线性微分方程,可得到n 阶线性、定常、连续系统齐次(0)(=t u )状态方程的解 000! )(x k t A x e t x k k k At ∑ ∞ === 定义矩阵指数:k k k k k At t A k t A At I k t A e ! 1 21!220 ++++=≡∑ ∞ =Λ,它仍是一个矩阵。 若初始时间为0t ,则状态方程的解为 00 00) (!)()(0x k t t A x e t x k k k t t A ∑∞ =--== ∑ ∞ =--=0 0) (! )(0k k k t t A k t t A e 称为定常(连续)系统的状态转移矩阵。 )(0t t A e -物理意义:将系统从初始状态)(0t x 转移到(时刻t 的)状态)(t x 。 2.1.2 矩阵指数At e 的性质

求解系统的状态方程

求解系统的状态方程 一、实验设备 PC计算机,MATLAB软件,控制理论实验台 二、实验目的 (1)掌握状态转移矩阵的概念。学会用MATLAB求解状态转移矩阵 (2)学习系统齐次、非齐次状态方程求解的方法,计算矩阵指数,求状态响应; (3)通过编程、上机调试,掌握求解系统状态方程的方法,学会绘制输出响应和状态响应曲线; (4)掌握利用MATLAB导出连续状态空间模型的离散化模型的方法。 三、实验原理及相关基础 (1)参考教材P99~101“3.8利用MATLAB求解系统的状态方程” (2)MATLAB现代控制理论仿真实验基础 (3)控制理论实验台使用指导 四、实验内容 (1)求下列系统矩阵A对应的状态转移矩阵 (a)

(b) 代码: syms lambda A=[lambda 0 0;0 lambda 0;0 0 lambda];syms t;f=expm(A*t) (c) 代码: syms t;syms lambda;A=[lambda 0 0 0;0 lambda 1 0;0 0 lambda 1;0 0 0 lambda];f=expm(A*t) (2) 已知系统

a) 用MATLAB求状态方程的解析解。选择时间向量t,绘制系统的状态响应曲线。观察并记录这些曲线。 (1) 代码: A=[0 1; -2 -3]; B=[3;0]; C=[1 1]; D=[0]; u=1; syms t; f=expm(A*t);%状态转移矩阵 x0=0; s1=f*B*u; s2=int(s1,t,0,t)%状态方程解析解 状态曲线: (2)A=[0 1;-2 -3]; syms t; f=expm(A*t); X0=[1;0]; t=[0:0.5:10]; for i=1:length(t); g(i)=double(subs(f(1),t(i))); end plot(t,g)

利用 MATLAB 求解系统的状态方程

实验报告 实验名称利用 MATLAB 求解系统的状态方程 系统的能控性、能观测性分析 系专业班 姓名学号授课老师 预定时间2014-5-28实验时间实验台号14 一、目的要求 掌握状态转移矩阵的概念。学会用 MATLAB求解状态转移矩阵。 掌握求解系统状态方程的方法,学会绘制状态响应曲线; 掌握线性系统状态方程解的结构。学会用 MATLAB 求解线性定常系统的状态响应和输出响应,并绘制相应曲线。 掌握能控性和能观测性的概念。学会用 MATLAB 判断能控性和能观测性。 掌握系统的结构分解。学会用 MATLAB 进行结构分解。 掌握最小实现的概念。学会用 MATLAB 求最小实现。 二、原理简述 线性定常连续系统的状态转移矩阵为。 函数 step( ) 可直接求取线性连续系统的单位阶跃响应。 函数 impulse( ) 可直接求取线性系统的单位脉冲响应。 函数 lsim( ) 可直接求取线性系统在任意输入信号作用下的响应。 函数 initial( ) 可求解系统的零输入响应。 n 阶线性定常连续或离散系统状态完全能控的充分必要条件是:能控性

的秩为 n。 线性定常连续或离散系统输出能控的充分必要条件是:矩阵 的秩为m。 n 阶线性定常连续或离散系统状态完全能观测的充分必要条件是:能观测性矩阵 的秩为 n。 三、仪器设备 PC 计算机,MATLAB 软件 四、内容步骤 题2.1 A=[0 1;-2 -3];B=[3;0];C=[1 1];D=0; G=ss(A,B,C,D); t=0.5; p=expm(A*t) u1=0;x10=[1;-1]; [y1o,t,x1o]=initial(G,x10,t) t2=0:0.5:10;x20=[0;0];u2=ones(size(t2)); [y2,t2,x2]=lsim(G,u2,t2); plot(t2,x2,':',t2,y2,'-')

控制系统状态方程求解

第三章控制系统状态方程求解 3-1 线性连续定常齐次方程求解 所谓齐次方程解,也就是系统的自由解,是系统在没有控制输入的情况下,由系统的初始状态引起的自由运动,其状态方程为: ………………………………………………………(3 -1) 上式中,X是n×1维的状态向量,A是n×n的常数矩阵。 我们知道,标量定常微分方程的解为: ………………(3 -2) 与(3-2)式类似,我们假设(3-1)的解X(t)为时间t的幂级数形式,即: ………………………………(3 -3) 其中为与X(t)同维的矢量。 将(3-3)两边对t求导,并代入(3-1)式,得:

上式对任意时间t都应该成立,所以变量t的各阶幂的系数都应该相等,即: 即: ……………………………………………(3-4) 将系统初始条件代入(3-3),可得。代入(3-4)式可得: (3) 5) 代入(3-3)式可得(3-1)式的解为:

(3) 6) 我们记: (3) 7) 其中为一矩阵指数函数,它是一个n×n的方阵。所以(3-6)变为: (3) 8) 当(3-1)式给定的是时刻的状态值时,不难证明: (3) 9) 从(3-9)可看出,形式上是一个矩阵指数函数,且也是一个各元素随时间t变化的n×n矩阵。但本质上,它的作用是将时刻的系统状态矢量转移到t时刻的状态矢量,也就是说它起到了系统状态转移的作用,所以我们称之为状态转移矩阵(The State Transition Matrix),并记: (3) 10) 所以:

【例3-1】已知,求解:根据(3-7)式, 3-2 的性质及其求法 性质1: 【证】根据的定义式(3-7), 【证毕】 性质2:① ②

第三章线性系统状态方程的解

第三章 线性系统的运动分析 §3-1线性连续定常齐次方程求解 一、齐次方程和状态转移矩阵的定义 1、齐次方程 状态方程的齐次方程部分反映系统自由运动的状况(即没有输入作用的状况),设系统的状态方程的齐次部分为:)()(t Ax t x = 线性定常连续系统:Ax x = 2、状态转移矩阵的定义 齐次状态方程Ax x = 有两种常见解法:(1)幂级数法;(2)拉氏变换法。其解为)0()(x e t x At ?=。 其中At e 称为状态转移矩阵(或矩阵指数函数、矩阵指数),记为:At e t =)(φ。 若初始条件为)(0t x ,则状态转移矩阵记为:)(00 )(t t A e t t -=-Φ 对于线性时变系统,状态转移矩阵写为),(0t t φ,它是时刻t ,t 0的函数。但它一般不能写成指数形式。 (1)幂级数法 设Ax x = 的解是t 的向量幂级数 +++++=k k t b t b t b b t x 2210)( 式中 ,,, ,,k b b b b 210都是n 维向量,则 +++++=-1232132)(k k t kb t b t b b t x )(2210 +++++=k k t b t b t b b A 故而有: ????? ?? ????== ====003 230 2 12 01!1! 3131 2 121b A k b b A Ab b b A Ab b Ab b K K

且有0)0(b x =。 故 +++++=k k t b t b t b b t x 2210)( ++ +++=k k t b A k t b A t Ab b 02 02 00! 1! 21 )0()! 1!21(22 x t A k t A At I k k ++ ++ += 定义:∑ ∞ == ++ +++=0 2 2! 1! 1!21K k k k k At t A k t A k t A At I e 则)0()(x e t x At ?=。 (2)拉氏变换解法 将Ax x = 两端取拉氏变换,有 )()0()(s Ax x s sx =- )0()()(x s x A sI =- )0()()(1x A sI s x ?-=- 拉氏反变换,有 )0(])[()(11x A sI L t x ?-=-- 则 ])[()(11---==A sI L e t At φ 【例3.1.1】 已知系统的状态方程为x x ?? ? ???=00 10 ,初始条件为)0(x ,试求状态转移矩阵和状态方程的解。 解:(1)求状态转移矩阵 ++ ++ +==k k At t A k t A At I e t ! 1! 21)(2 2φ 此题中: ???? ??=00 10A , ?? ? ???====00 0032n A A A 所以

利用matlab求解系统的状态方程

实验报告 实验名称利用MATLAB 求解系统的状态方程 系统的能控性、能观测性分析 系专业班 姓名学号授课老师 预定时间2014-5-28实验时间实验台号14 一、目的要求 掌握状态转移矩阵的概念。学会用MATLAB求解状态转移矩阵。 掌握求解系统状态方程的方法,学会绘制状态响应曲线; 掌握线性系统状态方程解的结构。学会用MATLAB 求解线性定常系统的状态响应和输出响应,并绘制相应曲线。 掌握能控性和能观测性的概念。学会用MATLAB 判断能控性和能观测性。 掌握系统的结构分解。学会用MATLAB 进行结构分解。 掌握最小实现的概念。学会用MATLAB 求最小实现。 二、原理简述 线性定常连续系统的状态转移矩阵为。 函数step( ) 可直接求取线性连续系统的单位阶跃响应。 函数impulse( ) 可直接求取线性系统的单位脉冲响应。 函数lsim( ) 可直接求取线性系统在任意输入信号作用下的响应。 函数initial( ) 可求解系统的零输入响应。 n 阶线性定常连续或离散系统状态完全能控的充分必要条件是:能控性

矩阵的秩为n。 线性定常连续或离散系统输出能控的充分必要条件是:矩阵 的秩为m。 n 阶线性定常连续或离散系统状态完全能观测的充分必要条件是:能观测性矩阵 的秩为n。 三、仪器设备 PC 计算机,MATLAB 软件 四、内容步骤 题 A=[0 1;-2 -3];B=[3;0];C=[1 1];D=0; G=ss(A,B,C,D); t=; p=expm(A*t) u1=0;x10=[1;-1]; [y1o,t,x1o]=initial(G,x10,t) t2=0::10;x20=[0;0];u2=ones(size(t2)); [y2,t2,x2]=lsim(G,u2,t2); plot(t2,x2,':',t2,y2,'-')

相关文档
最新文档