1、第 10章 控制系统 MATLAB计算与仿真10.1 控制系统 MATLAB仿真基础10.1.1 控制系统数学模型10.1.2 系统时域分析10.1.3 系统频域分析10.1.4 系统状态空间分析10.2 控制系统的 MATLAB仿真及计算10.3 控制系统设计10.1 控制系统 MATLAB仿真基础10.1.1 控制系统数学模型1.数学模型种类与转换MATLAB中用四种数学模型表示控制系统:传递函数模型、零极点增益模型、状态空间模型、动态结构图( SIMULINK中使用)。实际应用中,根据要解决问题的需要,往往要进行不同种类模型之间的转换, MATLAB控制系统工具箱中为此提供了相应的命令函
2、数。( 1)传递函数模型MATLAB中用函数命令 tf() 来建立控制系统的传递函数模型。函数命令的调用格式为:sys=tf( num, den)函数返回的变量为连续系统的传递函数模型,函数输入参量 num与 den分别为系统的分子与分母多项式系数向量。sys=tf( num, den, Ts)函数返回的变量为离散系统的传递函数模型,函数输入参量 num与 den分别为系统的分子与分母多项式系数向量, Ts为 采样时间。MATLAB中还用函数 printsys() 来输出系统模型。( 2)零极点增益模型MATLAB中用函数命令 zpk() 来建立控制系统的零极点增益模型。函数命令的调用格式为:
3、sys=zpk( z, p, k)其中的 z、 p、 k分别代表系统零点、极点、增益向量,函数返回连续系统零极点模型。sys=zpk( z, p, k, Ts)其中的 z、 p、 k分别代表系统零点、极点、增益向量,函数返回离散系统零极点模型, Ts为采样时间。( 3)状态空间模型MATLAB中用函数命令 ss() 来建立控制系统的零极点增益模型。函数命令的调用格式为:sys=ss( a, b, c, d)其中的 a、 b、 c、 d分别代表系统状态矩阵、控制矩阵、输出矩阵、直接传输矩阵,函数返回连续系统状态空间模型。sys=ss( a, b, c, d, Ts)其中的 a、 b、 c、 d分
4、别代表系统状态矩阵、控制矩阵、输出矩阵、直接传输矩阵,函数返回离散系统状态空间模型, Ts为采样时间。函数名 函 数 功 能tf2zp 将传递函数模型转换为零极点增益模型zp2tf 将零极点增益模型转换为传递函数模型tf2ss 将传递函数模型转换为状态空间模型ss2tf 将状态空间模型转换为传递函数模型zp2ss 将零极点增益模型转换为状态空间模型ss2zp 将状态空间模型转换为零极点增益模型模 型 转 换例 10.1用 Matlab表示传递函数为 的系统解: num=2 3;den=4 3 2 1;sys=tf( num, den)执行结果:Transfer function:2 s + 3
5、-4 s3 + 3 s2 + 2 s + 1例 10.2 用 Matlab表示传递函数为 的系统。解: z=-3;p=0 -1 -2;k=2;sys=zpk( z, p, k) 执行结果:Zero/pole/gain:2 (s+3)-s (s+1) (s+2)例 10.3 用 Matlab表示状态空间表达式为 的系统。解: a=0 1 0; 0 0 1; -1 -2 -3;b=0; 0; 1;c=1 0 0;d=0;sys=ss( a, b, c, d)执行结果:a = x1 x2 x3x1 0 1 0x2 0 0 1x3 -1 -2 -3b = u1x1 0x2 0x3 1c = x1 x2 x3y1 1 0 0d = u1y1 0Continuous-time model.