资源描述
实 验 报 告
实验名称 利用 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,'-')
t3=0:0.5:10;u3=1+exp(-t3).*cos(3*t3);x30=[0;0];
[y3,t3,x3]=lsim(G,u3,t3);plot(t3,x3,':',t3,y3,'-')
t4=0:0.5:10;x40=[1;2];
[y4,t4,x4]=initial(G,x40,t4); plot(t4,x4,':',t4,y4,'-')
t5=0:0.5:10;x50=[1;1];u5=cos(t5);
[y5o,t5,x5o]=initial(G,x50,t5);
[y5u,t5,x5u]=lsim(G,u5,t5);
y5=y5o+y5u; x5=x5o+x5u; plot(t5,x5,':',t5,y5,'-r')
题2.2
A=[0 1;-25 -4];B=[0;1];T=0.05;
[G,H]=c2d(A,B,T)
T=0.01
[G,H]=c2d(A,B,T)
T=1
[G,H]=c2d(A,B,T)
T=3
[G,H]=c2d(A,B,T)
题3.1
A=[6.666 -10.6667 -0.3333;1 0 1;0 1 2];B=[0;1;1];
Uc=ctrb(A,B);
rank(Uc)
题3.1
A=[6.666 -10.6667 -0.3333;1 0 1;0 1 2];B=[0;1;1];
Uc=ctrb(A,B);
rank(Uc)
题3.2
A=[6.666 -10.6667 -0.3333;1 0 1;0 1 2];C=[1 0 2];
Uo=obsv(A,C);
rank(Uo)
题3.3
A=[6.666 -10.6667 -0.3333;1 0 1;0 1 2];C=[1 0 2];
Uo=obsv(A,C);
rank(Uo)
题3.4
A=[-1 0 0 0;0 -3 0 0;0 0 -2 0;0 0 0 -4];
B=[2;1;0;-1];C=[1 -1 1 0];D=0;
G=ss(A,B,C,D);
Gm=minreal(G)
c=rank(ctrb(A,B))
o=rank(obsv(A,C))
五、数据处理
题2.1
题2.2
G = 0.9709 0.0448
-1.1212 0.7915
H = 0.0012
0.0448
T = 0.0100
G = 0.9988 0.0098
-0.2450 0.9596
H = 0.0000
0.0098
T = 1
G = -0.0761 -0.0293
0.7321 0.0410
H = 0.0430
-0.0293
T = 3
G = 0.0019 0.0005
-0.0125 -0.0001
H = 0.0399
0.0005
题3.1
ans = 3 系统能控
题3.2
ans = 3 系统能观测
题3.3
c = 3 系统能控
o = 3 系统能观测
Ac = 0 1.0000 0
0 0.0000 1.0000
-10.0000 12.0000 1.0000
Ao = 0 0 -10
1 0 12
0 1 1
题3.4
2 states removed.
a =
x1 x2
x1 -1 0
x2 0 -3
b =
u1
x1 2
x2 1
c =
x1 x2
y1 1 -1
d =
u1
y1 0
Continuous-time model.
c = 3
o = 3
六、分析讨论
MATLAB提供的函数可以方便的求出矩阵的秩,方便我们判定系统的可控性与可观测行,在函数库中的函数可以调用函数方便的求出系统的可控矩阵和可观测矩阵大大的方便了矩阵的构造。 另外,对矩阵的线性变换以及系统的可控性分解和可观测性分解和系统的最小实现都可以在MATLAB中直观的将计算结果展现出来,极具优势的解决了人工计算的缺陷。
(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)
展开阅读全文