线性系统理论Matlab实践仿真报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
线性系统理论Matlab实验报告
1、本题目是在已知状态空间描述的情况下要求设计一个状态反馈控制器,从而使得系统具
有实数特征根,并要求要有一个根的模值要大于5,而特征根是正数是系统不稳定,这样的设计是无意义的,故而不妨设采用状态反馈后的两个期望特征根为-7,-9,这样满足题目中所需的要求。
(1)要对系统进行状态反馈的设计首先要判断其是否能控,即求出该系统的能控性判别矩阵,然后判断其秩,从而得出其是否可控;
判断能控程序设计如下:
>> A=[-0.8 0.02;-0.02 0];
B=[0.05 1;0.001 0];
Qc=ctrb(A,B)
Qc =
0.0500 1.0000 -0.0400 -0.8000
0.0010 0 -0.0010 -0.0200
Rc=rank(Qc)
Rc =2
Qc =
0.0500 1.0000 -0.0400 -0.8000
0.0010 0 -0.0010 -0.0200
得出结果能控型判别矩阵的秩为2,故而该系统是完全可控的,故可以对其进行状态反馈设计。
(2)求取状态反馈器中的K,设的期望特征根为-7,-9;
其设计程序如下:
>> A=[-0.8 0.02;-0.02 0];
B=[0.05 1;0.001 0];
P=[-7 -9];
k=place(A,B,P)
k =
1.0e+003 *
-0.0200 9.0000
0.0072 -0.4500
程序中所求出的k即为所求状态反馈控制器的状态反馈矩阵,即由该状态反馈矩阵所构成的状态反馈控制器能够满足题目要求。
2、(a)要求求该系统的能控型矩阵,并验证该系统是不能控的。
设计程序:
>> A=[0 1 0 0 0;-0.1 -0.5 0 0 0;0.5 0 0 0 0;0 0 10 0 0;0.5 1 0 0 0];
>> B=[0;1;0;0;0];
>> C=[0 0 0 1 0];
>> Qc=ctrb(A,B)
Qc =
0 1.0000 -0.5000 0.1500 -0.0250
1.0000 -0.5000 0.1500 -0.0250 -0.0025
0 0 0.5000 -0.2500 0.0750
0 0 0 5.0000 -2.5000
0 1.0000 0 -0.1000 0.0500
>> Rc=rank(Qc)
Rc =
4
从程序运行的结果可得,系统能控型判别矩阵的秩为4,而系统为5阶系统,故而就验证了该系统为不可控的。而该系统的能控型矩阵就为程序中的Qc矩阵。
(b)要求求出其传递函数,并建立新的状态变量模型。
设计程序:
>> A=[0 1 0 0 0;-0.1 -0.5 0 0 0;0.5 0 0 0 0;0 0 10 0 0;0.5 1 0 0 0];
B=[0;1;0;0;0];
C=[0 0 0 1 0];
I=eye(5);
syms s;
E=s*I-A;
F=collect(inv(E));
G=C*F*B
G =
50/(10*s^4 + 5*s^3 + s^2)
>> num=[50];
>> den=[10 5 1 0 0];
>> Gf=tf(num,den)
Transfer function:
50
--------------------
10 s^4 + 5 s^3 + s^2
>> sys=ss(Gf)
a =
x1 x2 x3 x4
x1 -0.5 -0.4 0 0
x2 0.25 0 0 0
x3 0 0.125 0 0
x4 0 0 0.25 0
b =
u1
x1 32
x2 0
x3 0
x4 0
c =
x1 x2 x3 x4
y1 0 0 0 20
d =
u1
y1 0
Continuous-time model.
结果分析:可以看到所求得的新系统为4阶系统,其原因就在于原系统为不可控的,并且其能控型判别矩阵的秩为4,从而其传递函数表现的也只是可控部分的4个变量,从而导致了新系统为4阶系统。
(c)要求证明其上所求的新系统为可控的,只需求其新系统能控型判别矩阵的秩,看是否为4即可。
设计程序:
>> A1=[ -0.5 -0.4 0 0;0.25 0 0 0;0 0.125 0 0;0 0 0.25 0];
>> B1=[32;0;0;0];
>> C1=[0 0 0 20];
>> Qc1=ctrb(A1,B1)
Qc1 =
32.0000 -16.0000 4.8000 -0.8000
0 8.0000 -4.0000 1.2000
0 0 1.0000 -0.5000
0 0 0 0.2500
>> Rc1=rank(Qc1)
Rc1 =
4
其程序运行结果为能控型判别矩阵的秩为4,从而说明该新系统是完全能控的。其实在求得其能控矩阵时就可以判断出其为能控的,因为该矩阵为上三角矩阵,即为满秩矩阵,即秩为4,也即说明该新系统为完全可控。
(d)要求判断系统的稳定性,可以采用李雅普洛夫特征值法进行判定;
设计程序:
A=[0 1 0 0 0;-0.1 -0.5 0 0 0;0.5 0 0 0 0;0 0 10 0 0;0.5 1 0 0 0];
>> d=eig(A)
d =
-0.2500 + 0.1936i
-0.2500 - 0.1936i
从求得的结果中可以看出其特征值的根的实部都不是正数,从而就说明了该系统是李雅普洛夫意义下稳定的。
(c)讨论状态变量模型的能控性元复杂性的关系。很直观地讲,一个系统要能控,必须要其能控型判别矩阵的秩等于系统的阶数也即就是状态变量的数目,但是反过来,系统越复杂,状态变量的个数越多,能控型判别矩阵要求满足的秩也就越大,也即意味着越难达到要求,从而其能控性也就越不容易满足。从而可以得出结论,即越复杂的系统越不容易达到完全可控。
3、(a)求系统矩阵A的特征值,并判断其稳定性,即就是利用李雅普洛夫特征值判决,进行系统稳定性的判定。
设计程序:
>> A=[-0.0366 0.0271 0.0188 -0.4555;0.0482 -1.0100 0.0024 -4.0208;0.1002 0.3681 -0.707 1.42;0 0 1 0];
>> d=eig(A)
d =
0.2758 + 0.2576i
0.2758 - 0.2576i
-0.2325
-2.0727
很显然系统矩阵特征值有两个根的实部为正数,从而说明该系统是不稳定的。
(b)用poly函数来求取系统矩阵A 的特征值
设计程序:
A=[-0.0366 0.0271 0.0188 -0.4555;0.0482 -1.0100 0.0024 -4.0208;0.1002 0.3681 -0.707 1.42;0 0 1 0];