基于MATLAB的控制系统数学建模.ppt
《基于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 系统模型转换的MATLAB相关函数1.
2、4.2 系统模型之间转换实例,1.5 方框图模型的连接化简1.5.1 方框图模型的连接化简简述1.5.2 系统模型连接化简的MATLAB相关函数1.5.3 系统模型连接化简实例,1.1控制系统的传递函数模型,系统传递函数模型简述传递函数的MATLAB相关函数 1.1.3 建立传递函数模型实例,系统传递函数模型简述,连续系统一般由微分方程来描述。而线性系统又是以线性常微分方程来描述的。设系统的输入信号为u(t),且输出信号为y(t),则系统的微分方程可写成:,在零初始条件下,经Laplace变换后,线性系统的传递函数模型:MATLAB中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两
3、个向量分别用num(numerator,分子)和den(denominator,分母)表示。,传递函数的MATLAB相关函数,用不同向量分别表示分子和分母多项式,就可以利用控制系统工具箱的函数表示传递函数变量G:tf函数的具体用法见表1.1。,表1.1 tf函数的具体用法,建立传递函数模型实例,例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算子%直接给出系统传递函数表达式 G=(12*s+15)/(s3+16*s2+64
4、*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)%求系统传递函数,Transfer function:20 s+10-s4+7 s3+13 s2方式2:s=tf(s)%
5、定义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种方式对多项式形式不做要求。这样在得到Laplace算子后,可以直接按照原格式输入传递函数,从而得到系统函数的MATLAB表示。可见第2种方式在处理非标准格式的传递函数时更方便。
6、,例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+10exp(-4*s)*-s4+7 s3+13 s2分析:在得到系统的传递函数之后,可以进 一步对其参数进行设置。可通过set函 数设定属性值,也可直接给属性赋值。,例4:已知系统传递函数模型为,提
7、取系统的分子和分母多项式。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 3den1=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:
8、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%取出G中具体单元值 den2=1 2 3 10 8 G.num%num是以单元数组表示的,这种方式只能看到其结构,ans=1x5 double分析:可以利用tfdata函数取出传递函数的分子分母向量,注意参数v表示以行向量的形式表示。也可通过操作传递函数对象G的参数来获取分子分母向量,此时
9、要注意分子分母在G结构体中是以单元数组的形式存在的,需以操作单元数组的方式获取。,1.2控制系统的零极点函数模型,零极点函数模型简述零极点函数的MATLAB相关函数建立零极点函数模型实例,零极点函数模型简述,零极点模型实际上是传递函数模型的另一 种表现形式,其原理是分别对原系统传递 函数的分子、分母进行分解因式处理,以 获得系统的零点和极点的表示形式。,K为系统增益,zi为零点,pj为极点。显然,对实系数的传递函数模型来说,系统的零极点或者为实数,或者以共轭复数的形式出现。离散系统的传递函数也可表示为零极点模式:,零极点函数的MATLAB相关函数,在MATLAB中零极点增益模型用z,p,K矢量
10、组表示。即:然后调用zpk()函数就可以输入这个零极点模型了。zpk函数的具体用法见表1.2。,表1.2 ZPK函数的具体用法,与零极点增益模型相关的函数见表1.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
11、+2+2*j)/(s+2-2*j)Zero/pole/gain:4(s+5)2-(s+1)(s+2)(s2+4s+8),分析:和传递函数的表示一样,可以用不同方法得到系统零极点模型。一种是直接将零极点向量和增益值赋给zpk函数,一种是先定义零极点形式的Laplace算子,再输入零极点模型。另外在低版本MATLAB的零极点模型显示中,如果存在复数零极点,则用二阶多项式来表示这两个因式,而不直接展开成一阶复数因式。例中第二种方式求零极点传递函数时的警告提示了这一点。,例6:已知一系统的传递函数 求取其零极点向量和增益值,并得到系统的零极点增益模型。Gtf=tf(7 2 8,4 12 4 2)%得到
12、系统传递函数 Transfer function:7 s2+2 s+8-4 s3+12 s2+4 s+2 z,p,k=zpkdata(Gtf,v)%得到系统零极点向量和增益值,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.151
13、0+0.4031i-0.1510-0.4031iz1=-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+11-s4+8 s3+15 s2+6 s,z,p,k=zpkdata(G,
14、v)%得到系统零极点向量和增益值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 控制系统的状态空间函数模型,本节主要内容,状态空间函数模型简述状态空间函数的MATLAB相关函数建立状态空间函数模型实例,状态空间函数模型简述,系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB 控制系统 数学 建模
链接地址:https://www.31ppt.com/p-6559748.html