中南大学现代控制理论实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学
现代控制理论实验报告
指导老师:年晓红、郭宇骞
姓名:
学号:
专业班级:
实验日期: 2015.6.11 学院:信息科学与工程学院
实验1 用MATLAB分析状态空间模型
1、实验设备
PC计算机1台,MATLAB软件1套。
2、实验目的
①学习系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数
相互转换的方法;
②通过编程、上机调试,掌握系统状态空间表达式与传递函数相互转换方法学
习系统齐次、非齐次状态方程求解的方法,计算矩阵指数,求状态响应;
③通过编程、上机调试,掌握求解系统状态方程的方法,学会绘制状态响应曲
线;
④掌握利用MATLAB导出连续状态空间模型的离散化模型的方法。
3、实验原理说明
参考教材P56~59“2.7 用MATLAB分析状态空间模型”
参考教材P99~101“3.8 利用MATLAB求解系统的状态方程”
4、实验步骤
①根据所给系统的传递函数或A、B、C矩阵,依据系统的传递函数阵和状
态空间表达式之间的关系式,采用MATLAB编程。
②在MATLAB界面下调试程序,并检查是否运行正确。
③根据所给系统的状态方程,依据系统状态方程的解的表达式,采用
MATLAB编程。
④ 在MATLAB 界面下调试程序,并检查是否运行正确。
5、实验习题
题1.1 已知SISO 系统的传递函数为
243258()2639
s s g s s s s s ++=++++ (1)将其输入到MATLAB 工作空间;
(2)获得系统的状态空间模型。
解:
(1)
num=[1,5,8] ; den=[1,2,6,3,9] ;
G=tf(num , den)
Transfer function:
s^2 + 5 s + 8
-----------------------------
s^4 + 2 s^3 + 6 s^2 + 3 s + 9
(2)
G1=ss(G)
a =
x1 x2 x3 x4
x1 -2 -1.5 -0.75 -2.25
x2 4 0 0 0
x3 0 1 0 0
x4 0 0 1 0
b =
u1
x1 2
x2 0
x3 0
x4 0
c =
x1 x2 x3 x4
y1 0 0.125 0.625 1
d =
u1
y1 0
Continuous-time model.
题1.2 已知SISO 系统的状态空间表达式为
112233010100134326x x x x u x x ⎡⎤⎡⎤⎡⎤⎡⎤
⎢⎥
⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥----⎣⎦⎣⎦⎣⎦⎣⎦
&&&,[
]1231
00x y x x ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦
(1)将其输入到MATLAB工作空间;(2)求系统的传递函数。
解:
(1)
A=[0,1,0;0,0,1;-4,-3,-2];
B=[1;3;-6];
C=[1,0,0];
D=0;
G=ss(A,B,C,D)
a =
x1 x2 x3
x1 0 1 0
x2 0 0 1
x3 -4 -3 -2
b =
u1
x1 1
x2 3
x3 -6
c =
x1 x2 x3
y1 1 0 0
d =
u1
y1 0
Continuous-time model.
(2)
G1=tf(G)
Transfer function:
s^2 + 5 s + 3
---------------------
s^3 + 2 s^2 + 3 s + 4
题1.3 已知SISO 系统的状态方程为
[]01323011x x u y x
⎡⎤⎡⎤=+⎢⎥⎢⎥--⎣⎦⎣⎦=&
(1)0u =,()101x ⎡⎤=⎢⎥-⎣⎦
,求当t =0.5时系统的矩阵系数及状态响应;
(2)1()u t =,()000x ⎡⎤=⎢⎥⎣⎦
,绘制系统的状态响应及输出响应曲线; (3)1cos3t u e t -=+,()000x ⎡⎤=⎢⎥⎣⎦
,绘制系统的状态响应及输出响应曲线; (4)0u =,()102x ⎡⎤=⎢⎥⎣⎦
,绘制系统的状态响应及输出响应曲线; (5)在余弦输入信号和初始状态()101x ⎡⎤=⎢⎥⎣⎦
下的状态响应曲线。 解:
(1)
A=[0,1;-2,-3];B=[3;0];
expm(A*0.5)
A=[0,1;-2,-3];B=[3;0];
expm(A*0.5)
ans*[1;-1]
ans =
0.8452 0.2387
-0.4773 0.1292
ans =
0.8452 0.2387
-0.4773 0.1292
ans =
0.6065
-0.6065
(2)
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)
(3)
A=[0,1;-2,-3]; B=[3;0];C=[1,1]; D=[0];