16761控制系统的数学描述与建模(编辑修改稿)内容摘要:

果一个系统的全部极点都位于 z平面的单位圆内部,则该系统是一个稳定系统。 从控制理论又可知,所谓最小相位系统首先是指一个稳定的系统,同时对于连续系统而言,系统的所有零点都位于 s平面的左半平面,即零点实部小于零;对于一个离散系统而言,系统的所有零点都位于 z平面的单位圆内部。 所以,只要知道了系统的模型,不论哪种形式的数学模型,都可以很方便的由 MATLAB求出系统的零点、极点,从而判断系统的稳定以及判断系统是否为最小相位系统。 例 1:已知某控制系统的模型为:   7165210016127587403622121 DCBA 要求判断系统的稳定性以及系统是否为最小相位系统。 程序如下: function sstable(A,B,C,D) % 判断系统的稳定性以及系统是否为最小相位系统 [z,p,k]=ss2zp(A,B,C,D)。 %求出系统的零点、极点 ii=find(real(z)0)。 n1=length(ii)。 jj=find(real(p)0)。 n2=length(jj)。 if (n10) disp(39。 The System is Unstable.39。 )。 else disp(39。 The System is stable.39。 )。 if (n20) disp(39。 The System is a Nonminimal Phase One.39。 )。 else disp(39。 The System is a Minimal Phase One.39。 )。 end end 在程序中使用了 find( )函数, find函数用法: ii=find(条件 ) 例 2:已知系统模型如下所示: 1 122 11 71 49 45 281 101428411632345623)(ssssssssssG判断系统的稳定性,以及系统是否为最小相位系统。 程序如下: function sstable(A,B,C,D) % 判断系统 (A,B,C,D)的稳定性以及系统是否为最小相位系统 if(nargin==2) [z,p,k]=tf2zp(A,B) %求出系统的零点、极点 elseif(nargin==4) [z,p,k]=ss2zp(A,B,C,D)。 %求出系统的零点、极点 end ii=find(real(z)0)。 n1=length(ii)。 jj=find(real(p)0)。 n2=length(jj)。 if (n10) disp(39。 The System is Unstable.39。 )。 else disp(39。 The System is stable.39。 )。 if (n20) disp(‘But the System is a Nonminimal Phase One.39。 )。 else disp(39。 The System is a Minimal Phase One.39。 )。 end end 二、控制系统的时域分析 1. 时域分析的一般方法 一个动态系统的性质常用典型输入下的响应来描述,响应是指零初 始条件下某种典型的输入作用下对象的响应,控制系统常用的输入 为单位阶跃函数和脉冲激励函数。 在 MATLAB的控制系统工具箱 中提供了求取两种输入下系统典型响应的函数 step( )和 impulse( )。 step( )—求取系统的阶跃响应。 其用法: [y,x]=step(num,den,t) [y,x]=step(A,B,C,D,iu,t) t为选定的仿真时间, y为系统在仿真时刻各个输出所组成的矩阵, x为自动选择的状态变量的时间响应数据。 绘制系统解阶跃响应曲线,可由如下格式完成: step(num,den,t) or step(num,den) step(A,B,C,D,iu,t) or step(A,B,C,D,iu) 例 1:已知系统的开环传递函数如下所示: sssssG 40368 200 234)(  求出该系统在单位反馈下的阶跃响应曲线。 首先求出系统的闭环传递函数模型: )()()()(1)(00000)( sd e nsn um sn umsG sGc sG   对系统进行仿真,执行下面的 M文件: num0=20。 den0=[1 8 36 40 0]。 t=1::10。 numc=num0。 denc=[zeros(1,length(den0)length(num0)),num0]+den0。 numc denc [y,T,x]=step(numc,denc,t)。 plot(t,y,t,x)。 title(39。 The Step Response39。 ) xlabel(39。 Time_Sce39。 )。 text(4,39。 The Output39。 )。 text(5,39。 The State39。 ) impulse( )—求取脉冲响应的函数,用法与 step( )函数基本一致。 例子见。 2. 常用的时域分析函数 (见下表) 部分函数的用法举例如下: (1) initial( )—求连续系统的零输入响应。 用法如下: [y,x,t]=iniial(A,B,C,D,x0) [y,x,t]=iniial(A,B,C,D,x0,t) 例:某三阶系统如下所示:  321321321100100xxxyuxxxxxx 当初始状态 x0=[1 0 0]T时,求该系统的零输入响应。 执行程序如下: A=[1 –1。 2 –2。 1 –4 –]。 B=[0 0 1]’。 C=[0 0 1]。 D=0。 x0=[1 0 0]’。 t=0::20。 initial(A,B,C,D,x0,t) title(‘The Initial Condition Response’) (2) dinitial( )—求离散系统的零输入响应。 用法如下: [y,x,t]=diniial(A,B,C,D,x0) [y,x,t]=diniial(A,B,C,D,x0,n) (3) lsim( )—对任意输入的连续系统进行仿真,用法如下: [y,x]=lsim(A,B,C,D,u,t) [y,x]=lsim(A,B,C,D,u,t,x0) [y,x]=lsim(num,den,u,t) 例:已知某系统如下所示 234523)(sssssssssH 求输入为正弦波的输出响应。 程序如下: num=[1 ] den=[1。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。