基于MATLAB Simulink建立控制系统的数学模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二
基于MATLAB /Simulink 建立控制系统的数学模型
一、实验目的1、熟悉MATLAB 实验环境,掌握MATLAB 命令窗口的基本操作。
2、掌握MATLAB 建立控制系统数学模型的命令及模型相互转换的方法。
3、掌握使用MATLAB 命令化简模型基本连接的方法。
4、学会使用Simulink 模型结构图化简复杂控制系统模型的方法。
二、实验内容
1、控制系统模型的建立
控制系统常用的数学模型有四种:传递函数模型(tf 对象)、零极点增益模型(zpk 对象)、结构框图模型和状态空间模型(ss 对象)。经典控制理论中数学模型一般使用前三种模型,状态空间模型属于现代控制理论范畴。
(1)传递函数模型
连续系统的传递函数模型为:
例1、已知系统的传递函数试用MATLAB 建立控制系统的传递函数模型例1.1
法1:
>>num=[11];
>>den=[1221];
>>G=tf(num,den)
Transfer function:
s +1
---------------------
s^3+2s^2+2s +1
32s 3(s) s 2s 2s 1
G +=+++22335(2)(67)()s s s G s +++=+++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 --+++==≥+++
法2:
>>S=tf('s');
>>g1=(s+3)/(s^3+2*S^2+2*s+1)
Transfer function:
s +3
---------------------
s^3+2s^2+2s +1
例1.2
a=[12];b=[11];c=[167];
d=[1021];
e=[10];m=conv(conv(conv(a,a),5),c);
n=conv(conv(conv(conv(b,b),b),e),d);
g=tf(m,n)Transfer function:
5s^4+50s^3+175s^2+260s +140
-----------------------------------------------
s^7+3s^6+5s^5+8s^4+9s^3+5s^2+s
(2)零极点增益模型
零极点模型是是分别对原传递函数的分子、分母进行因式分解,以获得系统的零点和极点的表示形式。式中,K 为系统增益,z1,z2,…,zm 为系统零点,p1,p2,…,pn 为系统极点。例2、已知系统的传递函数
试用MATLAB 建立控制系统的零极点模型
例2
1212()()()()()()()
m n K s z s z s z G s s p s p s p --⋅⋅⋅-=--⋅⋅⋅-()
10 s 5(s)(s 0.5)(2)(3)
G s s +=+++
>>k=10;
>>z=[-5];
>>p=[-0.5-2-3];
>>g=zpk(z,p,k)
Zero/pole/gain:
10(s+5)
-------------------
(s+0.5)(s+2)(s+3)
1、控制系统模型的相互转换
例3、已知系统的传递函数求其等效的零极点模型
例3
k=10;z=[-5];p=[-0.5-2-3];g=zpk(z,p,k)
z=-5
p=[-0.5-23]
k=10sys=zpk(z,p,k)[num,den]=zp2tf(z,p,k)printsys(num,den)z =
-5
p =
-0.5000
-2.0000 3.0000k =
10
Zero/pole/gain:
10(s+5)
-------------------
(s+0.5)(s+2)(s-3)
num =
001050
23256()2s s G s s s s ++=++
den=
1.0000-0.5000-6.5000-3.0000
num/den=
10s+50
-------------------------
s^3-0.5s^2-6.5s–3
3、用系统Simulink模型结构图化简控制系统模型
已知系统的结构图,求其闭环传递函数
三、实验能力要求
1、熟练使用各种函数命令建立控制系统数学模型。
2、完成实验的范例题,并记录结果。