实验一 基于Matlab的控制系统模型
姓名 学号 班级机械
一、实验目的
1) 熟悉Matlab的使用环境,学习Matlab软件的使用方法和简单编程方法。2) 学习使用Matlab软件进行拉氏变换和拉式反变换的方法。 3) 学习使用Matlab软件建立、转换连续系统数学模型的方法。 4) 学习使用Matlab软件分析控制系统稳定性的方法。
二、实验原理
1. 拉氏变换和反拉氏变换 (1) 拉氏变换
syms a w tf1=exp(-a*t)laplace(f1)f2=t-t?2laplace(f2)f3=t*exp(-a*t)
laplace(f3)f4=sin(w*t)laplace(f4)f5=exp(-a*t)*cos(w*t)laplace(f5)(2) 拉氏反变换
1
syms s a wf1=1/silaplace(f1)f2=1/(s+a)ilaplace(f2)f3=1/s^2…
ilaplace(f3)f4=w/(s^2+w^2)ilaplace(f4)f5=1/(s*(s+2)^2*(s+3))ilaplace(f5)2. 控制系统模型的建立和转化 传递函数模型:
G(s)?numbsm?b2sm?1?…?+bmden?1ansn?11s?a2?…?+bn零极点增益模型:
G(s)?k(s?z1)(s?z2)?(s?zm)(s?p
1)(s?p2)?(s?pn)(1) 建立系统传递函数模型
s(s?1)s2G(s)??s(s?2)(s?3)?s2?5s?6 num=[1,1,0]den=[1,5,6]
Gs1=tf(num,den)(2) 建立系统的零极点模型
z=[0,-1]p=[-2,-3]k=[1]
Gs1=zpk(z,p,k)(3) 传递函数模型转化为零极点模型
2
num=[1,1,0]den=[1,5,6] Gs1=tf(num,den)[z,p,k]=tf2zp(num,den)Gs2=zpk(z,p,k)(4) 零极点模型转化为传递函数模型
z=[0,-1]p=[-2,-3]k=[1]Gs1=zpk(z,p,k)
[num,den]=zp2tf(z',p',k)Gs2=tf(num,den)3. 用Matlab进行传递函数部分分式展开
s)?nums5?11s4?39s3G(+52s+26den?s4?10s3?35s2+50s+24 ?12.5?30.5s+4?s+3?s+2?s+1?1num=[1 11 39 52 26]den=[1 10 35 50 24] [r,p,k]=residue(num,den)4. 连续系统稳定性分析
已知传递函数,试求该系统的闭环极点并判断系统的稳定性。
G(s)?s3+7s2+24s+24s8?2s7?3s6?4s5+5s4?6s3?7s2+8s+9 (1)
den=[1 2 3 4 5 6 7 8 9];roots(den)
计算结果:
-1.2888 + 0.4477i -1.2888 - 0.4477i -0.7244 + 1.1370i -0.7244 - 1.1370i 0.1364 + 1.3050i
3
0.1364 - 1.3050i 0.8767 + 0.8814i 0.8767 - 0.8814i
由计算结果可知,该系统有4个极点具有正实部,因此系统不稳定。
(2)
num=[1,7,24,24];den=[1 2 3 4 5 6 7 8 9];pzmap(num,den);
title('Pole-Zero Map')零极点分布图:
三、实验内容
1. 用Matlab求下两式的拉氏变换。
g1(t)?1?0.5t2e?t?te?t?e?t syms t
g1=1-0.5*t^2*exp(-t)-t*exp(-t)-exp(-t) laplace(g1)
g1 =1-1/2*t^2*exp(-t)-t*exp(-t)-exp(-t) ans =1/s-1/(1+s)^3-1/(1+s)^2-1/(1+s)
g2(t)?0.6?0.3e?tsin2t?0.6e?tcos2t
syms t
g2=0.6-0.3*exp(-t)*sin(-2*t)-0.6*exp(-t)*cos(2*t)
4
laplace(g2) g2 =
3/5+3/10*exp(-t)*sin(2*t)-3/5*exp(-t)*cos(2*t) ans =
3/5/s+3/20/(1/4*(1+s)^2+1)-3/20*(1+s)/(1/4*(1+s)^2+1)
2. 用Matlab求解拉式反变换。
Gs?1(s)?2syms s
s(s?1)2(s?3)g1=(s+2)/(s*(s+1)^2*(s+3)) ilaplace(g1) g1 =
(s + 2)/(s*(s + 1)^2*(s + 3)) ans =
exp(-3*t)/12 - (3*exp(-t))/4 - (t*exp(-t))/2 + 2/3 G(s)?s2?3s?52syms s
s2?s?2g2=(s^2+3*s+5)/(s^2+s+2) ilaplace(g2) g2 =
(s^2 + 3*s + 5)/(s^2 + s + 2) ans =
dirac(t) + 2*exp(-t/2)*(cos((7^(1/2)*t)/2) + (2*7^(1/2)*sin((7^(1/2)*t)/2))/7) 3. 用Matlab将以下零极点模型转换为一般多项式传递函数模型。
G(s)?5(s?1)s2(s?2)(s?5)
z=[-1]
p=[0,0,-2,-5] k=[5]
Gs1=zpk(z,p,k)
[num,den]=zp2tf(z',p',k) Gs2=tf(num,den) z = -1
p = 0 0 -2 -5 k = 5 Gs1 =
5 (s+1) --------------- s^2 (s+2) (s+5)
Continuous-time zero/pole/gain model
5