收藏 分销(赏)

matlab控制系统的数学模型.ppt

上传人:s4****5z 文档编号:14008506 上传时间:2026-05-26 格式:PPT 页数:87 大小:1.45MB 下载积分:10 金币
下载 相关 举报
matlab控制系统的数学模型.ppt_第1页
第1页 / 共87页
matlab控制系统的数学模型.ppt_第2页
第2页 / 共87页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,控制系统的数学模型,在进行控制系统分析之前,首要工作是建立控制系统的数学模型。,在,MATLAB,命令行方式仿真中,可以用,3,种方法建立控制系统的参数模型:,多项式模型,零极点模型,状态空间模型,5.2.1,控制系统的参数模型,1.,多项式模型(,Transfer Function,,简称,TF,),线性定常系统的传递函数,G(s,),一般可以表示为,(,5.13,),其中,(,5.14,),(,5.15,),分别为分子多项式与分母多项式。;,均为常系数。,由于用 和 可以唯一地确定一个系统,因此在,MATLAB,种可以用向量 和 来表示传递函数,G(s,),的多项式模型。,用于在,MATLAB,中描述线性定常系统的多项式模型(,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,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);,printsys(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,num2,den2,-1),printsys(num,den,),num/den=,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,中可以用向量 、,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=,poly(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)-1,c=,conv(a,b,),可见,该函数也可以用于零极点模型至多项式模型的转换。,【,例,5.6】,系统的零极点模型为,求多项式模型。,num=2*conv(1,2,conv(1,3,1,3),den=conv(1,1,1,2,16),num=,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,2 0,c=,0 3,1 3,d=,1 0,0 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+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.0000,-2.0000,p=,-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,与零极点模型,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=ss2tf(a,b,c,d,2);,printsys(n1,d1);,num(1)/den=,-2,-,s2+3 s+2,num(2)/den=,1 s+3,-,s2+3 s+2,printsys(n2,d2);,num(1)/den=,s+4.4409e-016,-,s2+3 s+2,num(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,阶多项式模型的近似表达式。,命令格式为,num,den,=,pade(T,n,),a,b,c,d,=,pade(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,-,s4+61 s3+1270 s2+600 s+12000,6.,系统数学模型的自动生成,控制工具箱中准备的几个创建系统模型的函数如下所述。,函数,ord2(),用于创建一个二阶系统模型。,num,den,=ord2(wn,z),a,b,c,d,=ord2(wn,z),格式,1,:给定系统的无阻尼振荡频率和阻尼比,创建一个形式为,(,5.21,),的二阶系统得到多项式模型,。,格式,2,:给定系统的无阻尼振荡频率和阻尼比,创建一个形式为,(,5.22,),的二阶系统状态空间模型。,(MATLAB,中不使用希腊字母,在程序中无阻尼振荡频率 由,wn,代替,阻尼比 由,z,代替。,),函数,rmodel,(),用于创建一个,m,个输入、,p,个输出的,n,阶系统模型。省缺右变量,n,时,阶数,n,是随机的。省缺,m,时为单输入,省缺,p,时为单输出。,num,den,=,rmodel(n,p,),a,b,c,d,=,rmodel(n,p,m,),格式,1,:随机创建一个,n,阶系统的多项式模型。,格式,1,:随机创建一个,n,阶系统的状态空间模型。,7.,离散系统数学模型,关于离散系统数学模型,由于函数使用格式与说明和连续系统相类似。,【,例,5.13】,创建一个阻尼比 、的二阶系统传递函数模型和状态空间模型。,z=0.2;wn=5;,num,den,=ord2(wn,z);,printsys(num,den,),num/den=,1,-,s2+2 s+25,a,b,c,d,=ord2(wn,z),a=,0 1,-25 -2,b=,0,1,c=,1 0,d=,0,【,例,5.14】,随机创建一个三阶系统的状态空间模型,双输入双输出。,a,b,c,d,=rmodel(3,2,2),a=,-1.9910 0.0819 0.0011,0.0819 -0.7862 -0.4045,0.0011 -0.4045 -2.1475,b=,-1.0565 0.5287,1.4151 0.2193,0 -0.9219,c=,0 -1.0106 0,-0.0592 0.6145 1.6924,d=,0 0.3803,-0.6436 -1.0091,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服