控制系统的数学模型_第1页
控制系统的数学模型_第2页
控制系统的数学模型_第3页
控制系统的数学模型_第4页
控制系统的数学模型_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章 控制系统的数学模型17.1 线性定常系统的数学模型 7.2 LTI模型的属性 7.3 数学模型之间的转换 7.4 系统模型的运算 7.5 数学模型的分析函数 27.7.1 传递函数模型 【调用格式】 sys = tf(num,den)sys = tf(num,den,Property1,V1,.,PropertyN,VN) %初始化TF模型的其他属性 sys = tf(s)%建立拉普拉斯变换的自变量s的TF模型 【说明】 num和den分别是传递函数的分子多项式系数和分母多项式系数,按s的降幂排列,是细胞数组。 tf函数的返回值是一个对象,称之为TF对象,num和den是TF对象的属性

2、。1. SISO系统的TF数学模型3SISO系统的传递函数为 试建立系统的TF模型。【方法1】直接用分子和分母多项式系数建立TF模型num=1,0; den=1,2,10; sys=tf(num,den) %建立系统的TF 模型 Transfer function: s - s2 + 2 s + 1sys.den1 %对 SISO 系统,den1表示传递函数的分母多项式系数向量 ans = 1 2 10 42. MIMO系统的TF模型 numi,j和deni,j分别表示传递函数矩阵G(s)的第i行第j列的传递函数的分子多项式系数和分母多项式系数。【方法2】用s因子和数学运算符建立TF模型 s

3、= tf(s); %建立s 的 TF 模型 H = s/(s2 + 2*s +10); %用数学运算符建立系统的 TF 模型 MIMO系统的传递函数矩阵 试建立系统的TF模型。5【方法1】直接用分子和分母多项式系数建立TF模型N= 1 -1;1 2; D= 1 1;1 4 5; sys=tf(N,D) %建立系统的TF 模型 Transfer function from input to output. s - 1 #1: - s + 1 s + 2 #2: - s2 + 4 s + 5 说明:#1为第 1 输出对第 1 输入的传递函数,#2 为第 2输出对第 1输入的传递函数。6【方法2】用

4、s因子和数学运算符建立TF模型s = tf(s) h11 = (s-1)/(s+1); h21 = (s+2)/(s2+4*s+5); H = h11; h21 77.1.2零极点模型 【调用格式】 sys =zpk(z,p,k)sys = zpk(z,p,k,Property1,V1,.,PropertyN,VN)sys = zpk(s)控制系统的数学模型可以用零点、极点和增益来描述,MATLAB 称这种数学模型为零极点增益模型,即 ZPK模型,并用 zpk函数来建立这种数学模型。 8 【说明】 z、p、k分别为系统的零点、极点和增益。z、p、k是细胞数组,对MIMO系统来说zi,j,pi,

5、j,ki,j分别表示传递函数矩阵的第i行第j列的传递函数的零点、极点、增益。 zpk函数的返回值是一个对象,称之为ZPK对象,z、p和k是ZPK对象的属性。 如果没有零点,则z为空数组。 9 SISO系统的传递函数为试建立系统的ZPK模型。【方法1】直接用零点、极点、增益向量来建立ZPK模型【方法2】用s因子和数学运算符建立TF模型k=5; z=-2; p=0, -1+j, -1-j; sys = zpk(z,p,k) %建立系统的ZPK 模型 Zero/pole/gain: 5 (s+2) - s (s2 + 2s + 2) s = zpk(s); %建立s 的 ZPK 模型 H = 5*(

6、s+2)/(s*(s2 + 2*s +10); %用数学运算符建立系统的 ZPK 模型 10MIMO系统的传递函数矩阵试建立系统的ZPK模型。 Z = , -5; 1-i 1+i , ; P = 0, -1 -1; 1 2 3, ; K = -1, 3; 2, 0; H = zpk(Z,P,K) %建立系统的ZPK 模型 m71111Zero/pole/gain from input 1 to output. -1 #1: - s 2 (s2 - 2s + 2) #2: - (s-1) (s-2) (s-3) Zero/pole/gain from input 2 to output. 3 (

7、s+5) #1: - (s+1)2 #2: 0127.1.3状态空间模型 【调用格式】 sys = ss(a,b,c,d)sys = ss(a,b,c,d,Property1,V1,.,PropertyN,VN)sys = ss(d)%建立静态增益矩阵d的状态空间模型 【说明】 a,b,c,d分别表示状态方程的系统矩阵、输入矩阵,输出矩阵和传输矩阵。 ss函数的返回值是一个对象,称之为ss对象,a,b,c和d是ss对象的属性。 如果d=0,ss函数可以直接用标量0作为输入变量,忽略了对d的维数要求。 13已知系统的状态空间描述为 试建立系统的SS模型传递函数。 A=0 1 0;0 -1 -1;

