Matlab问题线性系统的能控性和能观性

上传人:深秋****菊 文档编号:243150181 上传时间:2024-09-16 格式:PPT 页数:65 大小:801.50KB
返回 下载 相关 举报
Matlab问题线性系统的能控性和能观性_第1页
第1页 / 共65页
Matlab问题线性系统的能控性和能观性_第2页
第2页 / 共65页
Matlab问题线性系统的能控性和能观性_第3页
第3页 / 共65页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Ch.4,线性系统的能控性和能观性,目录(1/1),目 录,概述,4.1,线性连续系统的能控性,4.2,线性连续系统的能观性,4.3,线性定常离散系统的能控性和能观性,4.4,对偶性原理,4.5,线性系统的结构性分解和零极点相消,4.6,能控规范形和能观规范形,4.7,实现问题,4.8,Matlab,问题,本章小结,Matlab,问题,(1,/1),4.8,Matlab,问题,本章涉及的计算问题主要有,状态能控性,/,能观性判定,、,系统能控能观分解,、,能控,/,能观规范形变换,以及,能控,/,能观规范形实现,。,下面分别介绍基于,Matlab,的上述问题的程序编制和计算方法。,状态能控性与能观性判定,(1,/2),4.8.1,状态能控性与能观性判定,状态能控性与能观性是线性系统的重要结构性质,描述了系统的本质特征,是系统分析和设计的主要考量因素。,Matlab,提供了用于状态能控性、能观性判定的,能控性矩阵函数,ctrb,(),、,能观性矩阵函数,obsv,(),和,能控性,/,能观性格拉姆矩阵函数,gram(),通过对这些函数计算所得的矩阵求秩就可以很方便地判定系统的状态能控性、能观性。,状态能控性与能观性判定,(,2/2),用户也可以根据能控性、能观性的各种判据,自己编制程序和函数来判定这两个系统的结构性质。,下面分别介绍,状态能控性判定,状态能观性判定,状态能控性判定,(1,/10),1.,状态能控性判定,无论是连续还是离散的线性定常系统,采用代数判据判定状态能控性需要计算能控性矩阵。,Matlab,提供的函数,ctrb,(),可根据给定的系统模型,计算能控性矩阵,Q,c,=,B AB,A,n,-1,B,能控性矩阵,函数,ctrb,(),的主要调用格式为,:,Qc =,ctrb(A,B,),Qc =,ctrb(sys,),其中,第,1,种输入格式为直接给定系统矩阵,A,和输入矩阵,B,第,2,种格式为给定状态空间模型,sys,。,输出矩阵,Qc,为计算所得的能控性矩阵。,状态能控性判定,(,2/10),基于能控性矩阵函数,ctrb,(),及能控性矩阵,Q,c,的秩的计算,就可以进行连续线性定常系统的状态能控性的代数判据判定。,Matlab,问题,4-1,试在,Matlab,中判定例,4-2,的如下系统的状态能控性。,状态能控性判定,(3/10),Matlab,程序,m4-1,如下。,Matlab,程序,m4-1,中的函数,Judge_contr,(),通过调用能控性矩阵函数,ctrb,(),和计算矩阵秩的函数,rank(),,完成能控性代数判据的判定。,函数,Judge_contr,(),的源程序为,A=1 3 2; 0 2 0; 0 1 3;,B=2 1; 1 1; -1,-1,;,sys=,ss(A,B,);,Judge_contr(sys,);,%,建立状态空间模型,%,调用函数判定状态能控性,状态能控性判定,(4/10),Matlab,程序,m4-1,执行结果,如下。,表明所判定的系统状态不能控。,function,Judge_contr(sys,),Qc=,ctrb(sys,);,n=,size(sys.a,);,if,rank(Qc,)=n(1),disp(The,system is controlled),else,disp(The,system is not controlled),end,%,定义函数,Judge_contr,(),%,计算系统的能控性矩阵,%,求系统矩阵的各维的大小,%,判定能控性矩阵的秩是否等于状态变量的个数,即是否能控,The system is not controlled,在上述程序和函数中,使用了,2,个,Matlab,基本矩阵函数,rank(),和,size(),其定义和使用方法如下,1),计算矩阵秩的函数,rank(),。,求矩阵秩的函数,rank(),的调用格式为:,k =,rank(A,),k =,rank(A,tol,),其中输入,A,为矩阵,输出,k,为矩阵,A,的秩。,状态能控性判定,(5/10),虽然,Matlab,求矩阵秩采用了数值特性良好的计算奇异值的方法,但考虑到计算机浮点计算过程产生的数值计算误差可能使得判定秩有偏差,第,2,种调用格式可以给定判定矩阵奇异值的容许误差,,而对第,1,种格式系统将自动设定一个容许误差,tol,。,2),计算数组各维大小的函数,size(),。,函数,size(),在,Matlab,编程中非常有用,它可以在各个调用函数中随时求取所处理的数组的各维数的大小,而没有必要将数组的维数大小作为变量,(,参量,),参与函数调用,所设计的程序简洁、易读易懂。,状态能控性判定,(6/10),函数,size(),的主要调用格式为:,d =,size(X,),m =,size(X,dim,),d1,d2,d3,.,dn, =,size(X,),其中,输出,d,为数组,X,的各维的大小组成的,1,维数组;,m,为数组,X,的第,dim,维的大小;,d1,d2,d3,.,dn,为数组,X,的各维的大小。,如,d=size(1 2 3; 4 5 6),的输出为数组,d=2 3,而,m,n, =size(1 2 3; 4 5 6),的输出则是,m,和,n,分别为,2,和,3,。,状态能控性判定,(7/10),由,4.3.1,节的定理,4-12,可知,线性定常离散系统,(,G,H,),状态能控的充分必要条件为,rank,Q,c,=rank ,Q,c,G,n,因此判定线性定常离散系统状态能控性的代数判据也需计算能控性矩阵,Q,c,=,H GH,G,n,-1,H,与连续系统类似,基于能控性矩阵函数,ctrb,(),可以判定线性定常离散系统状态能控性。,状态能控性判定,(8/10),状态能控性判定,(9/10),Matlab,问题,4-2,试在,Matlab,中判定例,4-12,的如下系统的状态能控性。,Matlab,程序,m4-2,如下。,G=1 0 0; 0 2 -2; -1 1 0; H=1; 2; 1;,n=size(G,1);,Qc=,ctrb(G,H,);,if,rank(Qc,)=,rank(Qc,Gn,),disp(The,system is controlled),else,disp(The,system is not controlled),end,%,求系统矩阵的行数,%,计算系统的能控性矩阵,%,判定能控性矩阵,Qc,的秩是否等于,Qc,Gn,的秩,即离散系统是否能控,状态能控性判定,(10/10),Matlab,程序,m4-2,执行结果,如下。,The system is not controlled,状态能观性判定,(1,/5),2.,状态能观性判定,无论对连续还是离散的线性定常系统,采用代数判据判定状态能观性需要计算定义的能观性矩阵,并要求能观性矩阵,Q,o,的秩等于状态空间维数。,Matlab,提供的函数,obsv,(),可根据给定的系统模型计算能观性矩阵。,状态能观性判定,(,2/5),能观性矩阵函数,obsv,(),的主要调用格式为,Qo,=,obsv(A,C,),Qo,=,obsv(sys,),其中第,1,种调用格式为直接输入系统矩阵,A,和输出矩阵,C,第,2,种格式为输入状态空间模型,sys,;,输出矩阵,Qo,为计算所得的能观性矩阵。,基于能观性矩阵函数,obsv,(),及能观性矩阵,Q,o,秩的计算,就可以进行连续和离散线性定常系统的状态能观性的代数判据判定。,状态能观性判定,(3/5),Matlab,问题,4-3,试在,Matlab,中判定例,4-13,的如下系统的状态能观性。,Matlab,程序,m4-3,如下。,A=2 0 3; -1 -2 0; 0 1 2;,C=1 0 0; 0 1 0;,sys=,ss(A,C,);,Judge_obsv(sys,);,%,建立状态空间模型,%,调用函数,Judge_obsv,(),判定状态能观性,状态能观性判定,(4/5),其中函数,Judge_obsv,(),的源程序为,Matlab,程序,m4-3,执行结果,如下。,The system is,observability,function,Judge_obsv(sys,),Qo,=,obsv(sys,);,n=,size(sys.a,);,if,rank(Qo,)=n(1),disp(The,system is,observability,),else,disp(The,system is not,observability,),end,%,函数,Judge_obsv,(),定义,%,计算系统的能观性矩阵,%,求系统矩阵的各维的大小,%,判定能观性矩阵的秩是否等于状态变量的个数,即是否能观,状态能观性判定,(5/5),其中函数,Judge_obsv,(),的源程序为,Matlab,程序,m4-3,执行结果,如下。,表明所判定的系统状态能观。,The system is,observability,function,Judge_obsv(sys,),Qo,=,obsv(sys,);,n=,size(sys.a,);,if,rank(Qo,)=n(1),disp(The,system is,observability,),else,disp(The,system is not,observability,),end,%,函数,Judge_obsv,(),定义,%,计算系统的能观性矩阵,%,求系统矩阵的各维的大小,%,判定能观性矩阵的秩是否等于状态变量的个数,即是否能观,线性系统的能控能观分解,(1,/2),4.8.2,线性系统的能控能观分解,4.5,节介绍的线性定常系统的能控能观分解,让我们清楚地了解动态系统哪些哪些子空间,(,子系统,),状态完全能控,哪些完全不能控;,哪些子空间状态完全能观,哪些完全不能观。,在控制系统设计与综合时,能更好地有针对性地进行设计与综合。,线性系统的能控能观分解,(,2/2),Matlab,提供了用于,状态能控性分解的函数,ctrbf,(),和,状态能观性分解的函数,obsvf,(),。,基于这,2,个函数,用户可以通过逐步分解,求得系统的能控能观分解。,为此,编著者设计了用于,能控能观分解的,Matlab,函数,ctrb_obsvf,(),。,能控性分解函数,ctrbf,(),(1,/5),1.,能控性分解函数,ctrbf,(),能控性分解函数,ctrbf,(),的主要调用格式为,A_c,B_c,C_c,Tc, =,ctrbf(A,B,C,),A_c,B_c,C_c,Tc, =,ctrbf(A,B,C,tol,),其中,输入格式,A,B,和,C,为需按能控性分解的状态空间模型的各矩阵,tol,为计算容许误差;,输出的,A_c,B_c,和,C_c,为能控性分解之后的状态空间模型的各矩阵;,Tc,为变换矩阵,系统进行的状态变换为,能控性分解函数,ctrbf,(),(,2/5),经函数,ctrbf,(),能控性分解后,系统的状态空间模型为,Matlab,问题,4-4,试在,Matlab,中对例,4-15,的系统进行能控性分解。,能控性分解函数,ctrbf,(),(,3/5),Matlab,程序,m4-4,如下。,Matlab,程序,m4-4,执行结果,如下。,A=1 2 -1; 0 1 0; 1 -4 3;,B=0; 0; 1; C=1 -1 1;,Ac,Bc,Cc,Tc, =,ctrbf(A,B,C,),Ac = 1 0 0,-2 1 -1,4 1 3,Bc,= 0,0,-1,Cc = -1,-1,-1,Tc,= 0 1 0,-1 0 0,0 0 -1,例,4-15,计算结果,(,能控部分,),结果完全等价,能控性分解函数,ctrbf,(),(,4/5),由于变换矩阵不唯一且状态变量向量中变量排列的次序不同,所得到的能控性分解模型也不唯一。,函数,ctrbf,(),的能控性分解变换矩阵和状态变量的排列与,4.5.1,节的能控性分解定理,4-20,的有所不同,因此得到的能控性分解后的状态空间模型也有所不同,但本质是一致的。,能控性分解函数,ctrbf,(),(,5/5),与,4.5.1,节内容相对应,编著者开发了一个能控性分解函数,ctrbf2(),,可用于求取定理,4-20,的能控分解,其主要调用格式为,A_c,B_c,C_c,Tc,nc, = ctrbf2(A,B,C),A_c,B_c,C_c,Tc,nc, = ctrbf2(A,B,C,tol),其中,输出,nc,为能控子系统的维数,其他输入输出格式与,Matlab,函数,ctrbf,(),一致。,读者可以使用该函数方便地将系统按能控性进行结构分解,这里不再赘述。,能观性分解函数,obsvf,(),(1,/5),2.,能观性分解函数,obsvf,(),能观性分解函数,obsvf,(),的主要调用格式为,A_o,B_o,C_o,To, =,obsvf(A,B,C,),A_o,B_o,C_o,To, =,obsvf(A,B,C,tol,),其中输入格式与能控性分解函数,ctrbf,(),一致;,输出的,A_o,B_o,和,C_o,为能观性分解之后的状态空间模型的各矩阵;,To,为变换矩阵,系统进行的状态变换为,能观性分解函数,obsvf,(),(,2/5),经函数,obsvf,(),能观性分解后,系统的状态空间模型为,与能控性分解函数,ctrbf,(),的使用方法完全一致,读者可非常方便地使用该函数进行系统的能观性分解,(,这里不再赘述,),。,同样地,由于变换矩阵不唯一以及状态变量向量中变量排列的次序不同,所得到的能观性分解模型也不唯一。,函数,obsv,(),得到的能观性分解状态空间模型与,4.5.2,节的能观性分解定理,4-21,的有所不同,但本质是一致的。,能观性分解函数,obsvf,(),(,3/5),与,4.5.2,节内容相对应,编著者开发了一个能观性分解函数,obsvf2(),可用于求取定理,4-21,的能观性分解,其主要调用格式为,A_o,B_o,C_o,To,no, = obsvf2(A,B,C),A_o,B_o,C_o,To,no, = obsvf2(A,B,C,tol),其中输出,no,为能观子系统的维数,其他输入输出与,Matlab,函数,obsvf,(),一致。,能观性分解函数,obsvf,(),(,4/5),Matlab,问题,4-5,试在,Matlab,中对例,4-16,的系统进行能观性分解。,Matlab,程序,m4-5,如下。,A=0 0 -1; 1 0 -3; 0 1 -3;,B=1; 1; 0; C=0 1 -2;,Ao,Bo,Co,To, = obsvf2(A,B,C),能观性分解函数,obsvf,(),(,5/5),Matlab,程序,m4-5,执行结果,如下。,Ao,= 0 1.0000 0,-1.0000 -2.0000 0.0000,10.0000 5.0000 -1.0000,Bo = 1,-1,5,Co = 1 0 0,To = 0 1 -2,1 -2 3,5 0 0,例,4-16,计算结果,(,能观部分,),结果完全一致,能控能观分解函数,ctrb_obsvf,(),(1,/4),3.,能控能观分解函数,ctrb_obsvf,(),Matlab,没有提供直接进行系统能控能观分解的函数,编著者根据,4.5.3,介绍的能控能观分解方法,开发了直接进行能控能观分解的函数,ctrb_obsvf,(),。,能控能观分解函数,ctrb_obsvf,(),的主要调用格式为,Aco,Bco,Cco,Tco,nco, =,ctrb_obsvf(A,B,C,),Aco,Bco,Cco,Tco,nco, =,ctrb_obsvf(A,B,C,tol,),其中输入格式与能控性分解函数,ctrbf,(),和能观性分解函数,obsvf,(),一致;,输出的,Aco,Bco,和,Cco,为能控能观分解之后的状态空间模型的各矩阵;,能控能观分解函数,ctrb_obsvf,(),(,2/4),Tco,为变换矩阵,系统进行的状态变换为,nco,为分解后,4,个子系统的维数组成的数组。,在这里,变换后状态变量的排列与,4.5.3,节定理,4-22,一致,为,能控但不能观、,能控又能观、,不能控也不能观以及,不能控但能观,nco,中各元素即为按照状态变量排列顺序的,4,个子系统的维数。,能控能观分解函数,ctrb_obsvf,(),(,3/4),Matlab,问题,4-6,试在,Matlab,中对例,4-17,的如下系统进行能控能观分解。,Matlab,程序,m4-6,如下。,A=0 0 -1; 1 0 -3; 0 1 -3;,B=1; 1; 0; C=0 1 -2;,Aco,Bco,Cco,Tco, =,ctrb_obsvf(A,B,C,),能控能观分解函数,ctrb_obsvf,(),(,4/4),Matlab,程序,m4-6,执行结果,如下。,该系统经能控能观分解后,得到,3,个,1,维子系统,分别为,能控但不能观、能控又能观、不能控但能观。,Aco,=-1 1 -2,0 -1 1,0 0 -1,Bco,= 0,1,0,Cco,= 0 1 -2,例,4-17,计算结果,变量排列顺序不同,结果完全一致,能控规范形和能观规范形,(1,/2),4.8.3,能控规范形和能观规范形,4.6,节介绍的线性定常系统的能控规范形和能观规范形,使得系统分析、设计与综合问题得以简化,更加有助于理解和问题求解。,建立系统的能控规范形和能观规范形是系统分析、设计与综合问题中的重要问题。,Matlab,中提供的建立系统规范形的函数,canon(),只能用于建立对角线规范形和,SISO,系统的能控规范,I,形,没有提供建立其他规范形的可直接调用的函数。,编著者根据建立规范形的方法,开发了相应的建立能控规范形的函数,ctr_canon,(),和建立能观规范形的函数,obsv_canon,(),。,能控规范形和能观规范形,(,2/2),下面就分别介绍建立,能控规范形,能观规范形,的编著者设计的,Matlab,函数。,能控规范形,(1/4),1.,能控规范形,能控规范形的函数,ctr_canon,(),可以处理,SISO,和,MIMO,系统的能控规范形的建立问题,包括,4.5.1,和,4.5.3,节介绍的能控规范,I,和,II,形、旺纳姆能控规范,II,形和龙伯格能控规范,II,形等,4,种常用的能控规范形。,函数,ctr_canon,的主要调用格式为:,sys_ctr,Tc,=,ctr_canon(sys, type),其中,,sys,为需变换的系统的状态空间模型;,sys_ctr,为变换所得的状态空间模型;,Tc,为对系统,sys,所作的变换的变换矩阵;,type,为所求的能控规范形的类型。,能控规范形,(2/4),对应于能控规范,I,和,II,形、旺纳姆能控规范,II,形和龙伯格能控规范,II,形,4,种模型,符号串,type,分别为,1st,、,2nd,、,Wonham,和,Luenb,。,能控规范形,(3/4),Matlab,问题,4-7,试在,Matlab,中求解如下,SISO,系统的能控规范,I,形和,II,形。,Matlab,程序,m4-7,如下。,A=1 0; -1 2;,B=-1; 1; C=0 1 ; D=0;,sys=,ss(A,B,C,D,);,sys_ctr,=,ctr_canon(sys, 1st),sys_ctr,=,ctr_canon(sys, 2nd),能控规范形,(4/4),Matlab,程序,m4-7,执行结果,如下。,能控规范,I,形,a = x1 x2,x1 0 -2,x2 1 3,b = u1,x1 1,x2 0,c = x1 x2,y1 1 3,d = u1,y1 0,能控规范,II,形,a = x1 x2,x1 0 1,x2 -2 3,b = u1,x1 0,x2 1,c = x1 x2,y1 0 1,d = u1,y1 0,例,4-19,计算结果,结果完全一致,能控规范形,(5/4),Matlab,问题,4-8,试在,Matlab,中求解例,4-21,的如下,MIMO,系统的旺纳姆能控规范,II,形。,Matlab,程序,m4-8,如下。,A=-1 -4 -2; 0 6 -1; 1 7 -1;,B=2 0; 0 0; 1 1; C=; D=;,sys=,ss(A,B,C,D,);,sys_ctr,=,ctr_canon(sys, ,Wonham,),能控规范形,(6/4),Matlab,程序,m4-8,执行结果,如下。,a = x1 x2 x3,x1 0 1 0,x2 0 0 1,x3 15 2 4,b = u1 u2,x1 0 -0.0278,x2 0 0.0833,x3 1 0.75,例,4-21,计算结果,结果完全一致,能观规范形,(1/4),2.,能观规范形,能观规范形的函数,obsv_canon,(),可以处理,SISO,和,MIMO,系统的能观规范形的建立问题,包括,4.5.2,节介绍的能观规范,I,形和能观规范,II,形,2,种常用的能观规范形。,函数,obsv_canon,(),的主要调用格式为:,sys_obsv,To,=,obsv_canon(sys, type),其中,sys,为需变换的系统的状态空间模型,;,sys_obsv,为变换所得的状态空间模型,;,To,为对系统,sys,所作的变换的变换矩阵,type,为所求的能观规范形的类型。,能观规范形,(2/4),对应于能观规范,I,形和能观规范,II,形,2,种模型,符号串,type,分别为,1st,和,2nd,。,能观规范形,(3/4),Matlab,问题,4-9,试在,Matlab,中求解如下,SISO,系统的能观规范,I,形和,II,形。,Matlab,程序,m4-9,如下。,A=1 -1; 0 2;,B=; C=-1 -1/2; D=;,sys=,ss(A,B,C,D,);,sys_obsv,=,obsv_canon(sys, 1st),sys_obsv,=,obsv_canon(sys, 2nd),能观规范形,(4/4),Matlab,程序,m4-9,执行结果,如下。,能观规范,I,形,a = x1 x2,x1 0 1,x2 -2 3,b =,c = x1 x2,y1 1 0,d =,能观规范,II,形,a = x1 x2,x1 0 -2,x2 1 3,b =,c = x1 x2,y1 0 1,d =,例,4-20,计算结果,结果完全一致,系统实现,(1,/2),4.8.4,系统实现,4.6,节介绍的系统实现问题,讨论的是由传递函数阵如何求系统的状态空间模型实现以及最小实现问题,所实现的状态空间模型主要包括能控规范,I/II,形、能观规范,I/II,形。,Matlab,中提供的建立状态空间模型的系统实现函数,ss,(),和,canon(),只能用于建立对角线规范形和,SISO,系统的能控规范,I,形,没有提供建立其他规范形的可直接调用的函数。,编著者根据系统实现的方法,开发了相应的建立,SISO,与,MIMO,系统的能控规范形的函数,ctr_canon,和建立能观规范形的函数,obsv_canon,。,系统实现,(,2/2),下面就分别介绍建立,能控规范形,能观规范形,的编著者设计的,Matlab,函数。,能控规范形,(1/3),1.,能控规范形,由传递函数阵求能控规范形实现的函数,ctr_canon,与,4.8.3,节介绍的能控规范形的函数,ctr_canon,(),为一个函数,但输入的格式不同。通过该函数,用户可以方便地求解,SISO,和,MIMO,系统的传递函数矩阵的能控规范,I/II,形,2,种实现。,应用于系统实现问题时,函数,ctr_canon,的主要调用格式为,sys_ctr,=,ctr_canon(sys, type),其中,sys,为系统传递函数阵模型;,sys_ctr,为所求得的能控规范形实现,type,为所求的能控规范形的类型。,对应于能控规范,I/II,形,2,种模型,符号串,type,分别为,1st,和,2nd,。,能控规范形,(2/3),Matlab,问题,4-10,试在,Matlab,中求解例,4-23,的如下系统的能控规范,I,形实现。,Matlab,程序,m4-10,如下。,num=2 14 26 17;,den=1 6 11 6;,sys=tf(num,den);,sys_ctr,=,ctr_canon(sys, 1st),能控规范形,(3/3),Matlab,程序,m4-10,执行结果,如下。,a = x1 x2 x3,x1 0 0 -6,x2 1 0 -11,x3 0 1 -6,b = u1,x1 1,x2 0,x3 0,c = x1 x2 x3,y1 2 -8 31,d = u1,y1 2,例,4-23,计算结果,结果完全一致,能观规范形,(1/3),2.,能观规范形,由传递函数阵求系统能观规范形实现的函数,obsv_canon,与,4.8.3,节介绍的建立能观规范形的函数,obsv_canon,(),为一个函数,但输入的格式不同。,通过该函数,用户可以方便地求解,SISO,和,MIMO,系统的传递函数矩阵的能观规范,I/II,形,2,种实现。,应用于系统实现问题时,函数,obsv_canon,的主要调用格式为,sys_obsv,=,obsv_canon(sys, type),其中,,sys,为系统传递函数阵模型,sys_obsv,为所求得的能观规范形实现,type,为所求的能观规范形的类型。,能观规范形,(2/3),对应于能观规范,I/II,形,2,种模型,符号串,type,分别为,1st,和,2nd,。,Matlab,问题,4-11,试在,Matlab,中求解,Matlab,问题,4-10,的系统的能观规范,II,形。,Matlab,程序,m4-11,如下。,num=2 14 26 17;,den=1 6 11 6;,sys=tf(num,den);,sys_obsv,=,obsv_canon(sys, 2nd),能观规范形,(3/3),Matlab,程序,m4-11,执行结果,如下。,a = x1 x2 x3,x1 0 0 -6,x2 1 0 -11,x3 0 1 -6,b = u1,x1 5,x2 4,x3 2,c = x1 x2 x3,y1 0 0 1,d = u1,y1 2,4.7.2,节计算结果,结果完全一致,最小实现,(1/1),3.,最小实现,系统的状态空间最小实现是指传递函数阵实现中维数最小的实现,其最小实现的充分必要条件为状态能控且能观。,最小实现代表了系统最简单、最经济的结构,它给系统分析与综合带来低成本、高效率。,系统实现主要有求,状态空间模型的最小实现,和,传递函数阵的最小实现,。,下面分别介绍如何运用,Matlab,求解这,2,个问题。,状态空间模型的最小实现,(1/5),(1),状态空间模型的最小实现,求状态空间模型的最小实现的方法是对其进行能控能观分解,所求得的能控能观子系统即为其最小实现。,Matlab,提供了可以直接对系统的状态空间模型求最小实现的函数,minreal,(),。,函数,minreal,(),的主要调用格式为,min_sys,T = minreal(sys),其中输入,sys,为给定的状态空间模型;,min_sys,为求得的最小实现状态空间模型;,T,为求最小实现进行的模型变换的变换矩阵。,MIMO,传递函数阵的最小实现,(2/5),函数,min_tf2ss(),的源程序如下:,function,min_sys,= min_tf2ss(sys_tf),r=size(sys_tf.num,2);,m=size(sys_tf.num,1);,if r=m,sys=,ctr_canon(sys_tf, ,2nd,);,A,B,C,T,n,=obsvf2(sys.a,sys.b,sys.c,);,else,sys=obsv_canon(sys_tf,2nd,);,A,B,C,T,n,=ctrbf2(sys.a,sys.b,sys.c,);,end,min_sys,=ss(A(1:n,1:n),B(1:n,:),C(:,1:n),sys.d),end,%,定义函数,min_tf2ss(),%,求系统输入变量个数,%,求系统输出变量个数,%,若输入变量数少于输出变量数,则求能控规范,II,型实现,进行能观分解,%,否则,则求能观规范,II,型实现,进行能控分解,%,分解所得的能控能观子系统即为最小实现,MIMO,传递函数阵的最小实现,(3/5),函数,min_tf2ss(),的调用格式为:,min_sys,= min_tf2ss(sys_tf),其中输入,sys_tf,为给定的传递函数模型;,min_sys,为求得的最小实现状态空间模型。,MIMO,传递函数阵的最小实现,(4/5),Matlab,问题,4-12,试在,Matlab,中例,4-24,的如下系统的最小实现。,Matlab,程序,m4-12,如下。,num=1 1;,den=1 3 2 1 5 6;,sys=tf(num,den);,sys_obsv,= min_tf2ss (sys),%,建立传递函数阵的分子矩阵,%,建立传递函数阵的分母矩阵,%,建立传递函数阵,%,求传递函数阵的最小实现,MIMO,传递函数阵的最小实现,(5/5),Matlab,程序,m4-12,执行结果,如下。,a = x1 x2 x3,x1 0 0 -6,x2 1 0 -11,x3 0 1 -6,b = u1 u2,x1 3 1,x2 1 1,x3 0 0,c = x1 x2 x3,y1 0 0 1,d = u1,y1 0,例,4-24,计算结果,结果完全一致,本章小结,(1,/3),本章小结,本章讨论线性系统的两个重要的结构性质,状态能控性与能观性的分析问题。,能控性与能观性描述了系统的本质特征,是系统分析中主要考量的性质、控制系统设计综合时主要的依据。,本章中,4.1,至,4.3,节定义了线性连续系统与线性离散系统的状态能控性与能观性,并作了直观意义的解释,证明了能控性与能观性的代数判据和模态判据。,这为进行系统的结构分析、状态反馈系统与状态观测器的设计打下基础。,本章小结,(,2/3),4.4,节介绍了线性定常系统的对偶性定义与对偶性原理。,能控性与能观性的对偶性深刻揭示了系统的结构本质,并为大大简化系统分析与设计综合过程提供了依据。,4.5,节讨论了系统的能控能观分解,揭示了系统结构和状态空间上的可分解性,使得在系统分析与设计综合时能抓住问题的本质,做到有的放矢。,本节还讨论了传递函数零极点相消与状态能控能观性的关系,为传递函数与状态空间模型之间架起了一座桥。,4.6,节引入了多个能控与能观规范形。,规范形的引入,使得我们能够更好地抓住系统的本质特征,更便捷地进行系统分析以及在状态反馈控制、观测器等方面的设计综合。,本章小结,(,3/3),4.7,节讨论系统实现问题,即由传递函数阵建立状态空间模型问题,是状态空间分析的基础。,本节的最小实现定义及判据,深刻地揭示了线性系统的最简单、最经济结构。,最后,4.8,节介绍了状态能控性,/,能观性判定、系统能控能观分解、能控,/,能观规范形变换以及能控,/,能观规范形实现等问题基于,Matlab,语言的程序编制和计算方法。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 临时分类 > 等级考试


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!