第7章 控制系統的 MATLAB仿真 MATLAB中的函数ss()可用来建立控制系统的状态空间模 型,或者将传递函数模型与零极点增益模型转换为系统状态 空间模型。 SO函数的调用格式为: (1) sys- ss(a, b, c d (2)sys- ss(a, b, c d 7s) (3)5/S=sd;该函数等价于S/s=(L]A[][]d) (4)SSSs=S(5丿S
11 MATLAB中的函数ss()可用来建立控制系统的状态空间模 型,或者将传递函数模型与零极点增益模型转换为系统状态 空间模型。 ss()函数的调用格式为: (1)sys= ss(a, b, c, d); (2)sys= ss(a, b, c, d, Ts); (3)sys= ss(d);该函数等价于sys= ss([ ],[ ],[ ],d)。 (4)sys_ss= ss(sys); 第7章 控制系统的MATLAB仿真
第7章 控制系統的 MATLAB仿真 【例7.1】已知某系统的状态空间表达式为: 00 X(t) 0010 X(1)+|0U() 1-50-2 Y(t)=[3210]x(t) 试采用 MATLAB语言求出该系统的状态空间模型。 12
12 第7章 【例7.1】已知某系统的状态空间表达式为: 控制系统的MATLAB仿真 = + − − − = ( ) [3 2 1 0] ( ) ( ) 1 0 0 0 ( ) 1 5 0 2 0 0 1 0 0 1 0 0 1 0 0 0 ( ) t t t t t Y X X X U 试采用MATLAB语言求出该系统的状态空间模型
第7章 控制系統的 MATLAB仿真 解:采用状态空间模型表示时,可在 MATLAB命令窗口中输 入以下命令: >>A=[1000:0100:0010;-1-50-2] >>B=[0:0;0;1 >C=[3210];D=0 > Sys=SS(A, B, C D) 上述指令执行后可得指定系统的状态空间模型为: a X1x2X3×4 X11000 X20100 X30010 X4-1-50-2
13 解:采用状态空间模型表示时,可在MATLAB命令窗口中输 入以下命令: A=[1 0 0 0;0 1 0 0;0 0 1 0;-1 -5 0 -2]; B=[0;0;0;1]; C=[3 2 1 0];D=0; sys=ss(A,B,C,D) 上述指令执行后可得指定系统的状态空间模型为: a = x1 x2 x3 x4 x1 1 0 0 0 x2 0 1 0 0 x3 0 0 1 0 x4 -1 -5 0 -2 第7章 控制系统的MATLAB仿真
第7章 控制系統的 MATLAB仿真 u X10 X20 0“ X3 X1X2X3×4 y13210 u1 y10 Continuous-time model 14
14 第7章 b = u1 x1 0 x2 0 x3 0 x4 1 c = x1 x2 x3 x4 y1 3 2 1 0 d = u1 y1 0 Continuous-time model. 控制系统的MATLAB仿真
第7章 控制系統的 MATLAB仿真 7.1.4系统不同模型间的相互转换 在 MATLAB6.1的信号处理工具箱与控制系统工具箱中, 提供了传递函数模型、零极点增益模型与状态空间模型之 间转换的函数:sxt(0,Ss2D(),t2s),tf2zp(), Zp2SS(,Zp2tf()。 这些函数之间的转换功能如表7-1所示。 15
15 7.1.4 系统不同模型间的相互转换 在MATLAB 6.1的信号处理工具箱与控制系统工具箱中, 提供了传递函数模型、零极点增益模型与状态空间模型之 间转换的函数:ss2tf(),ss2zp(),tf2ss(),tf2zp(), zp2ss(),zp2tf()。 这些函数之间的转换功能如表7-1所示。 第7章 控制系统的MATLAB仿真