8、0 0 -3;B=0;1;1;C=1 0 0;D=0; ss(A,B,C,D) 14a = x1 x2 x3 x1 0 1 0 x2 0 -1 -1 x3 0 0 -3 b = u1 x1 0 x2 1 x3 1 c = x1 x2 x3 y1 1 0 0 d = u1 y1 0 Continuous-time model. 157.1.4频率响应数据模型 MATLAB 提供了频率响应数据模型来描述这类系统,这种数学模型称为 FRD模型,frd 函数用来创建频率响应数据模型。 【调用格式】 sys = frd(response,frequency) 【说明】 frequency为测试或计算频率

9、特性所选取的角频率向量w,其每一个元素为一个角频率值。 response为频率响应数据G(jw)。 16 对于SISO系统,response是一个向量,response(i)表示系统角频率为frequency(i)的正弦信号的频率响应数据。对于MIMO系统,response是一个三维矩阵,response(i,j,:)表示系统的第i个输出对第j个输入的频率响应数据;response(i,j,k)表示系统的第i个输出在frequency(k)频率点上,对第j个输入的频率响应数据。 frd函数的返回值是一个对象,称之为FRD对象,frequency和response是FRD对象的属性。 177.1

10、.5离散系统的数学模型 1、脉冲传递函数模型 【调用格式】 sys = tf(num,den,Ts)%建立离散系统的TF模型 sys = zpk(z,p,k,Ts)%建立离散系统的ZPK模型【说明】 num和den是离散系统脉冲传递函数的分子和分母多项式系数。 z,p,k是离散系统脉冲传递函数的零点、极点和增益。 Ts是离散系统的采样周期。182、状态空间模型 【调用格式】 sys = ss(a,b,c,d,Ts)%建立离散系统的SS模型 【说明】 a,b,c,d是离散系统状态空间差分方程组的系统矩阵、输入矩阵、输出矩阵和直接传输矩阵。 Ts是离散系统的采样周期。19LTI模型的共有属性 属性

11、名属性描述属性的数据类ioDelay输入通道对输出通道的滞后时间矩阵矩阵InputDelay输入信号的滞后时间向量InputGroup输入通道分组结构体InputName输入通道名称字符串细胞数组Notes注解字符串OutputDelay输出信号的滞后时间向量OutputGroup输出通道分组结构体OutputName输出通道名字字符串细胞数组Ts离散系统的采样周期标量Userdata附加数据任意数据类系20MATLAB 支持带有纯滞后的控制系统模型,将纯滞后分为:输入通道对输出通道的滞后、输入通道滞后和输出通道滞后 3 种类型,分别用 LTI 对象的 ioDelay、InputDelay 和

12、 OutputDelay 属性来表示。 (1) ioDelay 属性 设某系统的传递函数矩阵为 G = tf(num,den,ioDelay,Tau) G = zpk(z,p,k,ioDelay,Tau) 21(2) InputDelay 属性和OutputDelay 属性 在状态空间模型中,ioDelay 方式无法精确的描述滞后是发生在输入端还是输出端,MATLAB提供了InputDelay属性和 OutputDelay属性来描述 SS模型的纯滞后,可以用下面的语句来描述系统 M1和 M2。 M1 = ss(-1,1,1,0,inputdelay,0.1) M2 = ss(-1,1,1,0,

13、outputdelay,0.1) 系统的传递函数矩阵试建立该系统的TF模型。22【方法1】用InputDelay属性【方法2】用ioDelay属性 s = tf(s); H = 1/s ; 2/(s+1); H.inputdelay = 0.1 Transfer function from input to output. 1 #1: exp(-0.1*s) * - s 2 #2: exp(-0.1*s) * - s + 1 s = tf(s); H = 1/s ; 2/(s+1); H.iodelay = 0.1 ; 0.1; 23离散系统的脉冲传递函数为采样周期Ts=0.1s。试建立该系统

14、的带有0.2s纯滞后时间的数学模型。(3) 离散系统的滞后 离散系统的纯滞后通常用采样周期的整数倍来描述。 Ts = 0.1; G = tf(1,1 -1,Ts,inputdelay,2) Transfer function: 1z(-2) * - z - 1 Sampling time: 0.124LTI模型的专有属性 TF对象的专有属性 属性名属性描述属性的数据类系den传递函数的分母多项式行向量实数细胞数组num传递函数的分子多项式行向量实数细胞数组Variable传递函数的自变量s, p, z, q, z-1ZPK对象的专有属性属性名属性描述属性的数据类系Z传递函数的零点列向量复数细胞

