实验二 基于MATLAB/Simulink建立控制系统的数学模型
一、实验目的
1、熟悉MATLAB实验环境,掌握MATLAB命令窗口的基本操作。
2、掌握MATLAB建立控制系统数学模型的命令及模型相互转换的方法。
3、掌握使用MATLAB命令化简模型基本连接的方法。
4、学会使用Simulink模型结构图化简复杂控制系统模型的方法。
二、实验内容
1、控制系统模型的建立
控制系统常用的数学模型有四种:传递函数模型(tf对象)、零极点增益模型(zpk对象)、结构框图模型和状态空间模型(ss对象)。经典控制理论中数学模型一般使用前三种模型,状态空间模型属于现代控制理论范畴。
(1) 传递函数模型
连续系统的传递函数模型为:
例1、已知系统的传递函数
试用MATLAB建立控制系统的传递函数模型
例1.1
法1:
>> num=[1 1];
>> den=[1 2 2 1];
>> G=tf(num,den)
Transfer function:
s + 1
---------------------
s^3 + 2 s^2 + 2 s + 1
法2:
>> S=tf(s);
>> g1=(s+3)/(s^3+2*S^2+2*s+1)
Transfer function:
s + 3
---------------------
s^3 + 2 s^2 + 2 s + 1
例1.2
a=[1 2];
b=[1 1];
c=[1 6 7];
d=[1 0 2 1];
e=[1 0];
m=conv(conv(conv(a,a),5),c);
n=conv(conv(conv(conv(b,b),b),e),d);
g=tf(m,n)
Transfer function:
5 s^4 + 50 s^3 + 175 s^2 + 260 s + 140
-----------------------------------------------
s^7 + 3 s^6 + 5 s^5 + 8 s^4 + 9 s^3 + 5 s^2 + s
(2)零极点增益模型
零极点模型是是分别对原传递函数的分子、分母进行因式分解,以获得系统的零点和极点的表示形式。式中,K为系统增益,z1,z2,…,zm为系统零点,p1,p2,…,pn为系统极点。
例2、已知系统的传递函数
试用MATLAB建立控制系统的零极点模型
例2
>> 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 -2 3]
k=10
sys=zpk(z,p,k)
[num,den]=zp2tf(z,p,k)
printsys(num,den)
z =
-5
p =
-0.5000 -2.0000 3.0000
k =
10
Zero/pole/gain:
10 (s+5)
-------------------
(s+0.5) (s+2) (s-3)
num =
0 0 10 50
den =
1.0000 -0.5000 -6.5000 -3.0000
num/den =
10 s + 50
-------------------------
s^3 - 0.5 s^2 - 6.5 s – 3
3、用系统Simulink模型结构图化简控制系统模型
已知系统的结构图,求其闭环传递函数
三、实验能力要求
1、熟练使用各种函数命令建立控制系统数学模型。
2、完成实验的范例题,并记录结果。
展开阅读全文
如果觉得《matlab建立zpk模型 基于MATLAB Simulink建立控制系统的数学模型》对你有帮助,请点赞、收藏,并留下你的观点哦!