- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
求系统的传递函数。
解 :在MATLAB中,可直接利用zp2tf函数求出, MATLAB程序为:
k=6;z=[-3];p=[-1,-2,-5];
[num,den]=zp2tf(z,p,k)
H=tf(num,den) 执行后得
num= 0 0 6 18
den = 1 8 17 10
6s 18 H(s)
Transfer function:
6 s + 30 -----------------------------------------------------------------------------------------------s^8 + 18 s^7 + 124 s^6 + 417 s^5 + 740 s^4 + 729 s^3 + 437 s^2 + 141 s + 18
x ax bu
y
cx
du
在MATLAB中,系统可用(a,b,c,d)矩阵 组表示。
(二)模型建立及转换
1、tf() 功能:建立传递函数形式 格式:sys=tf(num,den) 说明:可将分子、分母系数为矩阵num、den表示
的传递函数模型,以直接的传递函数形式表示 出来。
例1:写出下面传递函数模型的标准形式。
在MATLAB中,用[z,p,k]矢量组表示,即 z=[z1,z2,…,zm]; p=[p1,p2,…,pn]; k=[k];
例:将系统的零极点增益模型
H (s)
6(s 3)
(s 1)(s 2)(s 5)
以z,p,k向量组表示。
k=6 z=[-3] p=[-1,-2,-5]
3、状态空间模型
H (s) 0.2s2 0.3s 1 (s2 0.4s 1)(s 0.5)
解:在MATLAB中,可直接利用tf函数求出
num=[0.2,0.3,1];
p1=[1,0.4,1];
p2=[1,0.5];
den=conv(p1,p2); %p1(s)*p2(s)
H=tf(num,den)
执行后
H
(s)
位闭环系统。 当sign=1时采用正反馈; 当sign=-1时采用负反馈; sign缺省时,默认为负反馈。
例:将传递函数
0.2s2 0.3s 1 H (s) s3 0.9s2 1.2s 0.5
以分子、分母系数矩阵num、den的形式表示 出来。
num=[0.2,0.3,1] den =[1,0.9,1.2,0.5]
2、零极点增益模型
H (s) k (s z1 )(s z2 ) (s zm ) (s p1 )(s p2 ) (s pn )
s3 8s2 17s 10
(三)系统建模
1、parallel() 功能:系统的并联连接。 格式: [num,den]=parallel(num1,den1,num2,
den2) 说明:parallel函数按并联方式连接两个系统。 2、series() 功能:系统的串联连接。 格式:[num,den]=series(num1,den1,num2,den2) 说明:series函数可将两个系统按串联方式进行连接。
num= [6 18];
den = [1 8 17 10];
[z,p,k]=tf2zp(num,den);
G=zpK(z,p,k)
执行后得
H (s)
6(s 3)
(s 1)(s 2)(s 5)
3、tf2zp() 功能:变系统传递函数形式为零极点增益形式。
格式:[z,p,k]=tf2zp(num,den) 说明:tf2zp函数将多项式传递函数形式的系统转
例:已知G1(s)和G2(s),求两者串联后的传递 函数。
s 1 G1(s) s 2
1 G2 (s) 500s2
num1=[1 1]; den1=[1 2]; num2=[1]; den2=[500 0 0]; [num,den]=series(num1,den1,num2,den2); G=tf(num,den)
MATLAB应用介绍
一、控制系统模型的建立
(一)系统模型
系统的表示可用三种模型:传递函数、零 极点增益、状态空间。
1、传递函数模型
H (s)
num(s) den(s)
b1s m a1s n
b2 s m1 a2 s n1
bm1 an1
在MATLAB中,直接用分子、分母的系数矩阵 [num,den]表示,即 num=[b1,b2,…,bm] den =[a1,a2,…, an]
3、feedback() 功能:两个系统的反馈连接。 格式:[num,den]=feedback(num1,den1,num2,den2)
[num,den]=feedback(num1,den1,num2,den2,sign) 说明:feedback函数可将两个系统按反馈形式进行连接,
sign缺省时,默认为负 4、cloop() 功能:系统的闭环形式。 格式:[numc,denc]=cloop(num,den,sign) 说明:cloop函数可通过将系统输出反馈到系统输入构成单
s3
0.2s2 0.3s 1 0.9s2 1.2s 0.5
例:已知
G(s)
(s2
3s
1) 2
6(s 5) (s 6)(s3
6s2
5s
3)
将该传递函数输入MATLAB。
>> num = 6*[1,5]; den = conv(conv(conv([1,3,1],[1,3,1]),[1,6]),[1,6,5,3]); G=tf(num,den)
2、zpk() 功能:建立零极点增益形式 格式:sys= zpk (z, p, k) 说明:可将零极点增益向量组z、p、k表示的系统
模型,以直接的零极点增益形式表示出来。
例:设系统的传递函数模型为
H (s)
s3
6s 8s 2
18 17s
10
求系统的零极点增益模型。
解 :MATLAB程序为:
换为零点、极点和增益形式。
4、zp2tf() 功能:变系统零极点增益形式为传递函数形式。
格式:[num,den]=zp2tf(z,p,k) 说明:zp2tf可将以z,p,k表示的零极点增益形
式变换成传递函数形式。
例2:设系统的零极点增益模型为
H (s)
6(s 3)
(s 1)(s 2)(s 5)