基于MATLAB的控制系统数学建模.ppt

上传人:xin****828 文档编号:15640759 上传时间:2020-08-27 格式:PPT 页数:85 大小:3.64MB
收藏 版权申诉 举报 下载
基于MATLAB的控制系统数学建模.ppt_第1页
第1页 / 共85页
基于MATLAB的控制系统数学建模.ppt_第2页
第2页 / 共85页
基于MATLAB的控制系统数学建模.ppt_第3页
第3页 / 共85页
资源描述:

《基于MATLAB的控制系统数学建模.ppt》由会员分享,可在线阅读,更多相关《基于MATLAB的控制系统数学建模.ppt(85页珍藏版)》请在装配图网上搜索。

1、MATLAB与控制系统仿真实践,第1章 基于MATLAB的控制系统数学建模,本章主要内容,原理要点 1.1 控制系统的传递函数模型 1.1.1 系统传递函数模型简述 1.1.2 传递函数的MATLAB相关函数 1.1.3 建立传递函数模型实例 1.2 控制系统的零极点函数模型 1.2.1 零极点函数模型简述 1.2.2 零极点函数的MATLAB相关函数,1.2.3 建立零极点函数模型实例 1.3 控制系统的状态空间函数模型 1.3.1 状态空间函数模型简述 1.3.2 状态空间函数的MATLAB相关函数 1.3.3 建立状态空间函数模型实例 1.4 系统模型之间的转换 1.4.1 系统模型转换

2、的MATLAB相关函数 1.4.2 系统模型之间转换实例,1.5 方框图模型的连接化简 1.5.1 方框图模型的连接化简简述 1.5.2 系统模型连接化简的MATLAB相关函数 1.5.3 系统模型连接化简实例,1.1控制系统的传递函数模型,1.1.1系统传递函数模型简述 1.1.2传递函数的MATLAB相关函数 1.1.3 建立传递函数模型实例,1.1.1系统传递函数模型简述,连续系统一般由微分方程来描述。而线性系统又是以线性常微分方程来描述的。 设系统的输入信号为u(t),且输出信号为y(t),则系统的微分方程可写成:,在零初始条件下,经Laplace变换后,线性系统的传递函数模型: MA

3、TLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别用num(numerator,分子)和den(denominator,分母)表示。,1.1.2传递函数的MATLAB相关函数,用不同向量分别表示分子和分母多项式,就可以利用控制系统工具箱的函数表示传递函数变量G: tf函数的具体用法见表1.1。,表1.1 tf函数的具体用法,1.1.3建立传递函数模型实例,例1:12 s + 15 - s3 + 16 s2 + 64 s + 192 输入到MATLAB工作空间中。,方式1 num=12 15; den=1 16 64 192; G=tf(num,den),方式2:

4、s=tf(s); %先定义Laplace算子 %直接给出系统传递函数表达式 G=(12*s+15)/(s3+16*s2+64*s+192) Transfer function: 12 s + 15 - s3 + 16 s2 + 64 s + 192 分析:可以采用不同方法得到系统传递函数。第一种方式需先求出分子分母多项式,再将其作为tf函数的参数使用。第二种方式需先定义Laplace算子,将传递函数直接赋值给对象G。,例2:已知传递函数模型 将其输入到MATLAB工作空间中。 方式1: num=conv(10,2,1); %计算分子多项式 den=conv(1 0 0,1 7 13); %计算

5、分母多项式 G=tf(num,den) %求系统传递函数,Transfer function: 20 s + 10 - s4 + 7 s3 + 13 s2 方式2: s=tf(s) %定义Laplace算子 Transfer function: s G=10*(2*s+1)/s2/(s2+7*s+13)%直接给出系统传递函 数表达式 Transfer function: 20 s + 10 - s4 + 7 s3 + 13 s2,分析: 当传递函数不是以标准形式给出时,在应用sys = tf(num,den)前,需将传递函数分子分母转化成多项式。为此可以手工将多项式展开或借助conv函数完成多

6、项式相乘后,再使用tf函数。 第2种方式对多项式形式不做要求。这样在得到Laplace算子后,可以直接按照原格式输入传递函数,从而得到系统函数的MATLAB表示。可见第2种方式在处理非标准格式的传递函数时更方便。,例3:设置传递函数模型 时间延迟常数为 e-4s,即系统模型 在已有MATLAB模型基础上,设置时间延迟 常数。 接例2所得系统G。 方式1: set(G,ioDelay,4) %为传递函数设置时间延迟 G %显示传递函数,Transfer function: 20 s + 10 exp(-4*s) * - s4 + 7 s3 + 13 s2 方式2: G.ioDelay=4 %设置