15、数组P传递函数的极点列向量复数细胞数组K传递函数的增益实矩阵Variable传递函数的自变量s, p, z, q, z-125SS对象的专有属性属性名属性描述属性的数据类系A系统矩阵实数矩阵B输入矩阵实数矩阵C输出矩阵实数矩阵D直接传递矩阵实数矩阵E描述矩阵实数矩阵Nx状态数目整数标量StateName状态名称字符串构成的列细胞数组FRD对象的专有属性属性名属性描述属性的数据类系Frequency频率点实数向量ResponseData频率响应数据多维数值数组Units频率单位rad/s Hz26访问LTI模型的属性 包括属性设置和属性读取,方法如下: 创建数学模型对象的时候,用带有属性的输入变

16、量来设置相关属性。 用get和set函数来设置和读取模型对象的属性。 将模型对象的属性当作普通变量来访问,通过成员运算符“.”访问对象的属性。 可以通过模型的专用函数获取系统模型的专有属性。a,b,c,d = ssdata(sys) num,den = tfdata(sys) num,den = tfdata(sys,v) z,p,k = zpkdata(sys) z,p,k = zpkdata(sys,v) 27读下列程序,理解模型对象属性的访问方法: sys = tf(1,1 1,Inputdelay,0.3); %用带有属性输入变量的方法调用 tf set(sys,inputname,e

17、nergy,outputname,temperature,notes,A simple heater model); %用 set 函数设置 TF对象的属性值 NoteValue=get(sys,notes); %用 get 函数访问 TF对象的 notes属性 sys.num1=2; %直接通过属性名访问属性值 sys.den1(2)=2; sys.InputName=Hz; m72128 get(sys) %显示 TF对象的所有属性值num: 0 2 den: 1 2 Variable: s Ts: 0 ioDelay: 0 InputDelay: 0.3 OutputDelay: 0 I

18、nputName: Hz OutputName: temperature InputGroup: 1x1 struct OutputGroup: 1x1 struct Notes: A simple heater model UserData: sys Transfer function from input Hz to output temperature: 2 exp(-0.3*s) * - s + 2 29LTI对象之间的转换【调用格式】sys = tf(sys)% 将sys对象转换为TF模型 sys = zpk(sys)% 转换为ZPK模型 sys = ss(sys)% 转换为SS模型

19、 sys = frd(sys,frequency) % 转换为FRD模型LTI对象属性之间的转换 【调用格式】z,p,k = tf2zp(num, den) % 将TF对象属性转换为ZPK对象属性 A,B,C,D = tf2ss(num,den)% 将TF对象属性转换为SS对象属性 num,den = zp2tf(z,p,k) % 将ZPK对象属性转换为TF对象属性 A,B,C,D = zp2ss(z,p,k) % 将ZPK对象属性转换为SS对象属性 z,p,k = ss2zp(A,B,C,D,iu)% 将SS对象属性转换为ZPK对象属性 num,den = ss2tf(A,B,C,D,iu)

20、 % 将SS对象属性转换为TF对象属性30已知系统(A,B,C,D)的系数矩阵是 求取该系统相应的TF模型和ZPK模型。 A=2, 0, 0;0, 4, 1;0, 0, 4; B=1, 0, 1; C=1, 1, 0; D=0; num den=ss2tf(A,B,C,D); G1=tf(num,den) Transfer function: s2 - 7 s + 14 - s3 - 10 s2 + 32 s - 32 z,p,k=tf2zp(num,den); G2=zpk(z,p,k) Zero/pole/gain: (s2 - 7s + 14) - (s-4)2 (s-2) 31也可以用

21、下面的方法实现模型转换。 A=2, 0, 0; 0, 4, 1; 0, 0, 4; B=1, 0, 1; C=1, 1, 0; D=0; gss=ss(A,B,C,D); gtf=tf(gss); gzpk=zpk(gss); 32连续系统和离散系统之间的转换 sysd = c2d(sysc,Ts)%将连续系统转换为采样周期为Ts的离散系统 sysd = c2d(sysc,Ts, method)%指定连续系统的离散化方法 sysd,G = c2d(sysc,Ts, method) %对于SS模型,求得初始条件的转换阵G Ad,Bd,Cd,Dd = c2dm(A,B,C,D,Ts,method)

