控制系统MATLAB仿真基础
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统仿真
§ 4.1控制系统的数学模型
1、传递函数模型(tranfer function)
2、零极点增益模型(zero-pole-gain)
3、状态空间模型(state-space)
4、动态结构图(Simulink结构图)
一、传递函数模型(transfer fcn-----tf)
1、传递函数模型的形式
传函定义:在零初始条件下,系统输出量的拉氏变换C(S)与输入量的拉氏变换R(S)之比。
C(S) b1S m+b2S m-1+…+b m
G(S)=----------- =- --------------------------------
R(S) a1S n + a2S n-1 +…+ a n
num(S)
= ------------
den(S)
2、在MATLAB命令中的输入形式
在MATLAB环境中,可直接用分子分母多项式系数构成的两个向量num、den表示系统: num = [b1, b2, ..., b m];
den = [a1, a2, ..., a n];
注:1)将系统的分子分母多项式的系数按降幂的方式以向量的形式输入两个变量,中间缺项的用0补齐,不能遗漏。
2)num、den是任意两个变量名,用户可以用其他任意的变量名来输入系数向量。
3)当系统种含有几个传函时,输入MATLAB命令状态下可用n1,d1;n2,d2…….。
4)给变量num,den赋值时用的是方括号;方括号内每个系数分隔开用空格或逗号;num,den方括号间用的是分号。
3、函数命令tf( )
在MATLAB中,用函数命令tf( )来建立控制系统的传函模型,或者将零极点增益模型、状态空间模型转换为传函模型。
tf( )函数命令的调用格式为:
圆括号中的逗号不能用空格来代替
sys = tf ( num, den ) [G= tf ( num, den )]
其中,函数的返回变量sys或G 为连续系统的传函模型;函数输入参量num和den分别为系统的分子分母多项式的系数向量。
s+5
【例4-1】G(S)=---------------------------
s4+2s3+3s2+4s+5
解:
num=[1,5];den=[1,2,3,4,5];
G=tf(num,den)
5
【例4-2】G(S)=--------------------
2s3+3s2+4s
解: num=[5];den=[2 3 4 0];
G=tf(num,den)
★conv( )函数为标准的MATLAB函数,用来求取2个向量的卷积,多项式乘法也可用此函数来计算。conv( )函数允许任意地多层嵌套,从而表示复杂的计算。
【例4-3】6(S+5)
G(S)=-------------------------------------------
(S2+3S+1)2(S+6)(S3+6S2+5S+3)
解:
num=6*[1,5];
den=conv(conv(conv([1,3,1],[1,3,1]),[1,6]),[1,6,5,3]);
G=tf(num,den)
den=conv(conv(conv([1,6],[1,6,5,3]),[1,3 1]),[1,3,1]);
二、零极点增益模型(zeropole----zpk)
1、零极点增益模型形式
(S-Z1)(S-Z2)…(S-Z m)
G(S)= k -------------------------------
(S-P1)(S-P2)…(S-P n)
式中: k: 系统增益;
z1,z2,…,z m: 系统零点;
p1,p2,…,p n: 系统极点;
注:对实系数的传函模型来说,系统的零极点或者为实数,或者以共轭复数的形式出现。系统的传函模型给出以后,可以立即得出系统的零极点模型。
2、在MATLAB下的输入形式
在MATLAB里,连续系统可直接用向量z、p、k构成的矢量组【z,p,k】表示系统,即:
k=[k];
z=[z1;z2;……;z m];
p=[p1;p2;……;p n];
3、函数命令zpk( )
在MATLAB中,用函数命令zpk( )来建立控制系统的零极点增益模型,或者将传函模型或者状态空间模型转换为零极点增益模型。
zpk( )函数命令的调用格式为:
sys = zpk ( z,p,k )
【例4-4】
6(S+1.9294)(S+0.0353±0.9287i)
G(S)=----------------------------------------------------
(S+0.9567±1.2272i)(S-0.0433±0.6412i)
解:
k = 6;
z = [-1.9294;-0.0353+0.9287*i;-0.0353-0.9287*i];
p = [-0.9567+1.2272*i;-0.9567-1.2272*i;+0.0433+0.6412*i;+0.0433-
0.6412*i];
G = zpk(z,p,k)
三、状态空间模型 (state-space-----ss)
1、状态空间模型的形式
单变量线性的不变系统可以写成:
X(t) = Ax(t)+Bu(t) A B