7、G的延时 Transfer function: 20 s + 10 exp(-4*s) * - s4 + 7 s3 + 13 s2 分析:在得到系统的传递函数之后,可以进 一步对其参数进行设置。可通过set函 数设定属性值,也可直接给属性赋值。,例4:已知系统传递函数模型为,提取系统的分子和分母多项式。 s=tf(s);%定义Laplace算子 G=(s2+2*s+3)/(s3+3*s+4)/(s+2)%直接给出系统传递 函数表达式 Transfer function: s2 + 2 s + 3 - s4 + 2 s3 + 3 s2 + 10 s + 8, num1,den1=tfdata(G

8、,v)%得到系统的分子和分母多项 式 num1 = 0 0 1 2 3 den1 = 1 2 3 10 8 get(G) %查看所得系统的所有参数 %参数的具体含义请参阅帮助文档中tf的相关内容 num: 0 0 1 2 3 den: 1 2 3 10 8 ioDelay: 0 Variable: s Ts: 0 InputDelay: 0 OutputDelay: 0,InputName: OutputName: InputGroup: 1x1 struct OutputGroup: 1x1 struct Name: Notes: UserData: num2=G.num1,1 %取出G中具

9、体单元值 num2 = 0 0 1 2 3 den2=G.den1,1 %取出G中具体单元值 den2 = 1 2 3 10 8 G.num %num是以单元数组表示的, 这种方式只能看到其结构,ans = 1x5 double 分析: 可以利用tfdata函数取出传递函数的分子分母向量,注意参数v表示以行向量的形式表示。也可通过操作传递函数对象G的参数来获取分子分母向量,此时要注意分子分母在G结构体中是以单元数组的形式存在的,需以操作单元数组的方式获取。,1.2控制系统的零极点函数模型,1.2.1零极点函数模型简述 1.2.2零极点函数的MATLAB相关函数 1.2.3建立零极点函数模型实例

10、,1.2.1零极点函数模型简述,零极点模型实际上是传递函数模型的另一 种表现形式,其原理是分别对原系统传递 函数的分子、分母进行分解因式处理,以 获得系统的零点和极点的表示形式。,K为系统增益,zi为零点,pj为极点。显然,对实系数的传递函数模型来说,系统的零极点或者为实数,或者以共轭复数的形式出现。 离散系统的传递函数也可表示为零极点模式:,1.2.2零极点函数的MATLAB相关函数,在MATLAB中零极点增益模型用z,p,K矢量组表示。即: 然后调用zpk()函数就可以输入这个零极点模型了。zpk函数的具体用法见表1.2。,表1.2 zpk函数的具体用法,与零极点增益模型相关的函数见表1.

11、3。,1.2.3建立零极点函数模型实例,例5:将零极点模型 输入MATLAB工作空间 方式1: z1=-5;-5; p1=-1;-2;-2-2*j;-2+2*j; k=4; G1=zpk(z1,p1,k),Zero/pole/gain: 4 (s+5)2 - (s+1) (s+2) (s2 + 4s + 8) 方式2: s=zpk(s); %高版本MatLab中符号运算不支持复数零极点 %下面的形式在高版本MatLab中不能通过 G2=4*(s+5)2/(s+1)/(s+2)/(s+2+2*j)/(s+2-2*j) Zero/pole/gain: 4 (s+5)2 - (s+1) (s+2)

12、(s2 + 4s + 8),分析: 和传递函数的表示一样,可以用不同方法得到系统零极点模型。一种是直接将零极点向量和增益值赋给zpk函数,一种是先定义零极点形式的Laplace算子,再输入零极点模型。 另外在低版本MATLAB的零极点模型显示中,如果存在复数零极点,则用二阶多项式来表示这两个因式,而不直接展开成一阶复数因式。例中第二种方式求零极点传递函数时的警告提示了这一点。,例6:已知一系统的传递函数 求取其零极点向量和增益值,并得到系统的零极点增益模型。 Gtf=tf(7 2 8,4 12 4 2) %得到系统传递函数 Transfer function: 7 s2 + 2 s + 8 -