22、 %连续SS模型的离散化【调用格式】sysc = d2c(sysd)%将离散系统转换为连续系统 sysc = d2c(sysd,method)%指定离散系统的连续化方法method Ac,Bc,Cc,Dc = d2cm(A,B,C,D,Ts,method)%用于离散SS模型的连续化 sysd1 = d2d(sysd,Ts)%改变采样周期,生成新的离散系统33sysc表示连续系统的数学模型,sysd表示离散系统的数学模型。 method为转换方法其取值和含义为: zoh零阶保持器法,这是默认的转换方法。 foh一阶保持器法 imp冲击响应不变法 tustin 双线性变换法 prewarp 预扭曲

23、的双线性变换法 matched 零极点映射匹配法(仅用于SISO系统)【说明】34系统的被控对象传递函数为: 采样周期Ts0.1秒,试将其进行离散化处理。 num=10; den=1,7,10; ts=0.1; sysc=tf(num,den); % n_zoh,d_zoh=c2dm(num,den,ts) ; sysd=c2d(sysc,ts) % tf(n_zoh,d_zoh,ts) Transfer function: 0.0398 z + 0.03152 - z2 - 1.425 z + 0.4966 Sampling time: 0.1 35离散系统的脉冲传递函数为 采样周期Ts=0

24、.1, 采样周期改变为Ts0.25s,试求采样周期改变前后系统的单位阶跃响应。h1=tf(1 0.4,1 -0.7,0.1); h2=d2d(h1,0.25); step(h1,-.,h2,-) 36子系统 LTI系统的数学模型为sys,子系统的含义是: sys(i,j)第i个输出对第j个输入的子系统 sys(3,1:4)第3个输出对第1个到第4个输入的子系统 sys(:,1)所有输出对第1个输入的子系统 sys(1,3,1)第1个输出和第3个输出对第1个输入的子系统 sys为状态空间模型,其模型数据为A,B,C,D,则子系统sys(i,j)表示的状态空间模型数据为A,B(:,j),C(i,:

25、),D(i,j)。 如果sys是传递函数矩阵,则sys(i,j)表示传递函数矩阵的第i行第j列的传递函数。对于MIMO系统来说,子系统是由其一部分输入变量和一部分输出变量构成的系统,并且子系统的输入输出关系和原系统的关系相同。37数学运算符 1加法和减法 syssys1+sys22乘法 *syssys1-sys2syssys1* sys2383求逆 inv(sys) 4除法 / sys1sys2相当于 inv(sys1)*sys2,sys1/sys2相当于 sys1*inv(sys2) 5转置 sys. sys.表示LTI系统sys的转置,其具体含义为: TF模型的转置相当于将细胞数组num和

26、den转置。 ZPK模型的转置相当于将细胞数组z,p和k转置。 SS模型的转置相当于将(A,B,C,D)都转置为(A.,B.,C.,D.)。 FRD模型的转置相当于将频率响应数据矩阵在每个频率点上都转置。 6共轭复转置 sys 连续系统的传递函数为G(S) ,其共轭复转置系统的传递函数为G(-S)T;离散系统的脉冲传递函数为G(Z) ,其共轭复转置系统的脉冲传递函数为 G(Z-1)T 。39系统模型的连接 1. 系统模型的聚合可以用和矩阵聚合相同的方法实现系统模型的聚合操作,系统模型的聚合包括水平聚合和垂直聚合。40【说明】 对于MIMO系统,子系统sysl和子系统sys2串联时,将sysl的

27、端口号为output1的输出通道和sys2的端口号为input2的输入通道相连接。【调用格式】 sysseries(sys1,sys2) %用于SISO系统的串联 sysseries(sys1,sys2,outputs1,inputs2)%用于MIMO系统的串联 2系统模型的串联41【调用格式】 sys=parallel(sys1,sys2) sys=parallel(sys1,sys2,in1,in2,out1,out2)【说明】对于MIMO系统,子系统sysl和子系统sys2并联时,将sysl的端口号为in1的输入通道和sys2的端口号为in2的输入通道相连接,将sysl的端口号为out1

28、的输出通道和sys2的端口号为out2的输出通道相连接。3系统模型的并联42【调用格式】 sys=feedback(sys1,sys2,sign) sys=feedback(sys1,sys2,feedin,feedout,sign)4系统模型的反馈连接【说明】 sign为反馈的极性,sign=1为正反馈,sign=-1为负反馈(缺省值)。 sys1为前向通道的数学模型,sys2为反馈通道的数学模型。 对于MIMO系统,sysl和sys2反馈连接时,feedin指定了sys1中接受反馈的输入端口号,feedout指定了sys1中用于反馈的输出端口号,最终实现的反馈系统与sys1具有相同的输入、

