基于MATLAB的控制系统数学建模ppt课件.ppt
《基于MATLAB的控制系统数学建模ppt课件.ppt》由会员分享,可在线阅读,更多相关《基于MATLAB的控制系统数学建模ppt课件.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 系统模型转换的MATLAB相关函数1.
2、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变换后,线性系统的传递函数模型:MATLAB中可以方便地由分子和分母系数构
3、成的两个向量唯一地确定出来,这两个向量分别用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: s=tf(s); %先定义Laplace
4、算子 %直接给出系统传递函数表达式 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); %计算分母多项式 G=tf(num,den) %求
5、系统传递函数,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函数完成多项式相乘后,再使用tf函数。 第2种方式对多项式形式不
6、做要求。这样在得到Laplace算子后,可以直接按照原格式输入传递函数,从而得到系统函数的MATLAB表示。可见第2种方式在处理非标准格式的传递函数时更方便。,例3:设置传递函数模型 时间延迟常数为 e-4s,即系统模型在已有MATLAB模型基础上,设置时间延迟常数。接例2所得系统G。方式1: set(G,ioDelay,4) %为传递函数设置时间延迟 G %显示传递函数,Transfer function: 20 s + 10exp(-4*s) * - s4 + 7 s3 + 13 s2方式2: G.ioDelay=4 %设置G的延时 Transfer function: 20 s + 10
7、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,v)%得到系统的分子和分母多项 式num1 = 0 0 1 2 3den
8、1 = 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中具体单元值 num2 = 0 0 1 2 3 den2=G.den1,1 %取出
9、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建立零极点函数模型实例,1.2.1零极点函数模型简述,零极点模型实际上是传递函数模型的另一 种表现形式,其
10、原理是分别对原系统传递 函数的分子、分母进行分解因式处理,以 获得系统的零点和极点的表示形式。,K为系统增益,zi为零点,pj为极点。显然,对实系数的传递函数模型来说,系统的零极点或者为实数,或者以共轭复数的形式出现。 离散系统的传递函数也可表示为零极点模式:,1.2.2零极点函数的MATLAB相关函数,在MATLAB中零极点增益模型用z,p,K矢量组表示。即:然后调用zpk()函数就可以输入这个零极点模型了。zpk函数的具体用法见表1.2。,表1.2 zpk函数的具体用法,与零极点增益模型相关的函数见表1.3。,1.2.3建立零极点函数模型实例,例5:将零极点模型输入MATLAB工作空间 方
11、式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) (s2 + 4s + 8),分析: 和传递函数的表示一样,可以用不同方法得到系统零极点模型。一种
12、是直接将零极点向量和增益值赋给zpk函数,一种是先定义零极点形式的Laplace算子,再输入零极点模型。 另外在低版本MATLAB的零极点模型显示中,如果存在复数零极点,则用二阶多项式来表示这两个因式,而不直接展开成一阶复数因式。例中第二种方式求零极点传递函数时的警告提示了这一点。,例6:已知一系统的传递函数 求取其零极点向量和增益值,并得到系统的零极点增益模型。 Gtf=tf(7 2 8,4 12 4 2) %得到系统传递函数 Transfer function: 7 s2 + 2 s + 8-4 s3 + 12 s2 + 4 s + 2 z,p,k=zpkdata(Gtf,v)%得到系统零
13、极点向量和增益值,z = -0.1429 + 1.0595i -0.1429 - 1.0595ip = -2.6980 -0.1510 + 0.4031i -0.1510 - 0.4031ik = 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 = -2.6980 -0.1510 + 0.4031i -0.1510 - 0.4031iz1 = -0.1429 +
14、 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 + 11-s4 + 8 s3 + 15 s2 + 6 s, z,p,k=zpkdata(G,v)%得到系统零极点向量和增
15、益值z = -2.0000 + 2.6458i -2.0000 - 2.6458ip = 0 -5.4495 -2.0000 -0.5505k = 1 pzmap(G) %得到系统零极点分布图例7得到的系统零极点分布图见图1.1。,分析:由MATLAB既可以求得系统的零极点向量,也可以由图形的方式显示其分布状态。pzmap函数不带返回值使用时,显示系统零极点分布图。当在图上点击各点时,将显示该点的各属性及其值。,图1.1 例7系统零极点分布图,1.3 控制系统的状态空间函数模型,本节主要内容,1.3.1状态空间函数模型简述1.3.2状态空间函数的MATLAB相关函数1.3.3建立状态空间函数模
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB 控制系统 数学 建模 ppt 课件

链接地址:https://www.31ppt.com/p-1325190.html