13、 4 s3 + 12 s2 + 4 s + 2 z,p,k=zpkdata(Gtf,v)%得到系统零极点向量和增益值,z = -0.1429 + 1.0595i -0.1429 - 1.0595i p = -2.6980 -0.1510 + 0.4031i -0.1510 - 0.4031i k = 1.7500 Gzpk=zpk(z,p,k) %求系统零极点增益模型 Zero/pole/gain: 1.75 (s2 + 0.2857s + 1.143) - (s+2.698) (s2 + 0.302s + 0.1853), p1,z1 = pzmap(Gtf) %求取系统零极点 p1 = -

14、2.6980 -0.1510 + 0.4031i -0.1510 - 0.4031i z1 = -0.1429 + 1.0595i -0.1429 - 1.0595i 分析: 系统零极点可以由不同方式求取。zpkdata函数需指定参数v,否则得到的是单元数组形式的零极点。pzmap函数带返回值使用时只返回系统的零极点向量,而不绘制零极点分布图。,例7:已知一系统的传递函数 求其零极点及增益,并绘制系统零极点分布图。 num=1 4 11; den=conv(1 6 3,1 2 0); G=tf(num,den) %得到系统传递函数 Transfer function: s2 + 4 s + 1

15、1 - s4 + 8 s3 + 15 s2 + 6 s, z,p,k=zpkdata(G,v)%得到系统零极点向量和增益值 z = -2.0000 + 2.6458i -2.0000 - 2.6458i p = 0 -5.4495 -2.0000 -0.5505 k = 1 pzmap(G) %得到系统零极点分布图 例7得到的系统零极点分布图见图1.1。,分析:由MATLAB既可以求得系统的零极点向量,也可以由图形的方式显示其分布状态。pzmap函数不带返回值使用时,显示系统零极点分布图。当在图上点击各点时,将显示该点的各属性及其值。,图1.1 例7系统零极点分布图,1.3 控制系统的状态空间

16、函数模型,本节主要内容,1.3.1状态空间函数模型简述 1.3.2状态空间函数的MATLAB相关函数 1.3.3建立状态空间函数模型实例,1.3.1状态空间函数模型简述,系统的状态空间模型。 这种方式是基于系统的内部的状态变量的,所以又往往称为系统的内部描述方法。和传递函数模型不同,状态方程可以描述更广的一类控制系统模型,包括非线性系统。 具有n个状态、m个输入和p个输出的线性时不变系统,用矩阵符号表示的状态空间模型是:,1.3.2状态空间函数的MATLAB相关函数,1.3.3建立状态空间函数模型实例,例8:将以下系统的状态方程模型输入 MATLAB工作空间中。 A=6 5 4;1 0 0;0

17、 1 0; B=1 0 0; C=0 6 7; D=0; G=ss(A,B,C,D) %输入并显示系统状态空间模型,a = x1 x2 x3 x1 6 5 4 x2 1 0 0 x3 0 1 0 b = u1 x1 1 x2 0 x3 0 c = x1 x2 x3 y1 0 6 7 d = u1 y1 0,例9:已知系统 求系统参数。 A=0 1;-3 -4; B=0 1; C=5 2; D=1; Gss=ss(A,B,C,D) %得到系统状态空间模型,a = x1 x2 x1 0 1 x2 -3 -4 b = u1 x1 0 x2 1 c = x1 x2 y1 5 2 d = u1 y1 1

18、, aa,bb,cc,dd=ssdata(Gss)%得到系统模型参数 aa = 0 1 -3 -4 bb = 0 1 cc = 5 2 dd = 1, get(Gss) %得到对象Gss所有参数列表 a: 2x2 double b: 2x1 double c: 5 2 d: 1 e: StateName: 2x1 cell InternalDelay: 0 x1 double Ts: 0 InputDelay: 0 OutputDelay: 0 InputName: OutputName: InputGroup: 1x1 struct OutputGroup: 1x1 struct Name:

19、 Notes: UserData: , Gss.a %求取一个系统模型参数 ans = 0 1 -3 -4 分析:系统状态空间模型参数可由不同方式 得到。与tf模型和zpk模型相比不同的 一点是,状态空间模型参数A,B, C,D是矩阵形式,可直接由Gss.a的 方式,此时无需按照单元数组格式获 得其参数。,1.4系统模型之间的转换,本节主要内容,1.4.1系统模型转换的MATLAB相关函数 1.4.2系统模型之间转换实例,10.4.1系统模型转换的MATLAB相关函数,系统的线性时不变(LTI)模型有传递函数(tf)模型、零极点增益(zpk)模型和状态空间(ss)模型,它们之间可以相互转换。转

