当前位置:文档之家› MATLABControl2009(第二部分)

MATLABControl2009(第二部分)


三、状态空间模型

x Ax Bu
y Cx Du
状态方程与输出方程的组合称为状态空间表达式 MATLAB:系统状态空间用矩阵组(A,B,C,D)表示
ss(A,B,C,D)
其中,x是n×1的状态向量,u是r×1的输 入向量,y为m×1的输出向量。A为n×n的系 统矩阵,B是n×r的输入矩阵,C为m×n的输出 矩阵,D为m×r的直接传输矩阵。
----------------------------4 s^4 + 7 s^3 + s^2 + 3 s + 2
>>[z,p,k]=tf2zp(a1,b1) z=
-0.2000 + 0.4000i -0.2000 - 0.4000i p= -1.7584 0.2659 + 0.6874i 0.2659 - 0.6874i -0.5234 k= 1.2500
impulse函数用于计算系统的单位脉冲 (冲激)响应,当不带输出变量时,可在当 前图形窗口中绘出系统的响应曲线。
系统的单位脉冲响应:impulse ( )
impulse(num,den)或impulse(A,B,C,D)或 impulse(A,B,C,D,iu)可得到系统的单位脉冲响 应曲线,其中时间向量t由系统自动选取。
step(A,B,C,D,iu,t)或step(num,den,t),可利 用用户指定的时间矢量t来绘制响应曲线。 t为 指定的仿真时间向量,一般可以由t=0:step:end 等步长地产生出来。
系统的单位脉冲响应:impulse( )
求取脉冲(激励)响应的调用方法 格式:
[y,x,t]=impulse(num,den); [y,x,t]=impulse(num,den,t); [y,x,t]=impulse(A,B,C,D); [y,x,t]=impulse(A,B,C,D,iu); [y,x,t]=impulse(A,B,C,D,iu,t);
MATLAB与 机械工程控制
广西大学机械工程学院
教学内容
❖ MATLAB 使用 ❖ MATLAB 语言 ❖ MATLAB 在机械工程控制中的应用
MATLAB 在机械工程控制中的应用
❖ 控制系统模型 ❖ 控制系统的时域分析 ❖ 控制系统的频域分析 ❖ 系统稳定性分析
❖ 控制系统校正及PID控制器仿真
四、模型之间的转换
同一系统可用三种不同的模型表示,它们 各有特点,相互之间可以进行转换。
模型转换的函数包括: ss2tf: 状态空间模型转换为传递函数模型. ss2zp: 状态空间模型转换为零极点增益模型. tf2ss: 传递函数模型转换为状态空间模型. tf2zp: 传递函数模型转换为零极点增益模型. zp2ss: 零极点增益模型转换为状态空间模型. zp2tf: 零极点增益模型转换为传递函数模型.
传递函数模型
tf2zp
ss2tf
zp2tf
tf2ss
状态空间模型
ss2zp 零极点增益模型
zp2ss
例子
5s22s1 G(S)4s47s3s23s2
>>a1=[5 2 1]; b1=[4 7 1 3 2]; >> G=tf(a1,b1)
Transfer function: 5 s^2 + 2 s + 1
>> [a,b,c,d]=tf2ss(a1,b1)
a= -1.7500 -0.2500 -0.7500 -0.5000 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 0
b= 1 0 Байду номын сангаас 0
c= 0
1.2500
0.5000
0.2500
d= 0
当传递函数的分子和分母由若干个多项式的乘积表示时,它 可由MATLAB提供的多项式乘法运算函数conv ( ) 来处理, 以获得分子多项式式向量。此函数的调用格式为:
c = conv ( a , b )
G(s)s(s4(1 s) 2(2s)3s (23 s2 6 s 2s6)5)
>> num=4*conv([1 2],[1 6 6]); >> den=conv([1 0],conv([1 1],conv([1 1],[1 3 2 5]))); >> G1=tf(num,den)
求取系统单位阶跃响应:step()
step(num,den):可得到由传递函数表示的 系统的单位阶跃响应。时间向量t由系统模型的 特性自动生成。
step(A,B,C,D,iu):可绘制出从第iu个输入到 所有输出的响应曲线。其中A,B,C,D为系统的状 态空间描述矩阵,iu用来指明输入变量的序号。
MATLAB 在机械工程控制中的应用
❖ 控制系统模型 ❖ 控制系统的时域分析 ❖ 控制系统的频域分析 ❖ 系统稳定性分析
❖ 控制系统校正及PID控制器仿真
控制系统模型
❖ 传递函数模型 ❖ 状态方程模型 ❖ 零极点增益模型
一、连续系统的传递函数模型
连续系统的传递函数如下:
G (s)C R ( (s s) )b a 1 1 s sm n a b 2 2 s sm n 1 1 .... ..a b n ns s b a m n 1 1
K为系统增益,zi为零点,pj为极点 在MATLAB中,用[z,p,K]矢量组表示零极点增益模型。
z=[z1,z2,…,zm],p=[p1,p2,...,pn] ,K=[k].
G(s)= zpk(z,p,k)
函数tf2zp()可以用来求传递函数的零极点和增益。 [z,p,k] = tf2zp(num,den)
对线性定常系统,式中s的系数均为常数,且a1不等于零, 分子系数: num=[b1,b2,…,bm,bm+1] 分母系数: den=[a1,a2,…,an,an+1] 注意:按s降幂进行排列。
用函数 tf(num,den) 就可得到系统的传递函数。
G=tf(num,den)
二、零极点增益模型
G (s)K(sz1)s(z2).s. .z(m ) (sp1)s(p2).s. .(pn)
MATLAB 在机械工程控制中的应用
❖ 控制系统模型 ❖ 控制系统的时域分析 ❖ 控制系统的频域分析 ❖ 系统稳定性分析
❖ 控制系统校正及PID控制器仿真
控制系统的时域分析
❖ 求取系统单位阶跃响应:step() ❖ 求取系统的脉冲响应:impulse() ❖ 常用时域分析函数covar:连续系
统对白噪声的方差响应
相关主题