中南大学现代控制理论实验报告

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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];

相关文档
最新文档