1本章主要教学内容在MATLAB中描述控制系统的数学模型系统方框图模型的简化及应用控制系统的时域分析控制系统的频域分析利用MATLAB语言进行仿真编程的具体应用第7章控制系统的MATLAB仿真2本章教学目的及要求熟悉MATLAB的基本应用掌握利用MATLAB建立数学模型的方法熟悉控制系统的时域和频域分析掌握MATLAB的仿真编程应用第7章控制系统的MATLAB仿真37.1控制系统的模型表示MATLAB提供了数学模型的建立函数和各模型之间的转换功能函数,可以分别采用传递函数、零极点增益、状态空间以及动态结构图等4种数学模型来表示控制系统,前3种是用数学表达式描述的系统模型,每种模型都有连续系统及离散系统两种类别的表示;而动态结构图是基于传递函数的图形化形式,是采用MATLAB中提供的SIMULINK结构图来实现的。MATLAB中使用的数学模型之间的转换也很方便,使得采用MATLAB编制的程序更加简单、精炼而高效。第7章控制系统的MATLAB仿真47.1.1系统的传递函数模型表示传递函数模型通常表示线性定常时不变系统(LTI),可以是连续的时间系统,也可以是离散的时间系统。对于离散的时间系统,其脉冲传递函数可表示为:第7章控制系统的MATLAB仿真)()()()()(11101110zdenznumazazazaczczczczUzYzGnnnnmmmm不论是连续的还是离散的时间系统,其传递函数的分子/分母多项式均按s或z的降幂来排列。在MATLAB中可直接采用分子/分母多项式系数构成的两个向量num与den来表示系统,即:5在MATLAB中,可用函数命令tf()来建立控制系统的传递函数模型,其调用格式和功能分别为:(1)sys=tf(num,den);(2)sys=tf(num,den,Ts);。(3)sys=tf(M);(4)tfsys=tf(sys);第7章控制系统的MATLAB仿真],,,[],,,[2110amaaadencccnum6第7章7.1.2零极点增益模型当连续系统的传递函数表达式采用系统增益、系统零点与系统极点来表示时,称之为系统零极点增益模型。系统零极点增益模型是传递函数模型的一种特殊形式。离散系统的传递函数零极点增益模型:控制系统的MATLAB仿真)())(()())(()(2121nmpzpzpzzzzzzzkzG7第7章在MATLAB里,连续与离散系统都可直接用向量z、p、k构成的矢量组[z,p,k]来表示系统,即:控制系统的MATLAB仿真][],,,[],,,[2121kpppzzznmkpz8第7章在MATLAB中,可用函数命令zpk()来建立控制系统的零极点增益模型,其调用格式和功能分别为:(1)sys=zpk(num,den);(2)sys=zpk(num,den,Ts);(3)sys=zpk(M);(4)tfsys=zpk(sys);控制系统的MATLAB仿真97.1.3状态空间模型控制系统在主要工作区域内的一定条件下可近似为线性时不变(LTI)模型,连续LTI对象系统总是能用一阶微分方程组来表示,写成矩阵形式即为状态空间模型:第7章控制系统的MATLAB仿真)()()()()()()()(btttatttDUCXYBUAXX其中:式(a)——系统的状态方程,是由n个一阶微分方程组成的微分方程组;式(b)——系统的输出方程,是由1个线性代数方程组成的;10第7章离散系统的状态空间模型可表示为:控制系统的MATLAB仿真)1()1()1()()()1(kkkkUkkDUCXYBAXX式中:U——系统的控制输入向量;X——系统的状态向量;Y——系统的输出向量;k——特定时刻的采样点;A——状态矩阵,由控制对象的参数决定;B——控制矩阵;C——输出矩阵;D——直接传输矩阵。11MATLAB中的函数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仿真12第7章【例7.1】已知某系统的状态空间表达式为:控制系统的MATLAB仿真)(]0123[)()(1000)(2051010000100001)(tttttXYUXX试采用MATLAB语言求出该系统的状态空间模型。13解:采用状态空间模型表示时,可在MATLAB命令窗口中输入以下命令:A=[1000;0100;0010;-1-...