控制系统稳定性和能控能观分析

上传人:无*** 文档编号:252950696 上传时间:2024-11-26 格式:PPT 页数:83 大小:439.01KB
返回 下载 相关 举报
控制系统稳定性和能控能观分析_第1页
第1页 / 共83页
控制系统稳定性和能控能观分析_第2页
第2页 / 共83页
控制系统稳定性和能控能观分析_第3页
第3页 / 共83页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,自动控制原理课题,控制系统稳定性和能控能观分析,一、课题名称与课题要求,1,、系统能控性、能观性分析:,1.1,已知连续系统的传递函数模型:,当,a,分别取,1,,,0,,,1,时,判别系统的能控性和能观测性。,2,、稳定性分析,2.1,已知闭环系统的传递函数为:,判断系统的稳定性,并给出不稳定极点。,2.2,已知离散系统的开环脉冲传递函数为 :,判断单位负反馈系统的稳定性。,2.3,给定系统的 状态方程如下,:,(1),利用,MATLAB,建立控制系统的数学模型;,(2),分析系统的可控性和可观性;,(3),计算系统的传递函数;,(4),根据传递函数,计算系统的零极点,并判断系统的稳定性;,(5),利用,LTI Viewer,工具绘制系统的阶跃响应曲线,验证系统的稳定性。,二、现代控制理论的可控性和可观性,1.,线性系统状态空间基础,1.1,状态空间基本概念,1.,状态,任何一个系统在特定时刻都有一个特定的状态,系统在,t,0,时刻的状态是,t,0,时刻的一种信息量,它与此后的输入一起惟一地确定系统在,t,t,0,时的行为。,2.,状态变量,状态变量是一个完全表征系统时间域行为的最小内部变量组。,3.,状态向量 设系统有,n,个状态变量,用,x,1,(t),x,2,(t),x,n,(t),表示,而且把这些状态变量看做向量,x(t,),的分量,则向量,x(t,),称为状态向量,记为,x(t,)=x,1,(t),x,2,(t),.,x,n,(t,)4.,状态空间 以状态变量,x,1,(t),x,2,(t),.,x,n,(t,),为轴的,n,维实向量空间称为状态空间。,5.,状态方程 描述系统状态变量与输入变量之间关系的一阶微分方程组(连续时间系统)或一阶差分方程组(离散时间系统)称为系统的状态方程,它表征了输入对内部状态的变换过程,其一般形式为:,其中,,t,是时间变量,,u(t,),是输入变量。,6.,输出方程 描述系统输出量与系统状态变量和输入变量之间函数关系的代数方程称为输出方程,它表征了系统内部状态变化和输入所引起的系统输出变换,是一个变化过程。输出方程的一般形式为:,y(t,)=,gx(t),u(t),t,7.,状态空间表达式状态方程与输出方程的组合称为状态空间表达式,也称动态方程,它表征一个系统完整的动态过程,其一般形式为:将其写成向量矩阵形式为:,其中,,x=x,1,x,2, . ,x,n,表示,n,维状态向量;,y=y,1,y,2, . ,y,m,表示,m,维输出向量;,u=u,1,u,2, . ,u,r,表示,r,维输入向量;,A,表示系统内部状态的系数矩阵,称为系数矩阵,A,nn,;B,表示输入对状态作用的矩阵,称为输入(或控制)矩阵,B,nr,;C,表示输出与状态关系的矩阵,称为输出矩阵,C,mn,;D,表示输入直接对输出作用的矩阵,称为直接转移矩阵,D,mr,也称前馈系数矩阵。,A,由系统内部结构及其参数决定,体现了系统内部的特性,而,B,则主要体现了系统输入的施加情况,通常情况下,D=0,。,状态空间描述具有以下特点:,(,1,)状态空间描述考虑到了“输入,-,状态,-,输出”这一过程,考虑到了被经典控制理论的“输入,-,输出”描述所忽略的状态,因此它揭示了问题的本质,即输入引起了状态的变化,而状态决定了输出。,(,2,)输入引起的状态变化是一个运动过程,数学上表现为向量微分方程,即状态方程。状态决定输出是一个变换过程,数学上表现为变换方程,即代数方程。,(,3,)系统的状态变量个数等于系统的阶数,一个,n,阶系统的状态变量个数为,n,。,(,4,)对于给定系统,状态变量的选择不唯一,状态变量的线性变换结果也可以作为状态变量。,(,5,)一般来说,状态变量不一定是物理上可测量或可观察的量,但从便于构造控制系统来说,把状态变量选为可测量或可观测的量更合适。,2.,线性系统的状态可控性与状态可观性,在现代控制理论中,可控性和可观性是两个重要的概念,它们是卡尔曼在,1960,年提出的,是最优控制和最优估计的设计基础。,可观性针对的是系统状态空间模型中状态的可观测性,它表示系统内部状态(通常是不可以直接测量的)可由系统输出量,Y,(,t,)(通常是可以直接测量的)反映的能力。,严格地说,可控性分为两种,一种是系统控制输入,U,(,t,)对系统内部状态,X(t,),的控制能力,另一种是控制输入,U(t,),对系统输出,Y(t,),的控制能力。但一般没有特别指明时,指的都是状态的可控性。,系统的可控性和可观性研究一般都基于系统的状态空间表达式。,2.1,可控的判据,单输入,n,阶离散系统可控的充分必要条件是:可控判别阵,M=h,Gh,. G,n-1,h,nn,的秩等于,n,,即,rank(M,)=,rank,h,Gh,. G,n-1,h=n,n,阶连续系统可控的充分必要条件为可控判别阵,M=b,Ab,. A,n-1,b,nn,的秩等于,n,。,对于多输入,n,阶连续定常系统: 。其中,,A,为,nn,阶阵,,B,为,nr,阶阵,,U,为,r,维输入。系统可控的充分必要条件为可控判别阵,M=B AB . A,n-1,B,nn,的秩等于,n,,即,rank(M,)=n,。,秩判据说明连续系统状态能控性只与状态方程中的,A,、,B,矩阵有关。,2.2,可观的判据,对于离散系统,其完全可观的充分必要条件为可观判别阵,N=C CG . CG,n-1,的秩等于,n,,即,rank(N,)=n,。,线性连续系统完全可观的充分必要条件是可观判别阵,N=C CA . CA,n-1,的秩为,n,。,该秩判据说明连续系统状态能观测性只与状态方程中的,A,、,C,矩阵有关。,三、离散控制系统,3.1,离散控制系统概述,数字、离散控制系统与连续控制系统的根本区别在于:,(,1,)离散控制系统中既可以包含连续信号,又可以包含离散信号,是一个混合信号系统。,(,2,)连续系统中的控制信号、反馈信号以及偏差信号都是连续型的时间函数,而在离散系统中则不然。一般情况下,其控制信号是离散型的时间函数,因此取自系统输出端的负反馈信号在和离散控制信号进行比较时,同样需要采用离散型的时间函数,那么比较后得到的偏差信号也将是离散型的时间函数。,(,3,)分析和设计数字、离散控制系统的数学工具是,Z,变换,采用的数学模型是差分方程、脉冲传递函数。,3.2,离散控制系统稳定性判据,离散控制系统闭环稳定的充分条件是:闭环脉冲传递函数的全部极点均位于单位圆内。因此判断离散控制系统稳定性的最直接的方法是计算闭环特征方程的根,然后根据根的位置来确定系统的绝对稳定性。,劳斯判据是判断连续系统是否稳定的一种简单的代数判据。由于连续系统和离散系统的稳定区不同,所以在离散控制系统中不能直接应用劳斯判据,必须进行变换。基于双线性变换和劳斯判据的方法能用来判断离散控制系统的稳定性。,该方法是将离散控制系统用双线性变换将,Z,平面单位圆内的点映射到,W,平面的左半平面,然后用劳斯判据判别系统的稳定性。,四、程序框图,4.1,matlab,中显示的菜单,4.2,matlab,中的程序的运行结果,4.2.1,第一题运行的结果,当,a=-1,时的可控阵和可观阵:,a=0,时的可控阵和可观阵:,a=1,时的可控阵和可观阵:,4.2.2,第二题的运行结果,系统的零极点及增益如下所示:,第二题的零极图与根轨迹如下所示:,第二题系统的阶跃响应和脉冲响应,第二题的系统的零极点模型为:,(,1,)比例微分环节:,jw+1,0/2,(,2,)比例微分环节:(,jw)/0.5666+1 0,/2,(,3,)二阶微分环节:(,jw),2,/1.177-0.8999/1.177jw+1 0,(,4,)惯性环节:,1/(jw/1.607+1) 0-,/2,(,5,)振荡环节:,1/(jw),2,/0.3288+0.8806/0.3288jw+1),0-,(,6,)振荡环节:,1/(jw),2,/0.631-0.8207/0.631jw+1) 0-,所以,总的,(,w,),=0- /2,第二题的,bode,图,nyquist,图,线性时不变工具箱对第二题仿真的验证:,4.2.3,第三题的运行结果离散系统单位负反馈的零极图和根轨迹:,第三题离散系统的阶跃响应和脉冲响应,第三题离散系统单位负反馈的,bode,图和,nyquist,图,LTI Viewer,对第三题离散系统单位负反馈的仿真验证:,4.2.4,第四题的运行结果(,1,)数学模型,(,2,)可控性和可观性,(,3,)传递函数,(,4,)系统的零极点,(,5,)利用,LTI Viewer,工具绘制阶跃响应曲线:,五、小节,通过本次课题实践,我对于在,matlab,中操作矩阵又有了一些全新的认识。对如何画根轨迹、,bode,图和,nyquist,图又有了些新的体会。实现了可控可观的秩判据,还有系统稳定性的研究。对于时域、频域、复频域和离散域也有了些体会。在控制理论中,应该将上述几个域综合起来看,这样更加有利于去理解问题和解决问题。,六、心得,通过,matlab,在控制系统中的仿真,我觉得在研究自控方面,,matlab,确实是一款很优秀的软件。它的轨迹我们可以去跟踪,这种实时监测对于我们非常的重要。,matlab,在经典控制理论、现代控制理论和智能控制理论中都有很大的用处。经典控制理论是单输入单输出(,SISO,),而现代控制理论侧重于多输入多输出(,MIMO,)。,七、参考文献,1,沈传文主编 自动控制理论 西安:西安,交通大学出版社,2007.1,2,王正林编著,MATLAB/,Simulink,与控制系统仿真 北京:电子工业出版社,2008.7,3,张德丰等编著,MATLAB/,Simulink,建模与,仿真实例精讲 北京:机械工业出版社,2010.1,源程序:,在编译源程序之前,请在保存,matlab,源程序的路径下建立四个文件夹,它们分别是:“第一题的,txt,文档”,“ 第二题的,txt,文档和截图”,“ 第三题的,txt,文档和截图”,“ 第四题的,txt,文档和截图”,这四个文件夹用来保存相应的矩阵、零极点和,figure,图形。,源程序如下;,clc,disp(1.,已知连续系统的传递函数模型为:,G(s,)=s+a/s3+10s2+27s+18,);,disp,(,当,a,分别取,-1,,,0,,,1,时,判别系统的能控性和能观测性。,);disp(2.,已知闭环系统的传递函数为:,);,disp(G(s,)=3s4+2s3+s2+4s+2/3s5+5s4+s3+2s2+2s+1);,disp,(,判断系统的稳定性,并给出不稳定极点。,);disp(3.,已知离散系统的开环脉冲传递函数为,,);,disp(G(z,)=5z5+4z4+z3+0.6z2-3z+0.5/z5);,disp,(,判断单位负反馈系统的稳定性。,);disp(4.,给定系统的状态方程如下:,);,disp(dx/dt=Ax+Bu);disp(y=Cx);disp(,其中,,A=-2 2 -1;0 -2 0;1 -4 0;B=0;0;1;C=1 0 0;);disp(1),利用,MATLAB,建立控制系统的数学模型;,);disp(2),分析系统的可控性和可观性;,);,disp(3),计算系统的传递函数;,);disp(4),根据传递函数,计算系统的零极点,并判断系统的稳定性;,);,disp(5),利用,LTI Viewer,工具绘制系统的阶跃响应曲线,验证系统的稳定性。,);y=1;Y=2;n=3;N=4;x=input(,请问您是否要做出选择?,y/n, );while x=1|x=2,cho,=input(,请输入你要运行的题的序号,(1,、,2,、,3,、,4) );%,第一题,% if,cho,=1,clc,disp,(,已知连续系统的传递函数模型为:,s+a/s3+10s2+27s+18,),disp,(,判别系统的能控性和能观测性。,)a=input(,请输入变量,a,的值:,)num=1 a;den=1 10 27 18;,disp,(,系统的传递函数为:,);G2=,tf(num,den,)%,disp,(,系统的状态空间模型:,);A1,B1,C1,D1=tf2ss(num,den); %,将传递函数模型转换成状态空间模型,HSA1=size(A1,1);HSB1=size(B1,1);HSC1=size(C1,1);HSD1=size(D1,1);fid=,fopen,(,第一题的,txt,文档,变量,a,取不同值时的矩阵,A,、,B,、,C,和,D.txt,w,);,fprintf(fid,%s,传递函数模型中的变量,a,的值为:,);fprintf(fid,%6.2f,a);,fprintf(fid,rn,);,fprintf(fid,%s,矩阵,A:);,fprintf(fid,rn,);for i=1:HSA1 fprintf(fid,%10.2f,A1(i,:);,fprintf(fid,rn,);end,fprintf(fid,%s,矩阵,B:);,fprintf(fid,rn,); for i=1:HSB1 fprintf(fid,%10.2f,B1(i,:);,fprintf(fid,rn,); end,fprintf(fid,%s,矩阵,C:);,fprintf(fid,rn,); for i=1:HSC1 fprintf(fid,%10.2f,C1(i,:);,fprintf(fid,rn,); end,fprintf(fid,%s,矩阵,D,:,);,fprintf(fid,rn,); for i=1:HSD1 fprintf(fid,%10.2f,D1(i,:);,fprintf(fid,rn,); end,fclose(fid,);,disp,(,系统的状态空间表达式,(,状态空间模型,),:,);G=ss(A1,B1,C1,D1) %,求状态空间表达式,else,disp,(,系统不可观!,);,end,HS1=size(T,1);,fid=,fopen,(,第一题的,txt,文档,变量,a,取不同值时的可控判别矩阵和可观判别矩阵,.,txt,w,);,fprintf(fid,%s,传递函数模型中的变量,a,的值为:,);,fprintf(fid,%6.2f,a);,fprintf(fid,rn,);,fprintf(fid,%s,可控判别矩阵,:);,fprintf(fid,rn,);,for i=1:HS1,fprintf(fid,%10.2f,T(i,:);,fprintf(fid,rn,);,end,HS2=size(N,1);,fprintf(fid,%s,可观判别矩阵,:);,fprintf(fid,rn,);,for i=1:HS2,fprintf(fid,%10.2f,N(i,:);,fprintf(fid,rn,);,end,fclose(fid);,disp,(,用矩阵符号表示的状态空间模型如下:,);,disp(dx/dt,=,Ax+Bu,(,状态方程,);,disp(y,=,Cx+Du,(,输出方程,);,disp,(,可控辨别矩阵,T,为:,),T=ctrb(A1,B1) %,计算可控判别矩阵,disp,(,可控判别矩阵,T,的秩为:,),RT=,rank(T,) %,计算可控判别矩阵的秩,if RT=3,disp,(,系统可控,!);,else,disp,(,系统不可控!,);,end,disp,(,可观辨别矩阵,N,为:,),N=obsv(A1,C1) %,计算可观判别矩阵,disp,(,可观判别矩阵,N,的秩为:,),RN=,rank(N,) %,计算可观判别矩阵的秩,if RN=3,disp,(,系统可观!,);,figure(1);,t=0:0.1:10;,subplot(1,2,1);,impulse(G,t);,%,计算脉冲响应并添加栅格,grid on;,title(,脉冲响应,);,subplot(1,2,2);,step(G,t,);,grid on; %,计算阶跃响应并添加栅格,title(,阶跃响应,);,%saveas(figure(1),第一题的,txt,文档和截图,第一题的脉冲响应和阶跃响应,.bmp);,y=1;,Y=2;,n=3;,N=4;,b=input(,是否用,simulink,仿真运行脉冲响应和阶跃响应,y/n,: );,if b=1|b=2,open_system(untitled8);,set_param(untitled8/Transfer,Fcn,Numerator,num,Denominator,den,);,save_system,sim(untitled8);,open_system(untitled9);,set_param(untitled9/State-Space,A,A1,B,B1,C,C1,D,D1);,save_system,sim(untitled9);,end,disp,(,你是否还要继续使用该传递函数模型,,),c=input(,判别可控性和可观性,y/n,: );,while c=1|c=2,disp,(,已知传递函数模型为:,s+a/s3+10s2+27s+18,),disp,(,判别系统的能控性和能观测性。,),a=input(,请输入变量,a,的值:,),num=1 a;,den=1 10 27 18;,disp,(,系统的传递函数为:,);,G2=,tf(num,den,),%,disp,(,系统的状态空间模型为:,);,A1,B1,C1,D1=tf2ss(num,den); %,将传递函数模型转换成状态空间模型,HSA1=size(A1,1);,HSB1=size(B1,1);,HSC1=size(C1,1);,HSD1=size(D1,1);,fid=,fopen,(,第一题的,txt,文档,变量,a,取不同值时的矩阵,A,、,B,、,C,和,D.txt,a,);,fprintf(fid,%s,传递函数模型中的变量,a,的值为:,);,fprintf(fid,%6.2f,a);,fprintf(fid,rn,);,fprintf(fid,%s,矩阵,A:);,fprintf(fid,rn,);,for i=1:HSA1,fprintf(fid,%10.2f,A1(i,:);,fprintf(fid,rn,);,end,fprintf(fid,%s,矩阵,B:);,fprintf(fid,rn,);,for i=1:HSB1,fprintf(fid,%10.2f,B1(i,:);,fprintf(fid,rn,);,end,fprintf(fid,%s,矩阵,C:);,fprintf(fid,rn,);,for i=1:HSC1,fprintf(fid,%10.2f,C1(i,:);,fprintf(fid,rn,);,end,fprintf(fid,%s,矩阵,D,:,);,fprintf(fid,rn,);,for i=1:HSD1,fprintf(fid,%10.2f,D1(i,:);,fprintf(fid,rn,);,end,if RN=3,disp,(,系统可观!,);,else,disp,(,系统不可观!,);,end,HS1=size(T,1);,fid=,fopen,(,第一题的,txt,文档,变量,a,取不同值时的可控判别矩阵和可观判别矩阵,.,txt,a,);,fprintf(fid,rn,);,fprintf(fid,%s,传递函数模型中的变量,a,的值为:,);,fprintf(fid,%6.2f,a);,fprintf(fid,rn,);,fprintf(fid,%s,可控判别矩阵,:);,fprintf(fid,rn,);,for i=1:HS1,fprintf(fid,%10.2f,T(i,:);,fprintf(fid,rn,);,end,fclose(fid,);,disp,(,系统的状态空间表达式,(,状态空间模型,),:,);,G=ss(A1,B1,C1,D1) %,求状态空间表达式,disp,(,用矩阵符号表示的状态空间模型如下:,);,disp(dx/dt,=,Ax+Bu,(,状态方程,);,disp(y,=,Cx+Du,(,输出方程,);,disp,(,可控辨别矩阵,T,为:,),T=ctrb(A1,B1) %,计算可控判别矩阵,disp,(,可控判别矩阵,T,的秩为:,),RT=,rank(T,) %,计算可控判别矩阵的秩,if RT=3,disp,(,系统可控,!);,else,disp,(,系统不可控!,);,end,disp,(,可观辨别矩阵,N,为:,),N=obsv(A1,C1) %,计算可观判别矩阵,disp,(,可观判别矩阵,N,的秩为:,),RN=,rank(N,) %,计算可观判别矩阵的秩,HS2=size(N,1);,fprintf(fid,%s,可观判别矩阵,:);,fprintf(fid,rn,);,for i=1:HS2,fprintf(fid,%10.2f,N(i,:);,fprintf(fid,rn,);,end,fclose(fid,);,figure(1);,t=0:0.1:10;,subplot(1,2,1);,impulse(G,t,); %,计算脉冲响应并添加栅格,grid;,title(,脉冲响应,);,subplot(1,2,2);,step(G,t,);,grid %,计算阶跃响应并添加栅格,title(,阶跃响应,);,y=1;,Y=2;,n=3;,N=4;,b=input(,是否用,simulink,仿真运行脉冲响应和阶跃响应,y/n,: );,if b=1|b=2,open_system(untitled8);,set_param(untitled8/Transfer,Fcn,Numerator,num,Denominator,den,);,save_system,sim(untitled8);,open_system(untitled9);,set_param(untitled9/State-Space,A,A1,B,B1,C,C1,D,D1);,save_system,sim(untitled9);,end,disp,(,你是否还要继续使用该传递函数模型,,),c=input(,判别可控性和可观性,y/n,: );,end,x=input(,你是否还想返回菜单,继续进行别的题的运行,y/n,: );,if x=1|x=2,clc,disp(1.,已知连续系统的传递函数模型为:,G(s,)=s+a/s3+10s2+27s+18,);,disp,(,当,a,分别取,-1,,,0,,,1,时,判别系统的能控性和能观测性。,);,disp(2.,已知闭环系统的传递函数为:,);,disp(G(s,)=3s4+2s3+s2+4s+2/3s5+5s4+s3+2s2+2s+1);,disp,(,判断系统的稳定性,并给出不稳定极点。,);,disp(3.,已知离散系统的开环脉冲传递函数为,,);,disp(G(z,)=5z5+4z4+z3+0.6z2-3z+0.5/z5);,disp,(,判断单位负反馈系统的稳定性。,);,disp(4.,给定系统的状态方程如下:,);,disp(dx/dt=Ax+Bu);,disp(y=Cx);,disp(,其中,,A=-2 2 -1;0 -2 0;1 -4 0;B=0;0;1;C=1 0 0;);,disp(1),利用,MATLAB,建立控制系统的数学模型;,);,disp(2),分析系统的可控性和可观性;,);,disp(3),计算系统的传递函数;,);,disp(4),根据传递函数,计算系统的零极点,并判断系统的稳定性;,);,disp(5),利用,LTI Viewer,工具绘制系统的阶跃响应曲线,验证系统的稳定性。,);,x=input(,请问您是否还要继续做出选择,?,y/n, );,end,end,%,第一题,%,%,第二题,%,if,cho,=2,clc,disp,(,已知闭环系统的传递函数为:,);,disp(3s4+2s3+s2+4s+2/3s5+5s4+s3+2s2+2s+1);,disp,(,判断系统的稳定性,并给出不稳定极点。,);,num=3 2 1 4 2;,den=3 5 1 2 2 1;,disp,(,系统的传递函数为:,);,G=,tf(num,den,),%,get(G,),disp,(,系统的零极点以及增益为:,);,z,p,k,=tf2zp(num,den) %,传递函数模型转换为零极点模型,hs1=size(p,1);,hs2=size(z,1);,fid=,fopen,(,第二题的,txt,文档和截图,零极点及其增益,.,txt,w,);,fprintf(fid,%s,以下是该系统的零极点和增益:,);,fprintf(fid,rn,);,fprintf(fid,%s,极点,p,为,:);,fprintf(fid,rn,);,for i=1:hs1,b=,p(i,:);,aa,=num2str(b);,fprintf(fid,%s,aa,);,fprintf(fid,rn,);,end,fprintf(fid,%s,零点,z,为:,);,fprintf(fid,rn,);,for i=1:hs2,bb=num2str(z(i,:);,fprintf(fid,%s,bb,);,fprintf(fid,rn,);,end,fprintf(fid,%s,系统增益,K,为:,);,fprintf(fid,%6.2f,k);,fprintf(fid,rn,);,fclose(fid,);,disp,(,由以上的零极点得出该系统不稳定,);,disp,(,系统不稳定极点为:,);,for n=1:hs1,if,real(p(n,:)0,p(n,:),fprintf(rn,);,end,end,disp,(,系统的零极点传递函数模型为:,);,G1=,zpk(G,),figure(1); %,绘制零极图与根轨迹图,subplot(2,1,1);,pzmap(G,),grid on;,title(,零极点分布图,);,subplot(2,1,2);,rlocus(num,den,);,title(,根轨迹分布图,);,saveas(figure(1),第二题的,txt,文档和截图,零极点与根轨迹分布图,.bmp);,figure(2); %,绘制阶跃响应和脉冲响应,subplot(1,2,1);,step(G,);,axis(0 10 -25 10);,title(,系统阶跃响应,);,grid on,subplot(1,2,2);,impulse(G,);,axis(0 10 -5 5);,title(,系统脉冲响应,);,grid on,saveas(figure(2),第二题的,txt,文档和截图,系统的阶跃响应和脉冲响应,.bmp);,figure(3); %,绘制,Bode,图和,Nyquist,图,subplot(1,2,1);,bode(G,); %Bode,图的绘制,grid on,subplot(1,2,2);,nyquist(G,); %,Nyquist,图的绘制,hold on,grid on,%line(0,0,-1,1); %,画一条起点为(,0,,,-1,),终点为(,0,,,1,)的直线,saveas(figure(3),第二题的,txt,文档和截图,频域特性曲线,.bmp);,%,disp,(,显示裕度及对应频率,: );,%,Gm,Pm,Wcg,Wcp,=,margin(G,) %,显示裕度及对应频率,%,y=1;,Y=2;,n=3;,N=4;,b=input(,是否用,simulink,仿真运行系统的阶跃响应和脉冲响应,y/n,: );,if b=1|b=2,open_system(untitled1);,sim(untitled1);,open_system(untitled2);,sim(untitled2);,end,cb,=input(,是否启动,matlab,自带的根轨迹分析与设计工具,rltooly/n,: );,if,cb,=1|cb=2,rltool(G,); %,根轨迹分析与设计工具,rltool,end,cc=input(,是否启动,matlab,自带的线性时不变系统的分析工具,LTI,Viewery/n,: );,if cc=1|cc=2,ltiview,%,matlab,线性时不变系统图形用户界面,LTI Viewer,end,x=input(,你是否还想返回菜单,继续进行别的题的运行,y/n,: );,if x=1|x=2,clc,disp(1.,已知连续系统的传递函数模型为:,G(s,)=s+a/s3+10s2+27s+18,);,disp,(,当,a,分别取,-1,,,0,,,1,时,判别系统的能控性和能观测性。,);,disp(2.,已知闭环系统的传递函数为:,);,disp(G(s,)=3s4+2s3+s2+4s+2/3s5+5s4+s3+2s2+2s+1);,disp,(,判断系统的稳定性,并给出不稳定极点。,);,disp(3.,已知离散系统的开环脉冲传递函数为,,);,disp(G(z,)=5z5+4z4+z3+0.6z2-3z+0.5/z5);,disp,(,判断单位负反馈系统的稳定性。,);,disp(4.,给定系统的状态方程如下:,);,disp(dx/dt=Ax+Bu);,disp(y=Cx);,disp(,其中,,A=-2 2 -1;0 -2 0;1 -4 0;B=0;0;1;C=1 0 0;);,disp(1),利用,MATLAB,建立控制系统的数学模型;,);,disp(2),分析系统的可控性和可观性;,);,disp(3),计算系统的传递函数;,);,disp(4),根据传递函数,计算系统的零极点,并判断系统的稳定性;,);,disp(5),利用,LTI Viewer,工具绘制系统的阶跃响应曲线,验证系统的稳定性。,);,x=input(,请问您是否还要继续选择,?,y/n, );,end,end,%,第二题,%,%,第三题,%,if,cho,=3,clc,disp,(,已知离散系统的开环脉冲传递函数为,,);,disp(G(z,)=5z5+4z4+z3+0.6z2-3z+0.5/z5);,disp,(,判断单位负反馈系统的稳定性。,);,numG,=5 4 1 0.6 -3 0.5;,denG,=1 0 0 0 0 0;,disp,(,离散系统的开环脉冲传递函数为:,);,G=tf(numG,denG,-1) %,离散系统的开环脉冲传递函数,z,p,k,=tf2zp(numG,denG);,hs1=size(p,1);,hs2=size(z,1);,fid=,fopen,(,第三题的,txt,文档和截图,零散系统开环脉冲传递函数零极点及其增益,.,txt,w,);,fprintf(fid,%s,以下是该系统的零极点和增益:,);,fprintf(fid,rn,);,fprintf(fid,%s,极点,p,为,:);,fprintf(fid,rn,);,for i=1:hs1,b=p(i,:);,aa=num2str(b);,fprintf(fid,%s,aa);,fprintf(fid,rn);,end,fprintf(fid,%s,零点,z,为:,);,fprintf(fid,rn);,for i=1:hs2,bb=num2str(z(i,:);,fprintf(fid,%s,bb,);,fprintf(fid,rn,);,end,fprintf(fid,%s,系统增益,K,为:,);,fprintf(fid,%6.2f,k);,fprintf(fid,rn,);,fclose(fid,);,figure(1); %,绘制离散系统开环脉冲传递函数的零极图和根轨迹,subplot(2,1,1);,pzmap(G,) %,绘制零极图,title(,离散系统开环脉冲传递函数的零极图,);,subplot(2,1,2);,%,axis(equal,) %,对两个轴用统一的比例尺度,%,zgrid(new,) %,绘制出由等阻尼系数与自然振荡角频率组成的栅格线,rlocus(numG,denG,) %,绘制根轨迹图,title(,离散系统开环脉冲传递函数的根轨迹,);,saveas(figure(1),第三题的,txt,文档和截图,离散系统开环脉冲传递函数的零极图和根轨迹,.bmp);,disp,(,当反馈为单位负反馈时的传递函数为:,);,sys_close,=feedback(G,1),disp,(,当反馈为单位负反馈时的零极点及其增益:,);,zz1,pp1,kk1=,zpkdata(sys_close,v,),dnumc,ddenc,=,tfdata(sys_close,v,);,disp,(,当反馈为单位负反馈时的零极点模型,);,G2=,zpk(sys_close,),figure(2); %,绘制离散系统单位负反馈的零极图和根轨迹,subplot(2,1,1);,pzmap(sys_close,),title(,离散系统单位负反馈的零极图,);,subplot(2,1,2);,%,axis(equal,) %,对两个轴用统一的比例尺度,%,zgrid(new,) %,绘制出由等阻尼系数与自然振荡角频率组成的栅格线,rlocus(dnumc,ddenc,),title(,离散系统单位负反馈的根轨迹,);,saveas(figure(2),第三题的,txt,文档和截图,离散系统单位负反馈的零极图和根轨迹,.bmp);,hs3=size(pp1,1);,hs4=size(zz1,1);,fid=,fopen,(,第三题的,txt,文档和截图,离散系统单位负反馈的零极点及其增益,.,txt,w,);,fprintf(fid,%s,以下是该系统的零极点和增益:,);,fprintf(fid,rn,);,fprintf(fid,%s,极点,p,为,:);,fprintf(fid,rn,);,for i=1:hs3,b=pp1(i,:);,aa=num2str(b);,fprintf(fid,%s,aa);,fprintf(fid,rn);,end,fprintf(fid,%s,零点,z,为:,);,fprintf(fid,rn);,for i=1:hs4,bb=num2str(zz1(i,:);,fprintf(fid,%s,bb,);,fprintf(fid,rn,);,end,fprintf(fid,%s,系统增益,K,为:,);,fprintf(fid,%6.2f,kk1);,fprintf(fid,rn,);,fclose(fid,);,disp,(,由以上的零极点得出该离散系统的单位负反馈系统不稳定,);,m=input(,请输入离散系统的采样次数:,);,figure(3); %,绘制离散系统阶跃响应,subplot(1,2,1);,dstep(numG,denG,m,),title(,离散系统的开环脉冲传递函数的阶跃响应,);,subplot(1,2,2);,dstep(dnumc,ddenc,m,);,title(,离散系统单位负反馈的阶跃响应,);,saveas(figure(3),第三题的,txt,文档和截图,离散系统单位阶跃响应,.bmp);,%,y=1;,Y=2;,n=7;,N=8;,c=input(,是否还想继续输入采样次数,以进行单位阶跃响应的仿真,y/n,: );,while c=1|c=2;,m=input(,请输入离散系统单位阶跃响应的采样次数:,);,figure(3);,subplot(1,2,1);,dstep(numG,denG,m,),title(,离散系统的开环脉冲传递函数的阶跃响应,);,subplot(1,2,2);,dstep(dnumc,ddenc,m,);,title(,离散系统单位负反馈的阶跃响应,);,saveas(figure(3),第三题的,txt,文档和截图,离散系统单位阶跃响应,.bmp);,c=input(,是否还想继续输入采样次数,以进行单位阶跃响应的仿真,y/n,: );,end,Ts=input(,请输入离散系统单位负反馈的采样周期,: );,figure(4); %,绘制离散系统单位负反馈的,Bode,图和,Nyquist,图,subplot(1,2,1);,dbode(dnumc,ddenc,Ts,); %Bode,图的绘制,grid on,title(,离散系统单位负反馈的,bode,图,);,subplot(1,2,2);,w=0.01:0.01:100;,dnyquist(dnumc,ddenc,Ts,w,); %,Nyquist,图的绘制,grid on,title(,离散系统单位负反馈的,nyquist,图,);,saveas(figure(4),第三题的,txt,文档和截图,离散系统单位负反馈的频域特性曲线,.bmp);,y=1;,Y=2;,n=7;,N=8;,bc,=input(,是否启动,matlab,自带的根轨迹分析与设计工具,rltooly/n,: );,if,bc,=1|bc=2,rltool(sys_close,); %,根轨迹分析与设计工具,rltool,end,cd,=input(,是否启动,matlab,自带的线性时不变系统的分析工具,LTI,Viewery/n,: );,if,cd,=1|cd=2,ltiview,%,matlab,线性时不变系统图形用户界面,LTI Viewer,end,x=input(,你是否还想返回菜单,继续进行别的题的运行,y/n,: );,if x=1|x=2,clc,disp(1.,已知连续系统的传递函数模型为:,G(s,)=s+a/s3+10s2+27s+18,);,disp,(,当,a,分别取,-1,,,0,,,1,时,判别系统的能控性和能观测性。,);,disp(2.,已知闭环系统的传递函数为:,);,disp(G(s,)=3s4+2s3+s2+4s+2/3s5+5s4+s3+2s2+2s+1);,disp,(,判断系统的稳定性,并给出不稳定极点。,);,disp(3.,已知离散系统的开环脉冲传递函数为,,);,disp(G(z,)=5z5+4z4+z3+0.6z2-3z+0.5/z5);,disp,(,判断单位负反馈系统的稳定性。,);,disp(4.,给定系统的状态方程如下:,);,disp(dx/dt=Ax+Bu);,disp(y=Cx);,disp(,其中,,A=-2 2 -1;0 -2 0;1 -4 0;B=0;0;1;C=1 0 0;);,disp(1),利用,MATLAB,建立控制系统的数学模型;,);,disp(2),分析系统的可控性和可观性;,);,disp(3),计算系统的传递函数;,);,disp(4),根据传递函数,计算系统的零极点,并判断系统的稳定性;,);,disp(5),利用,LTI Viewer,工具绘制系统的阶跃响应曲线,验证系统的稳定性。,);,x=input(,请问您是否还要继续选择,?,y/n, );,end,end,%,第三题,%,%,第四题,%,if,cho,=4,clc,disp,(,给定系统的状态方程如下:,);,disp(dx/dt,=,Ax+Bu,);,disp(y,=,Cx,);,disp,(,其中,,A=-2 2 -1;0 -2 0;1 -4 0;B=0;0;1;C=1 0 0;);,disp(1),利用,MATLAB,建立控制系统的数学模型;,);,disp(2),分析系统的可控性和可观性;,);,disp(3),计算系统的传递函数;,);,disp(4),根据传递函数,计算系统的零极点,并判断系统的稳定性;,);,disp(5),利用,LTI Viewer,工具绘制系统的阶跃响应曲线,验证系统的稳定性。,);,A=-2 2 -1;0 -2 0;1 -4 0;,B=0;0;1;,C=1 0 0;,D=0;,disp,(,系统的状态空间表达式,(,状态空间模型,),:,);,G=,ss(A,B,C,D,) %,求状态空间表达式,disp,(,可控辨别矩阵,T,为:,),T=,ctrb(A,B,) %,计算可控判别矩阵,disp,(,可控判别矩阵,T,的秩为:,),RT=,rank(T,) %,计算可控判别矩阵的秩,if RT=3,disp,(,系统可控,!);,else,disp,(,系统不可控!,);,end,disp,(,可观辨别矩阵,N,为:,),N=
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


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

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


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