《matlab语言控制系统的数学描述与建模》由会员分享,可在线阅读,更多相关《matlab语言控制系统的数学描述与建模(25页珍藏版)》请在金锄头文库上搜索。
1、CH3、控制系统的数学描述与建模,控制系统的数学模型在控制系统的研究中有着相当重要的地位,要对系统进行仿真处理,首先应当知道系统的数学模型,然后才可以对系统进行模拟。同样,如果知道了系统的模型,才可以在此基础上设计一个合适的控制器,使得系统响应达到预期的效果,从而符合工程实际的需要。,在线性系统理论中,一般常用的数学模型形式有:传递函数模型(系统的外部模型)、状态方程模型(系统的内部模型)、零极点增益模型和部分分式模型等。这些模型之间都有着内在的联系,可以相互进行转换。,http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/
2、 http:/ http:/ http:/ http:/ 系统的分类,http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ http:/ 线性定常连续系统的微分方程模型,例exp3_1.m,电路图如下,R=1.4欧,L=2亨,C=0.32法,初始状态:电感电流为零,电容电压为0.5V,t=0时刻接入1V的电压,求0t15s时,i(t),vo(t)的值,并且画出电流与电容电压的关系曲线。,对线性定常系统,式中s的系数均为常数,且a1不等于零,这时系统在MATLAB中可以方便地由分子和
3、分母系数构成的两个向量唯一地确定出来,这两个向量分别用num和den表示。num=b1,b2,bm,bm+1den=a1,a2,an,an+1注意:它们都是按s的降幂进行排列的。,第三节 传递函数描述,一、连续系统的传递函数模型连续系统的传递函数如下:,零极点模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子、分母进行分解因式处理,以获得系统的零点和极点的表示形式。,在MATLAB中零极点增益模型用z,p,K矢量组表示。即:z=z1,z2,zmp=p1,p2,.,pnK=k函数tf2zp()可以用来求传递函数的零极点和增益。,二、零极点增益模型,K为系统增益,zi为零
4、点,pj为极点,控制系统常用到并联系统,这时就要对系统函数进行分解,使其表现为一些基本控制单元的和的形式。函数r,p,k=residue(b,a)对两个多项式的比进行部分展开,以及把传函分解为微分单元的形式。向量b和a是按s的降幂排列的多项式系数。部分分式展开后,余数返回到向量r,极点返回到列向量p,常数项返回到k。b,a=residue(r,p,k)可以将部分分式转化为多项式比p(s)/q(s)。,三、部分分式展开,举例:传递函数描述 1)num=12,24,0,20;den=2 4 6 2 2;2)借助多项式乘法函数conv来处理:num=4*conv(1,2,conv(1,6,6,1,6
5、,6);den=conv(1,0,conv(1,1,conv(1,1,conv(1,1,1,3,2,5);,零极点增益模型:num=1,11,30,0;den=1,9,45,87,50; z,p,k=tf2zp(num,den),z= 0 -6 -5,p= -3.0000+4.0000i -3.0000-4.0000i -2.0000 -1.0000,k= 1,结果表达式:,部分分式展开:num=2,0,9,1;den=1,1,4,4; r,p,k=residue(num,den),p= 0.0000+2.0000i 0.0000-2.0000i -1.0000,k= 2,r= 0.0000-
6、0.2500i 0.0000+0.2500i -2.0000,结果表达式:,状态方程与输出方程的组合称为状态空间表达式,又称为动态方程,经典控制理论用传递函数将输入输出关系表达出来,而现代控制理论则用状态方程和输出方程来表达输入输出关系,揭示了系统内部状态对系统性能的影响。,第四节状态空间描述,在MATLAB中,系统状态空间用(A,B,C,D)矩阵组表示。,举例:系统为一个两输入两输出系统A=1 6 9 10; 3 12 6 8; 4 7 9 11; 5 12 13 14;B=4 6; 2 4; 2 2; 1 0;C=0 0 2 1; 8 0 2 2; D=zeros(2,2);,在一些场合下
7、需要用到某种模型,而在另外一些场合下可能需要另外的模型,这就需要进行模型的转换。模型转换的函数包括:residue:传递函数模型与部分分式模型互换ss2tf: 状态空间模型转换为传递函数模型ss2zp: 状态空间模型转换为零极点增益模型tf2ss: 传递函数模型转换为状态空间模型tf2zp: 传递函数模型转换为零极点增益模型zp2ss: 零极点增益模型转换为状态空间模型zp2tf: 零极点增益模型转换为传递函数模型,第五节模型的转换与连接,一、模型的转换,用法举例:1)已知系统状态空间模型为:A=0 1; -1 -2; B=0;1; C=1,3; D=1;num,den=ss2tf(A,B,C
8、,D,iu)iu用来指定第n个输入,当只有一个输入时可忽略。num=1 5 2; den=1 2 1;z,p,k=ss2zp(A,B,C,D,iu)z= -4.5616 p= -1 k=1 -0.4384 -1,2)已知一个单输入三输出系统的传递函数模型为:num=0 0 -2;0 -1 -5;1 2 0;den=1 6 11 6;A,B,C,D=tf2ss(num,den)A= -6 -11 -6 B= 1 C= 0 0 -2 D= 0 1 0 0 0 0 -1 -5 0 0 1 0 0 1 2 0 0,3)系统的零极点增益模型:z=-3;p=-1,-2,-5;k=6;num,den=zp2
9、tf(z,p,k)num= 0 0 6 18 den= 1 8 17 10a,b,c,d=zp2ss(z,p,k)a= -1.0000 0 0 b=1 2.0000 -7.0000 -3.1623 1 0 3.1623 0 0 c= 0 0 1.8974 d=0 注意:零极点的输入可以写出行向量,也可以写出列向量。,4)已知部分分式:r=-0.25i,0.25i,-2;p=2i,-2i,-1;k=2;num,den=residue(r,p,k)num= 2 0 9 1den= 1 1 4 4注意余式一定要与极点相对应。,1、并联:parallel格式:a,b,c,d=parallel(a1,b
10、1,c1,d1,a2,b2,c2,d2)并联连接两个状态空间系统。a,b,c,d=parallel(a1,b1,c1,d1,a2,b2,c2,d2,inp1,inp2,out1,out2) inp1和inp2分别指定两系统中要连接在一起的输入端编号,从u1,u2,un依次编号为1,2,n; out1和out2分别指定要作相加的输出端编号,编号方式与输入类似。inp1和inp2既可以是标量也可以是向量。out1和out2用法与之相同。如inp1=1,inp2=3表示系统1的第一个输入端与系统2的第三个输入端相连接。若inp1=1 3,inp2=2 1则表示系统1的第一个输入与系统2的第二个输入连
11、接,以及系统1的第三个输入与系统2的第一个输入连接。num,den=parallel(num1,den1,num2,den2) 将并联连接的传递函数进行相加。,二、模型的连接,2、串联:series格式:a,b,c,d=series(a1,b1,c1,d1,a2,b2,c2,d2) 串联连接两个状态空间系统。a,b,c,d=series(a1,b1,c1,d1,a2,b2,c2,d2,out1,in2) out1和in2分别指定系统1的部分输出和系统2的部分输入进行连接。num,den=series(num1,den1,num2,den2) 将串联连接的传递函数进行相乘。,3、反馈:feedb
12、ack格式:a,b,c,d=feedback(a1,b1,c1,d1,a2,b2,c2,d2) 将两个系统按反馈方式连接,一般而言,系统1为对象,系统2为反馈控制器。a,b,c,d=feedback(a1,b1,c1,d1,a2,b2,c2,d2,sign)系统1的所有输出连接到系统2的输入,系统2的所有输出连接到系统1的输入,sign用来指示系统2输出到系统1输入的连接符号,sign缺省时,默认为负,即sign= -1。总系统的输入/输出数等同于系统1。a,b,c,d=feedback(a1,b1,c1,d1,a2,b2,c2,d2,inp1,out1) 部分反馈连接,将系统1的指定输出out1连接到系统2的输入,系统2的输出连接到系统1的指定输入inp1,以此构成 闭环系统。num,den=feedback(num1,den1,num2,den2,sign) 可以得到类似的连接,只是子系统和闭环系统均以传递函数的形式表示。sign的含义与前述相同。,