自动控制1用matlab建立系统数学模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
黄淮学院电子科学与工程系 自动控制原理课程验证性实验报告
实验名称 用MATLAB 建立系统数学模型 实验时间 2012 年10月11日 学生姓名 实验地点 同组人员
专业班级
1、实验目的
1)熟悉MATLAB 实验环境,掌握MATLAB 命令窗口的基本操作。
2)掌握MATLAB 建立控制系统数学模型的命令及模型相互转换的方法。 3)掌握使用MATLAB 命令化简模型基本连接的方法。
4)学会使用Simulink 模型结构图化简复杂控制系统模型的方法。 2、实验主要仪器设备和材料: MATLAB 软件
3、实验内容和原理:(1)控制系统模型的建立
控制系统常用的数学模型有四种:传递函数模型(tf 对象)、零极点增益模型(zpk 对象)、结构框图模型和状态空间模型(ss 对象)。经典控制理论中数学模型一般使用前三种模型,状态空间模型属于现代控制理论范畴。 1)传递函数模型(也称为多项式模型)。连续系统的传递函数模型为
101101()
()()
m m m n n n b s b s b num s G s n m a s a s a den s --++
+=
=≥++
+, 在MATLAB 中用分子、分母多项式系数按s 的降幂次序构成两个向量:
0101[]
[]m n num b b b den a a a ==,,,,,,,。
用函数tf( )来建立控制系统的传递函数模型,用函数printsys( )来输出控制系统的函数,其命令调用格式为
()int ()sys tf num den pr sys num den =,,,
Tips :对于已知的多项式模型传递函数,其分子、分母多项式系数两个向量可分别用
.{1}sys num 与.{1}sys den 命令求出。这在MATLAB 程序设计中非常有用。
2)零极点增益模型。零极点模型是传递函数模型的另一种表现形式,其原理是分别对原传递函数的分子、分母进行因式分解,以获得系统的零点和极点的表示形式。 1212()()()
()()()()
m n K s z s z s z G s s p s p s p ---=
---,式中,K 为系统增益;12m z z z ,
,为系统零点;12m p p p ,,为系统极点。在MATLAB 中,用向量z p k ,,构成矢量组[]z p k ,,表示系统。
即1212[][][]m n z z z z p p p p k k ===,
,,,,,,, 用函数命令()zpk 来建立系统的零极点增益模型,其函数调用格式为
()sys zpk z p k =,,
Tips :对于已知的零极点增益模型传递函数,其零极点可分别用.{1}sys z 与.{1}sys p 命令求出。这在MATLAB 程序设计中非常有用。
3)建立二阶控制系统标准模型。
在MATLAB 中,用函数命令ord2( )来建立二阶控制系统标准模型22
1
2n n
s s ζωω++ ,其
函数调用格式为[num,den]=ord2(n ω,zeta).
3、实验方法、步骤: 1) 已知系统传递函数25
()(1)(44)
G s s s s s =
+++
打开 MATLAB 软件,并在其输入:
num=5;den=conv([1,0],conv([1,1],[1,4,4])); Gs=tf(num,den)
2)已知系统传递函数232242
()(4)(4)
s s G s s s s s ++=++
打开 MATLAB 软件,并在其输入: num=[1 4 2];
den=conv([1 0],conv([1 0],conv([1 0],conv([1 0 4],[1 4 0]))));Gs=tf(num,den) 3)已知系统传递函数 228(1)(1)
()(5)(6)(1)
s j s j G s s s s s +-++=
+++
打开 MATLAB 软件,并在其输入:
k=8;z=[j-1,-j-1];p=[0,0,-5,-6,j,-j];sys=zpk(z,p,k)
5、实验现象、实验数据记录: 1)、Transfer function: 5
------------------------- s^4 + 5 s^3 + 8 s^2 + 4 s
2)、Transfer function: s^2 + 4 s + 2 ---------------------------- s^7 + 4 s^6 + 4 s^5 + 16 s^4 3 )、Zero/pole/gain: 8 (s^2 + 2s + 2) -------------------------- s^2 (s+5) (s+6) (s^2 + 1)
32
1
()(1)(1)
G s s s s s =
+++ 6、实验现象、实验数据的分析:
Matlab 传递函数中,(a+bx1+cx2+dx3)* (a+bx1+cx2+dx3)* (a+bx1+cx2+dx3)运算需由conv([d c b a],conv([d c b a],[d c b a]))实现,分子分母中幂数多项式需由conv()函数实现,且一次只能实现两个多项式的卷积。同时有多个多项式时,使用嵌套模式,多次使用conv()函数。
7、实验结论:
通过该试验我们熟悉MATLAB 实验环境,掌握MATLAB 命令窗口的基本操作;掌握MATLAB 建立控制系统数学模型的命令及模型相互转换的方法;掌握了使用各种函数命令建立控制系统数学模型;完成实验的范例题和自我实践,并记录结果;编写M 文件程序,完成简单连接的模型等效传递函数,并求出相应的零极点。 指导教师评语和成绩评定:
实验报告成绩:
指导教师签字:
年 月 日