29、输入端。43已知前向环节和反馈环节的状态空间表达式的系数阵分别为 试将前向环节的输入1和输出2与反馈环节构成负反馈系统。 A1=1,0;0,1; B1=1,1;0,1; C1=1,3;2,0; D1=1,0;2,5; sys1=ss(A1,B1,C1,D1); A2=-2,0;1,0; B2=1,0; C2=0,1; D2=0; sys2=ss(A2,B2,C2,D2); feedin=1; feedout=2; sign=-1; sys=feedback(sys1,sys2,feedin,feedout,sign); 44 典型反馈控制系统结构如图所示其中求系统的闭环传递函数。G=tf(4,

30、1,2,3,4); Gc=tf(1,-3,1,3); H=tf(1,0.01,1); G_o=Gc*G; %系统前向通道的传递函数 G_c=feedback(G_o,H); %系统的闭环传递函数 45【调用格式】 sys = append(sys1,sys2,.,sysN)5系统模型的扩展【说明】将子系统sys1,sys2,.,sysN的所有输入作为系统的输入,所有输出作为系统输出,且各子系统间没有信号连接,从而扩展为一个系统。传递函数模型扩展 状态空间子系统的扩展 46【调用格式】 sysc = connect(sys, Q, inputs, outputs)【说明】 connect函数的功

31、能是将多个子系统按照一定的连接方式构成一个系统。 sys是待连接的子系统被append函数扩展后的系统。 Q矩阵声明了子系统的连接方式。Q矩阵的行向量声明了sys输入信号的连接方式,每个行向量的第1个元素为sys系统的输入端口号,其他元素为与该输入信号相连接的sys端口号。 Inputs声明了整个系统的输入信号是由sys系统的哪些输入端口号构成。 Outputs声明了整个系统的输出信号是由sys系统的哪些输出端口号构成。6系统模型的结构图连接47系统的结构图如图所示,试求取整个系统的状态空间模型。其中,子系统sys2的状态空间模型数据为48如果把 sys1(1 入1出)、sys2(2 入2 出

32、)和 sys3(1入 1 出)用 append 扩展为系统 sys,则 sys有 4 个输入和 4 个输出,它们依次为 sys1、sys2 和 sys3 的输入和输出,其编号为 1 到4,具体编号如下: sys 的 1 号输入为 sys1 的1 号输入uc sys 的 2 号输入和 3 号输入为 sys2 的1 号输入u1和 2 号输入u2 sys 的 4 号输入为 sys3 的1 号输入 sys 的 1 号输出为 sys1 的1 号输出 sys 的 2 号输出和 3 号输出为 sys2 的1 号输出 y1和 2 号输出 y2 sys 的 4 号输出为 sys3 的1 号输出 从图中的连接方式

33、可知,sys 的 3 号输入 u2 由其 1 号输出和 4 号输出构成,sys 的 4 号输入由其 3 号输出构成,因此 Q=3, 1, -4; 4, 3, 0。 49系统的输入由 sys 的 1 号输入 uc和 2号输入 u1 构成,因此 inputs=1, 2。 系统的输出由 sys 的 2 号输出 y1 和3号输出 y2 构成,因此 outputs=2, 3。 运行下面程序,查看运行结果。 A = -9.0, 17.7; -1.69, 3.21 ; B = -0.51, 0.53; -0.002 -1.85; C = -3.29, 2.45; -13.5, 18; D = -0.55,

34、-0.14; -0.65, 0.3 ; sys1 = tf(10,1 5,inputname,uc); sys2 = ss(A,B,C,D,inputname,u1 u2, outputname,y1 y2); sys3 = zpk(-1,-2,2); sys = append(sys1,sys2,sys3) Q=3, 1, -4; 4, 3, 0; outputs=2, 3; inputs=1, 2; sysc = connect(sys,Q,inputs,outputs) m74250模型分析函数 模型的特征分析 函数名函数功能class返回模型的类型名称,tf ,zpk, ss 或者fr

35、dhasdelay如果LTI模型有任何类型的滞后时间,则返回1isa判断LTI模型是否是指定的类型isct判断模型是否为连续系统模型isdt判断模型是否为离散系统模型isempty判断LTI模型是否为空isproper判断模型是否为正则系统(传递函数分母阶次大于等于分子的阶次)issiso判断模型是否为MIMO系统ndims返回LTI数组的维数reshape改变LTI数组的形状size返回输入输出状态的维数51 模型的动态分析 函数名函数功能cover计算输出的协方差和状态的协方差damp求取系统特征根的无阻尼自振频率和阻尼比dcgain返回系统的低频增益dsort离散系统的极点按幅值排序esort连续系统的极点按实部排序normLTI模型的范数p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论