MATLABsimulink稳定性分析时域分析

上传人:hao****021 文档编号:244670005 上传时间:2024-10-05 格式:PPT 页数:38 大小:405KB
返回 下载 相关 举报
MATLABsimulink稳定性分析时域分析_第1页
第1页 / 共38页
MATLABsimulink稳定性分析时域分析_第2页
第2页 / 共38页
MATLABsimulink稳定性分析时域分析_第3页
第3页 / 共38页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,系统的,稳定性,分析;,系统在典型和任意输入信号作用下的,时域响应,;,绘制系统的,根轨迹,,并在根轨迹上确定系统稳定的根轨迹增益,K,值范围;,绘制系统的,Bode,图、,Nyquist,图和,Nichols,图,等,并求取系统的幅值裕量和相位裕量;,分析系统的,能控性和能观测性,,并对不完全能控或不完全能观测的系统进行结构分解。,第,7,章 控制系统的计算机辅助分析,1,7.1,控制系统的稳定性分析,1.,利用极点判断系统的稳定性,判断一个线性系统稳定性的一种最有效的方法是直接求出系统所有的极点,然后根据极点的分布情况来确定系统的稳定性。,2,系统特征方程的一般形式为,对于连续时间系统,如果闭环极点全部在S平面左半平面,则系统是稳定的,;否则系统是不稳定的。,对于离散时间系统,如果系统全部极点都位于Z平面的单位圆内,则系统是稳定的,;否则系统是不稳定的,。,系统稳定性分析,3,直接判定方法,对于传递函数模型tf(num,den),利用求根函数,roots(den),来求极点。对于状态空间模型SS(A,B,C,D)利用求特征值函数,eig(A),来求特征值。这样根据极点或特征值即可直接判定系统的稳定性。,4,例1:已知单位负反馈系统的开环传递函数为:,试判断系统的稳定性。,解:MATLAB程序如下,k=100;z=-2;p=0;-1;-20;,n1,d1=zp2tf(z,p,k);,n,d=feedback(n1,d1,1,1);,roots(d),运行结果显示:,ans=,-12.8990,-5.0000,-3.1010,5,例,7-1,已知闭环系统的传递函数为,试判断系统的稳定性,并给出不稳定极点。,解:,MATLAB,程序如下,%ex7_1.m,num=3 2 1 4 2;den=3 5 1 2 2 1;,z,p=tf2zp(num,den);,ii=find(real(p)0);n1=length(ii);,if(n10),disp(The Unstable Poles are:);,disp(p(ii);,else disp(System is stable);,end,pzmap(num,den);,title(Zero-Pole Map),find,功能:查找非零元素的值。,格式:k=find(X),6,运行结果显示:,The Unstable Poles are:,0.4103+0.6801i,0.4103-0.6801i,7,2.利用特征值判断系统的稳定性,系统的特征方程,|,s,I-,A,|=,s,n,+,a,1,s,n,-1,+,a,n-,1,s,+,a,n,0,的根称为系统的特征值,即系统的闭环极点。当然判断系统的稳定性同样可利用特征值来判断。,p=poly(A),%求A的特征多项式。,r=roots(p),%求特征多项式的根。,r=eig(A),%求A的特征值。,8,例,7-3,已知系统的状态方程为:,判断系统的稳定性。,解:,MATLAB,程序如下,%ex7_3.m,A=2.25-5-1.25-0.5;2.25-4.25-1.25-0.25;,0.25-0.5-1.25-1;1.25-1.75-0.25-0.75;,P=poly(A);r=roots(P);ii=find(real(r)0);,n=length(ii);,if(n0),disp(System is Unstable);,else disp(System is Stable);,end,运行结果显示:,System is Stable,9,3.,利用李雅普诺夫第二法来判断系统的稳定性,线性定常连续系统,在平衡状态,x,e,=0,处渐近稳定的充要条件是:对任给的一个正定对称矩阵,Q,,存在一个正定的对称矩阵,P,,且满足李雅普诺夫方程,A,T,P+PA,-Q,而标量函数,V(x)=x,T,Px,是这个系统的一个二次型李雅普诺夫函数。,MATLAB,提供了李雅普诺夫方程的求解函数,lyap(),,其调用格式为,P,=lyap(,A,Q,),10,例,7-4,设系统的状态方程为:,其平衡状态在坐标原点处,试判断该系统的稳定性。,解:,MATLAB,程序如下,%ex7_4.m,A=0 1;-1-1;Q=eye(size(A);P=lyap(A,Q);,if(P(1,1)0&det(P)0),disp(P0,正定,系统在原点处的平衡状态是渐近稳定的,);,else disp(,系统不稳定,);,end,运行结果显示:,P0,正定,系统在原点处的平衡状态是渐近稳定的,11,用于系统稳定性分析的几个函数,1,、,roots(den),求极点,2,、,eig(A),求特征值,3,、,z,p=tf2zp(num,den),模型转换(求极点),4,、,pole(sys),求系统传递函数的极点,5,、,pzmap(sys),绘制线性系统sys的零极点图,p,z=pzmap(sys),6,、,P=lyap(A,Q),求解李雅普诺夫方程的函数,12,系统的时域分析是指输入信号采用单位阶跃或单位脉冲函数,求出系统的输出响应。其响应是时间t的函数,称为时域响应。从时域响应可以获得控制系统各个方面的性能:上升时间、调节时间、超调量、稳态误差等等,。,7.2,控制系统的时域分析,13,1.,任意信号函数,生成任意信号函数,gensig(),的调用格式为,u,t=gensig(type,Ta),u,t=gensig(type,Ta,Tf,T),其中:产生一个类型为,type,的信号序列,u(t),,,type,为以下标识字符串之一:,sin,正弦波;,square,方波;,pulse,脉冲序列,,Ta,为周期,,Tf,为持续时间,,T,为采样时间。,14,例,7-5,生成一个周期为,5,秒,持续时间为,30,秒,采样时间为,0.1,秒的方波。,解:,MATLAB,命令如下,u,t=gensig(square,5,30,0.1);,plot(t,u),axis(0,30,-0.5,1.5),15,2.,连续系统的单位阶跃响应,单位阶跃响应函数,step(),的调用格式为,y,x,t=step(num,den,t),y,x,t=step(A,B,C,D,iu,t),如果只想绘制出系统的阶跃响应曲线,则可以由如下的格式调用此函数,step(num,den,t),step(A,B,C,D,iu,t),16,%ex_step1.m,a=-21,19,-20;19-21 20;40-40-40;,b=0;1;2;,c=1 0 2;,d=0;,y,x,t=step(a,b,c,d);,figure(1),plot(t,y),title(the step responce),xlabel(time-sec),figure(2),%绘制状态变量的轨迹,plot(t,x),17,%ex_step2.m,%系统传递函数G(s)=1/(s2+0.1s+5)(s3+2s2+3s+4),num=1;,den=conv(1 0.1 5,1 2 3 4);,%绘制系统的阶跃响应曲线,t=0:0.1:40;,y=step(num,den,t);,t1=0:1:40;,y1=step(num,den,t1);,plot(t,y,r,t1,y1),18,例,7-6,设系统的开环传递函数为,试求该系统在单位负反馈下的阶跃响应曲线和最大超调量。,解:,MATLAB,程序如下,num0=20;den0=1 8 36 40 0;,numc,denc=cloop(num0,den0);,t=0:0.1:10;,y,x,t=step(numc,denc,t);,plot(t,y),M=(max(y)-1)/1)*100;,disp(,最大超调量,M=num2str(M)%),运行结果显示:,最大超调量,M=2.5546%,19,例,7-7,对于典型二阶系统,试绘制出无阻尼自然振荡频率,n,=6,,阻尼比,分别为,0.2,0.4,1.0,2.0,时系统的单位阶跃响应曲线。,20,解,:MATLAB,程序如下,%ex7_7.m,wn=6;,zeta=0.2:0.2:1.0,2.0;,hold on,for I=zeta,num=wn.2;,den=1,2*I*wn,wn.2;,step(num,den);,end,title(Step Response);,hold off,结论:阻尼系数越小,超调量越大,上升时间越短,通常取0.40.8为宜,超调量适度,调节时间较短。,21,例,7-8,对例,7-7,中的典型二阶系统,绘制出,=0.7,,,n,取,2,,,4,,,6,,,8,,,10,,,12,时的单位阶跃响应。,解:,MATLAB,程序如下,%ex7_8.m,w=2:2:12;zeta=0.7;,figure(1);hold on,for wn=w,num=wn.2,den=1,2*zeta*wn,wn.2;,step(num,den),end,title(Step Respone);,hold off,结论:,n,越大,响应速度越快。,22,3.,离散系统的单位阶跃响应,离散系统的单位阶跃响应函数,dstep(),的调用格式为,y,x=dstep(num,den,n),y,x=dstep(G,H,C,D,iu,n),23,例7-9 已知二阶离散系统,试求其单位阶跃响应。,解:MATLAB程序如下,%ex7_9.m,num=2-3.4 1.5;,den=1-1.6 0.8;,dstep(num,den);,title(Discrete Step Response),24,例,7-10,对于多输入多输出系统求单位阶跃响应曲线。,解:,MATLAB,程序如下,%ex7_10.m,A=2.25-5-1.25-0.5;2.25-4.25-1.25-0.25;,0.25-0.5-1.25-1;1.25-1.75-0.25-0.75;,B=4 6;2 4;2 2;0 2;,C=0 0 0 1;0 2 0 2;,D=zeros(2,2);,step(A,B,C,D),25,26,4.,单位脉冲响应,单位脉冲响应函数,impulse(),和,dimpulse(),与单位阶跃函数,step(),和,dstep(),的调用格式完全一致。,27,%ex_impulse.m,%开环传递函数,numo=20;,deno=1 8 36 40 0;,%闭环传递函数,numc,denc=cloop(numo,deno);,%绘制闭环系统的脉冲激励响应曲线,t=0:0.1:20;,impulse(numc,denc,t);,28,29,%系统状态空间描述,a=-2.5-1.22 0 0;1.22 0 0 0;,1-1.14-3.2-2.56;0 0 2.56 0;,b=4 1;2 0;2 0;0 0;,c=0 1 0 3;0 0 0 1;,d=0-2;-2 0;,%绘制闭环系统的阶跃响应曲,线和脉冲响应曲线,figure(1),step(a,b,c,d),figure(2),impulse(a,b,c,d),30,5.,系统的零输入响应,对于连续系统由初始状态所引引起的响应,即零输入响应,可由函数,initial(),来求得,其调用格式为,y,x,t=initial(A,B,C,D,x0),y,x,t=initial(A,B,C,D,x0,t),离散系统零输入响应函数调用格式为:,y,x=dinitial(G,H,C,D,x0),y,x=dinitial(G,H,C,D,x0,n),31,例,7-11,已知系统的状态空间表达式,以,T=0.5,为采样周期,采用双线性变换算法转换成离散系统,并求出离散系统的单位阶跃响应、单位脉冲响应及零输入响应(设初始状态,x,0,=1 1 1-1,T,)。,解:,MATLAB,程序如下,%ex7_11.m
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


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

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


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