matlab控制系统的数学模型

上传人:宝路 文档编号:48241411 上传时间:2018-07-12 格式:PPT 页数:87 大小:1.45MB
返回 下载 相关 举报
matlab控制系统的数学模型_第1页
第1页 / 共87页
matlab控制系统的数学模型_第2页
第2页 / 共87页
matlab控制系统的数学模型_第3页
第3页 / 共87页
matlab控制系统的数学模型_第4页
第4页 / 共87页
matlab控制系统的数学模型_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《matlab控制系统的数学模型》由会员分享,可在线阅读,更多相关《matlab控制系统的数学模型(87页珍藏版)》请在金锄头文库上搜索。

1、控制系统的数学模型在进行控制系统分析之前,首 要工作是建立控制系统的数学模型 。在MATLAB命令行方式仿真中, 可以用3种方法建立控制系统的参数 模型:多项式模型零极点模型状态空间模型5.2.1 控制系统的参数模型 1. 多项式模型(Transfer Function,简称TF)线性定常系统的传递函数G(s) 一般可以表示为 ( 5.13) 其中 ( 5.14)( 5.15) 分别为分子多项式与分母多项 式。 ; ,均为常 系数。由于用 和 可以唯一地确定一个系统,因此在 MATLAB种可以用向量 和 来表示传递函数 G(s)的多项式模型。 用于在MATLAB中描述线性定常系 统的多项式模型