20、换形式如图1.2所示。,模型之间的转换函数可分成2类:第一类是把其它类型的模型转换为函数表示的模型自身见表1.6。,表1.6第一类函数(把其它类型的模型转换为函数表示的模型自身),表1.7 第二类函数(将本类型传递函数参数转换为其它类型传递函数参数),1.4.2系统模型之间转换实例,例10:已知系统传递函数模型 试求其零极点模型及状态空间模型。 num=5; den=conv(1 2,1 2 1); Gtf=tf(num,den) %得到系统多项式传递函数表示,Transfer function: 5 - s3 + 4 s2 + 5 s + 2 Gzpk=zpk(Gtf) %将多项式传递函数模

21、型转换为zpk模型 Zero/pole/gain: 5 - (s+2) (s+1)2 Gss=ss(Gtf) %将多项式传递函数模型转换为ss模型,a = x1 x2 x3 x1 -4 -2.5 -1 x2 2 0 0 x3 0 1 0 b = u1 x1 2 x2 0 x3 0 c = x1 x2 x3 y1 0 0 1.25 d = u1 y1 0 Continuous-time model.,分析:采用第一类函数进行传递函数类型的 转换,可直接得到转换后的函数表示。 例11:已知一系统的零极点模型 求其tf模型及状态空间模型。 z=-2 -4; p=-1 -3; k=5; Gzpk=zp

22、k(z,p,k) %得到系统zpk模型,Zero/pole/gain: 5 (s+2) (s+4) - (s+1) (s+3) a,b,c,d=zp2ss(z,p,k)%由系统zpk模型转换得到ss模型参数 a = -4.0000 -1.7321 1.7321 0 b = 1 0 c = 10.0000 14.4338 d = 5, num,den=zp2tf(z,p,k)%得到tf模型分子分母参数 num = 5 30 40 den = 1 4 3 num,den=zp2tf(Gzpk) %错误调用,注意应传递参数z,p,k ? Input argument p is undefined.

