实验六状态空间分析及设计
一、实验目的
;
2. 掌握应用MATLAB对状态空间进行分析和设计;
二、实验内容
1. 己知系统的状态空间表达式:
(1).分析系统的能控性、能观性
clc;
clear all;
close all;
A=[1 2 0;3 -1 1;0 2 0];B=[2;1;1];C=[0 0 1];D=0;
T=ctrb(A,B)
R=rank(T)
N=obsv(A,C)
RN=rank(N)
结果:
T =
2 4 16
1 6 8
1 2 12
R =
3
N = 0 0 1
0 2 0
6 -2 2
RN =3
从计算结果看出:系统能控性矩阵和能观测性矩阵的秩都为3,为满秩,所以系统是能控的,也是能观测的。
(2).化为对角标准型
程序:
[As,Bs,Cs,Ds,Ts]=canon(A,B,C,D,'mod')
结果:
As = - 0 0
0 0
0 0
Bs = -
-
-
Cs =- -
Ds =0
Ts = - -
- - -
-
(3).分析系统稳定性
p=lyap(A',eye(3))
结果:
p =-
- -
- -
可以看出:p矩阵为
通过状态反馈使系统的闭环极点配置在−8,−1±4i,求状态反馈增益阵K
程序:
clc;clear all;close all;
A=[0 1 0;0 0 1;-1 -5 -6];B=[0;0;1];C=[1 0 0;0 1 0;0 0 1];
P=[-8,-1+4*i,-1-4*i];
K=acker(A,B,P)
结果:
K =135 28 4
3. 设系统的状态空间表达式为
试设计一状态观测器,其极点为−1,−2,−3。
A=[0 1 1;0 0 1;-6 -11 -6];
B=[1;0;0];
C=[1 1 0];
D=0;
P0=[-1,-2,-3];
sys=ss(A,B,C,D);
Ob=obsv(sys);
unob=length(A)-rank(Ob);
if unob~=0
disp('The systerm is unobservable.')
break
else
disp('The systerm is observable.')
end
disp('gain matrix of the observer:')
G=acker(A',C',P0)
Kg=G'
disp('Model of the observer:')
A0=A-Kg*C
B0=B
实验结果:
The systerm is observable.
gain matrix o
matlab实验六 来自淘豆网m.daumloan.com转载请标明出处.