2、(TF)。【例5.1】 系统的传递函数为在MATLAB命令平台上键入 num=0 1 12 44 48; den=1 16 86 176 105; printsys(num,den);num/den = s3 + 12 s2 + 44 s + 48- -s4 + 16 s3 + 86 s2 + 176 s + 105 例题说明:函数printsys()用于显示 传递函数G(s)的多项式模型。显示变 量num/den为通用的输出显示格式 ,与输出变量名称无关。 【例5.2】 系统的开环传递函数为写出其多项式模型。 num=conv(20,1 1); den=conv(1 0 0,conv(1 2

3、,1 6 10); printsys(num,den); num/den = 20 s + 20-s5 + 8 s4 + 22 s3 + 20 s2 例题说明:函数conv()用于计算多 项式乘积,结果为多项式系统的降 幂排列。语句2为函数conv()的嵌 套使用。 【例5.3】 系统的开环传递函数为写出单位负反馈时,闭环传递函数的 多项式模型。 numo=conv(5,1 1); deno=conv(1 0 0,1 3); printsys(numo,deno);num/den = 5 s + 5-s3 + 3 s2 numc,denc=cloop(numo,deno,- 1); print

4、sys(numc,denc); num/den = 5 s + 5-s3 + 3 s2 + 5 s + 5 例题说明:函数=cloop()用于计算单 位反馈时闭环传递函数多项式模型的 参数向量,右变量为开环参数,左变 量返回系统的闭环参数,反馈极性1 为正反馈,-1为负反馈,省缺时作负 反馈计算。 【例5.4】 系统的结构图如图5.3所 示。写出闭环传递函数的多项式模型 。num1=10;den1=1 1 0; num2=0.2 1;den2=0.01 1; num,den=feedback(num1,den1,nu m2,den2,-1) printsys(num,den)num/den =

5、 0.1 s + 10-0.01 s3 + 1.01 s2 + 3 s + 10例题说明:函数=feedback()用于计 算一般反馈系统的闭环传递函数。 前向传递函数为 ,反馈传递 函数为 。右变量为G(s)和 H(s)的参数,左变量返回系数的闭 环参数,反馈极性1为正反馈,-1为 负反馈,省缺时作负反馈计算。2.零极点模型(Zero-Pole,简 称ZP)线性定常系统的传递函数 G(s)一般可以表示为零点、极点形式 ,即 ( 5.6) 式中 ; ; k分别为系统的m个零点、n个极点及 增益k,且均为常数。 由于用m个零点、n个极点及增 益k可以唯一地确定一个系统。因此 ,在MATLAB中可

6、以用向量 、 、k=k0来表示系统 G(s)的零极点模型。k=k0用于在MATLAB中描述线性定常系统的零极点模型。 【例5.5】 系统的传递函数为写出其零极点模型。 z=-4;p=-1 -2 -3;k=5;表示该系统的零极点模型。如果进一步想得到多项式模型 ,另外还可以使用下述几种方法实 现。 p=poly(A)如果A为nn方阵,poly(A)执行 结果得到矩阵A的特征多项式 (5.17)则 为矩阵A的特 征多项式系数向量。 如果A为向量,poly(A)执行结 果得到以向量a的元素为根的多项式。因此,该函数可以用于零极点 模型至多项式模型的转换。如上例,num=k*poly(z);den=p

7、oly(p);printsys(num,den); num/den = 5 s + 20-s3 + 6 s2 + 11 s + 6 例题说明:函数poly()用于将多项式 零点转换为多项式。 向量a与向量b作卷积。如果a与b 分别为多项式的系数向量,卷积结果 等价与两个多项式的乘积。因此向量 c的长度为 length(c)=length(a)+length(b)-1c=conv(a,b)可见,该函数也可以用于零 极点模型至多项式模型的转换。 【例5.6】 系统的零极点模型为求多项式模型。num=2*conv(1,2,conv(1,3,1,3 ) den=conv(1,1,1,2,16)num

8、=2 16 42 36 den =1 3 18 16 即系统的多项式模型为3.状态空间模型(State Space,简 称SS) 线性连续时间系统的状态方程 为 ( 5.18) 其中系统矩阵为,控制矩阵为 ,输出矩阵为,直耦矩阵为,且A、 B、C、D均为常数矩阵,因此可以 由常数矩阵a、b、c、d表示线性定 常系统的状态空间模型。 用于在MATLAB中描述线性定常系 统的状态空间模型。【5.7】 线性系统的状态空间方程 为输入常数矩阵 a=0 1;-2 -3 b=0 1;2 0 c=0 3;1 3 d=1 0;0 2 用来表示系统的状态空间模 型。 显示为 a =0 1-2 -3 b =0 1

9、2 0c =0 31 3 d =1 00 2用于已知多项式的系数向量 num,构造变量为S的多项式函数。poly2str(num,s)【例5.8】 键入 num=3,2,1,4,2; poly2str(num, s)显示结果为 ans =3 s4 + 2 s3 + s2 + 4 s + 2用于构造传递函数G(s)并作显 示。printsys (num, den)【5.9】 键入 num=3,2,1,4,2; den=3,5,1,2,2,1; printsys(num,den); 显示结果为 num/den = 3 s4 + 2 s3 + s2 + 4 s + 2- -3 s5 + 5 s4 +

10、 s3 + 2 s2 + 2 s + 1 4.模型的转换上述控制系统的3种数学 模型,可以由模型转换函数相互转 换,以满足不同的使用需要。模型 转换函数基本格式如下。 用于多项式模型与零极点模型之间 的转换。 函数1返回零点向量z、极点向量p和 增益向量k。 函数2返回分子多项式向量num和分 母多项式向量den。 z,p,k=tf2zp(num,den) num,den=zp2tf(z,p,k)【例5.10】 已知系统的多项式 模型,求零极点模型。num=0 1 12 44 48;den=1 16 86 176 105;z,p,k=tf2zp(num,den) z =-6.0000-4.00

11、00-2.0000p =-7.0000-5.0000-3.0000-1.0000 k =1 即原系统的零极点模型为控制系统的多项式模型TF与状 态空间模型SS之间的转换。 a,b,c,d= tf2ss(z,p,k)num,den=ss2tf(a,b,c,d,iu )格式1:将多项式模型TF转换 为状态空间模型SS。格式2:将状态空间模型SS转 换为多项式模型TF。由于式(5.18 )定义的状态空间方程是m个输入、 r个输出的,其对应的多项式模型是 传递函数矩阵,即其维数是rm,因此变量iu指明输 入的号数。相应地,返回变量den是 标量函数,num的维数是r1。控制系统的状态空间模型SS与 零

12、极点模型ZP之间的转换。 a,b,c,d= zp2ss(z,p,k)z,p,k=ss2zp(a,b,c,d,iu)格式1:将零极点模型ZP转换为 状态空间模型SS。 格式2:将状态空间模型SS转 换为零极点模型ZP。变量iu指明输 入号。【5.11】 已知系统的状态空间 表达式为试求系统的传递函数矩阵G(s)。a=0 1;-2 -3;b=1 0;0 1;c=0 1;1 0;d=0 0 ;0 0; n1,d1=ss2tf(a,b,c,d,1);n2,d2=s s2tf(a,b,c,d,2); printsys(n1,d1); num(1)/den = -2-s2 + 3 s + 2num(2)/

13、den = 1 s + 3-s2 + 3 s + 2 printsys(n2,d2); num(1)/den = s + 4.4409e-016-s2 + 3 s + 2num(2)/den = 8.8818e-016 s + 1-s2 + 3 s + 2 注意,4.4409e-016为 MATLAB浮点计算残值,实际为零 。系统的传递矩阵为5.含有时间延迟环节的系统数学 模型由于时间延迟环节为s的超 越函数,为此,MATLAB准备了n阶 多项式近似函数pade()来近似。指数函数的pade展开式为( 5.20) 形式的无穷幂级数,所以取前n项 ,可以得到时间延迟环节的n阶多项式模 型的近似表

14、达式。 命令格式为 num,d en=p ade(T, n) a,b,c,d =pad e(T,n)格式1:输入参数T为的延迟时 间,n为给定的近似阶数。返回多 项式模型参数num,den。格式2:输入参数T为的延迟时 间,n为给定的近似阶数。返回多 项式模型参数a,b,c,d。【例5.12】 带有时延环节的系统如 图5.4所示。使用二阶pade()函数,建立系统的 线性模型。前向线性部分模型为 n1=10;d1=1 1 0; 前向时延环节的二阶pade近似 为 n2,d2=pade(0.1,2) n2 =1 -60 1200 d2 =1 60 1200开环多项式模型为no=conv(n1,n2);do=conv(d1,d2);闭环系统多项式模型为nc,dc=cloop(no,do);printsys(nc,dc);num/den = 10 s2 - 600 s + 12000-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号