23、Error in = zp2tf at 24 den = real(poly(p(:); Gtf=zp2tf(z,p,k) %错误调用,注意应返回分子分母两个参数 Gtf = 5 30 40,分析:采取第二类函数进行传递函数类型,只得到转换后的系统参数。这一点与第 一类函数调用有很大差别。此外,在第二类函数的调用中要特别注意传入参数和返回参数的使用,否则会报错或得到错误结果。 例12:将双输入单输出的系统模型转换为多 项式传递函数模型。, a=0 1;-2 -3; b=1 0;0 1; c=1 0; d=0 0; num,den=ss2tf(a,b,c,d,1)%得到第1路输入对应的传递函数参

24、数 num = 0 1.0000 3.0000 den = 1 3 2 num2,den2=ss2tf(a,b,c,d,2)%得到第2路输入对应的传递函数参数 num2 = 0 0.0000 1.0000,den2 = 1 3 2 Gss=ss(a,b,c,d); Gtf=tf(Gss)%直接得到各路传递函数 Transfer function from input 1 to output: s + 3 - s2 + 3 s + 2 Transfer function from input 2 to output: 1 - s2 + 3 s + 2,分析:系统传递函数矩阵为 对以上双输入单输出

25、的系统模型,在使用ss2tf函数时需要使用参数iu来指定输入输出对应关系。 从例题结果知,对于输入1和输入2(考虑输入1时,设输入2为0。反之亦然),传递函数分别为:,例13:系统传递函数为 将其转换为状态空间模型。, num=1 2; den=1 1 2; a,b,c,d=tf2ss(num,den)%转换方式1 a = -1 -2 1 0 b = 1 0 c = 1 2 d = 0, Gss=ss(tf(num,den)%转换方式2 a = x1 x2 x1 -1 -2 x2 1 0 b = u1 x1 2 x2 0 c = x1 x2 y1 0.5 1 d = u1 y1 0,Conti

26、nuous-time model. 分析:使用不同方法得到系统的不同状态空 间模型。这也表明具有同一传递函数的系统具有不同的状态空间模型。事实上,状态空间模型是无穷多的。,1.5方框图模型的连接化简,本节主要内容,1.5.1方框图模型的连接化简简述 1.5.2系统模型连接化简的MATLAB相关 函数 1.5.3系统模型连接化简实例,1.5.1方框图模型的连接化简简述,在实际应用中,整个控制系统由受控对象和控制装置组成的,有多个环节。由多个单一的模型组合而成。每个单一的模型都可以用一组微分方程或传递函数来描述。基于模型不同的连接和互连信息,合成后的模型有不同的结果。模型间连接主要有串联连接、并联

27、连接、串并联连接和反馈连接等。对系统的不同连接情况,我们可以进行模型的化简。,1.5.1方框图模型的连接化简简述串联连接的化简,图1.3是一般情况下模型串联连接的结构框图。,1.5.1 方框图模型的连接化简简述并联连接的化简,图1.4是一般情况下模型并联连接的结构框图。单输入单输出(SISO)系统G1(s)和G2(s)并联连接时,合成系统 G:G(s)G1(s)+G2(s) 图1.4 并联连接结构框图,1.5.1 方框图模型的连接化简简述反馈连接的化简,(a)正反馈连接结构框图,(b)负反馈连接结构构图,对于如图1.5的正反馈连接 负反馈连接,表1.8 系统模型连接化简函数,MATLAB提供了

28、系统模型连接化简的不同函数,其中主要函数及功能说明见表1.8。,1.5.3系统模型连接化简实例,例13:已知系统 求G1(s)和G2(s)分别进行串联、并联和反馈连接后的系统模型。, clear num1=1; den1=1 5 23; num2=1; den2=1 4; G1=tf(num1,den1); %得到G1 G2=tf(num2,den2); %得到G2 Gs=G2*G1 %进行串联,串联方式1,Transfer function: 1 - s3 + 9 s2 + 43 s + 92, Gs1=series(G1,G2) %进行串联,串联方式2,结果与串 联方式1相同 Transf

29、er function: 1 - s3 + 9 s2 + 43 s + 92 Gp=G1+G2 %进行并联,方式1 Transfer function: s2 + 6 s + 27 - s3 + 9 s2 + 43 s + 92 Gp1=parallel(G1,G2) %进行并联,并联方式2,结果与并 联方式1相同,Transfer function: s2 + 6 s + 27 - s3 + 9 s2 + 43 s + 92 Gf=feedback(G1,G2) %进行负反馈化简,反馈方式1 Transfer function: s + 4 - s3 + 9 s2 + 43 s + 93 G

30、f1=G1/(1+G1*G2) %进行负反馈化简,反馈方式 2,模 型阶次高于实际阶次 Transfer function: s3 + 9 s2 + 43 s + 92 - s5 + 14 s4 + 111 s3 + 515 s2 + 1454 s + 2139, Gf2=minreal(Gf1) %获得系统的最小实现模型,结果与反馈方式1相同 Transfer function: s + 4 - s3 + 9 s2 + 43 s + 93 分析: 1.系统串联、并联和反馈连接化简可由不同方式完成。 2.注意在串联实现方面,如果传递函数是状态空间形式,结果显然是不相同的。而对于非SISO系统,

31、不一定存在,即使存在也极有可能得不出正确结果来。,3. 对于反馈连接,虽然运算式与feedback函数等效,但得到的系统阶次可能高于实际系统阶次,需要通过minreal函数进一步求其最小实现。此外,较早版本的教材中有很多用cloop函数来求系统反馈连接,这一函数在新版本的MATLAB中会提示已过时,并建议用feedback代替之。(CLOOP is obsolete, use FEEDBACK instead.),例14:化简如图1.7的系统,求系统的传递函数。 图1.7 例14系统框图, clear G1=tf(1,1 1); G2=tf(1,3 4 1); Gp=G1+G2; %系统并联部

32、分的化简 G3=tf(1,1 0); Gs=series(G3,Gp); %系统串联部分的化简 Gc=Gs/(1+Gs) %系统负反馈连接 Transfer function: 9 s6 + 36 s5 + 56 s4 + 42 s3 + 15 s2 + 2 s - 9 s8 + 42 s7 + 88 s6 + 112 s5 + 95 s4 + 52 s3 + 16 s2 + 2 s, Gc1=minreal(Gc) %得到系统的最小实现 Transfer function: s + 0.6667 - s3 + 1.333 s2 + 1.333 s + 0.6667 分析: 系统中往往同时含有不同的连接方式。在化简时需正确使用不同的MATLAB化简函数。如果系统连接更复杂的话,可能需要首先进行节点的前移或后移,或者分支点的前移或后移,然后再进行系统化简。,

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!