控制系统的计算机辅助分析.ppt

上传人:b****2 文档编号:2646288 上传时间:2022-11-05 格式:PPT 页数:56 大小:516.50KB
下载 相关 举报
控制系统的计算机辅助分析.ppt_第1页
第1页 / 共56页
控制系统的计算机辅助分析.ppt_第2页
第2页 / 共56页
控制系统的计算机辅助分析.ppt_第3页
第3页 / 共56页
控制系统的计算机辅助分析.ppt_第4页
第4页 / 共56页
控制系统的计算机辅助分析.ppt_第5页
第5页 / 共56页
点击查看更多>>
下载资源
资源描述

控制系统的计算机辅助分析.ppt

《控制系统的计算机辅助分析.ppt》由会员分享,可在线阅读,更多相关《控制系统的计算机辅助分析.ppt(56页珍藏版)》请在冰豆网上搜索。

控制系统的计算机辅助分析.ppt

1本章内容

(1)利用MATLAB分析系统的稳定性;

(2)利用MATLAB求取系统在典型和任意输入信号作用下的时域响应;(3)利用MATLAB绘制系统的根轨迹,在根轨迹上可确定任意点的根轨迹增益K值,从而得到系统稳定的根轨迹增益K值范围;(4)利用MATLAB绘制系统的Bode图、Nichols图和Nyquist图等,并求取系统的幅值裕量和相位裕量;(5)利用MATLAB分析具有时间延迟系统的频率特性;(6)求取频率响应数据,且根据频率响应数据辩识系统的模型参数(7)利用MATLAB分析系统的能控性和能观测性,并能对不完全能控或不完全能观测的系统进行结构分解。

第7章控制系统的计算机辅助分析27.1控制系统的稳定性分析判断系统稳定的方法:

1).观察系统输出响应曲线2).直接求根法3).劳斯判据4).尼奎斯特稳定性判据5).对数频率特性的稳定性判据什么是系统的稳定性?

3l1).利用极点判断系统的稳定性l判断一个线性系统稳定性的一种最有效的方法是直接求出系统所有的极点,然后根据极点的分布情况来确定系统的稳定性。

可用如下函数:

lpzmap(num,den)和roots(den)l2).利用特征值判断系统的稳定性l系统的特征方程|sI-A|=sn+a1sn-1+an-1s+an0l的根称为系统的特征值,即系统的闭环极点。

当然判断系统的稳定性同样可利用特征值来判断。

Matlab判断系统稳定性常采用的方法(给出传递函数时)(给出状态方程时)4%P189_ex7_1num=3,2,1,4,2;den=3,5,1,2,2,1;r=roots(den),pzmap(num,den)执行结果如下:

r=-1.60670.4103+0.6801i0.4103-0.6801i-0.4403+0.3673i-0.4403-0.3673i5%P191_ex7_3A=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(系统是不稳定的);else,disp(系统是稳定的);enddisp(不稳定的极点是:

),disp(P(ii)执行结果如下:

r=-1.5000-1.5000-0.5000+0.8660i-0.5000-0.8660i系统是稳定的63).用李雅普诺夫第二法来判断系统的稳定性l线性定常连续系统l(7-2)l在平衡状态xe=0处,渐近稳定的充要条件是:

对任给的一个正定对称矩阵Q,存在一个正定的对称矩阵P,且满足矩阵方程lATPPAQl而标量函数V(x)=xTPx是这个系统的一个二次型形式的李雅普诺夫函数。

lMATLAB提供了李雅普诺夫方程的求解函数lyap(),其调用格式为lP=lyap(A,Q)77.2控制系统的时域分析l生成任意信号函数gensig()的调用格式为lu,t=gensig(type,Ta)

(1)l或u,t=gensig(type,Ta,Tf,T)

(2)l其中

(1)产生一个类型为type的信号序列u(t),周期为Ta,type为以下标识字符串:

lsin正弦波;square方波;pulse脉冲序列;l

(2)同时定义信号序列u(t)的持续时间Tf和采样时间T。

1.任意信号函数8l例例7-5生成一个周期为5秒,持续时间为30秒,采样时间为0.1秒的方波。

l解解Matlab窗口中执行以下命令可得图7-2所示结果。

lu,t=gensig(square,5,30,0.1);lplot(t,u),axis(0,30,0.5,1.5)9图7-210l2.连续系统的单位阶跃响应l单位阶跃响应函数step()的调用格式为ly,x,t=step(num,den,t)l或y,x,t=step(A,B,C,D,iu,t)l式中t为选定的仿真时间向量,函数返回值y为系统在各个仿真时刻的输出所组成的矩阵;而x为自动选择的状态变量的时间响应数据。

l如只想绘制出系统的阶跃响应曲线,则可以由如下的格式调用此函数lstep(num,den,t)lstep(A,B,C,D,t)11%p193_ex7_6.mnum0=20;den0=1836400;num,den=cloop(num0,den0);t=0:

0.1:

10;y,x,t=step(num,den,t);plot(t,y)M=(max(y)-1)/1)*100;disp(最大超调量M=,num2str(M),%)执行结果如下:

最大超调量M=2.5546%12l例例7-7对于典型二阶系统ll试绘制出无阻尼自然振荡频率n=6,阻尼比分别为0.2,0.4,1.0,2.0时系统的单位阶跃响应曲线。

13%p194_ex7_7.mwn=6;zeta=0.2:

0.2:

1.0,2.0;figure

(1);holdonfork=zeta;num=wn2;den=1,2*k*wn,wn.2;step(num,den);end;title(StepResponse);holdoff图7-4执行后可得如图7-4所示的单位阶跃响应曲线。

解解MATLAB程序为14l3.离散系统的单位阶跃响应l离散系统的单位阶跃响应函数dstep()的调用格式为ly,x=dstep(num,den,n)l或y,x=dstep(G,H,C,D,iu,n)l式中n为选定的取样点个数,当n省略时,取样点数由函数自动选取,其余参数定义同前。

15例例7-9已知二阶离散系统试求其单位阶跃响应。

解解MATLAB程序为ex7_9.m执行后得如图7-6所示的单位阶跃响应曲线。

图7-616l4.单位脉冲响应limpulse()ldimpulse()注意:

单位脉冲响应与单位阶跃函数step()和dstep()的调用格式完全一致连续系统离散系统17l5.系统的零输入响应l对于连续系统由初始状态所引引起的响应,即零输入响应,可由函数initial()来求得,其调用格式为ly,x,t=initial(A,B,C,D,x0)l或y,x,t=initial(A,B,C,D,x0,t)l其中x0为初始状态,其余参数定义同前。

18l6.任意输入函数的响应l连续系统对任意输入函数的响应可利用MATLAB的函数lsim()求取,其调用格式为ly,x=lsim(num,den,u,t)l或y,x=lsim(A,B,C,D,iu,u,t)l其他用法同step()函数。

19%p197_ex7_12num=1;den=121;t=0:

0.1:

8;r=t;y=lsim(num,den,r,t);plot(t,r,-,t,y,-)执行后可得如图7-10所示的单位阶跃响应曲线图7-10207.控制系统的稳态误差求取稳态误差可用以下两个函数:

ess=dcgain(nume,dene)连续系统y=limit(f,x,a)离散系统例7-14上机时自己练习期望的稳态输出量与实际的稳态输出量之差。

用来衡量控制系统的精确性即控制精度。

什么是稳态误差?

217.3根轨迹法l所谓根轨迹是指,当开环系统的某一参数从零变化到无穷大时,闭环系统的特征方程根在s平面上所形成的轨迹。

一般地,将这一参数选作开环系统的增益K,而在无零极点对消时,闭环系统特征方程的根就是闭环传递函数的极点。

22l1.绘制系统的零极点图lpzmap()函数可绘制系统的零极点图,其调用格式为lp,z=pzmap(A,B,C,D)l或p,z=pzmap(p,z),lp,z=pzmap(num,den)l其中列向量P为系统极点位置,列向量z为系统的零点位置。

l可通过pzmap(p,z)绘制出零极点图,图中的极点用“”表示,零点用“o”表示。

232.绘制系统的根轨迹l对于图7-12所示的负反馈系统,其特征方程可表示为ll或ll利用rlocus()函数可绘制出当开环增益K由0至变化时,闭环系统的特征根在s平面变化的轨迹,该函数的调用格式为lr,k=rlocus(num,den)lr,k=rlocus(num,den,k)l或r,k=rlocus(A,B,C,D)lr,k=rlocus(A,B,C,D,k)l其中返回值r为系统的闭环极点,lk为相应的增益。

24l在系统分析过程中,常常希望确定根轨迹上某一点处的增益值K,这时可利用MATLAB中的rlocfind()函数,在使用此函数前要首先得到系统的根轨迹,然后再执行如下命令lK,poles=rlocfind(num,den)l或K,poles=rlocfind(A,B,C,D)l执行上述命令后,将在屏幕上的图形中生成一个十字光标,使用鼠标移动它至所希望的位置,然后敲击鼠标左键即可得到该极点的位置坐标值poles以及它所对应的增益K值。

25l例例7-16已知某负反馈系统的开环传递函数为l试绘制系统根轨迹,并分析系统稳定的K值范围。

l解解MATLAB的程序为:

(ex7_16.m)%p200_ex7_16.mnum=1;den=conv(1,0,conv(1,1,1,2);rlocus(num,den),K,poles=rlocfind(num,den)26执行以上程序,并移动鼠标到根轨迹与虚轴执行以上程序,并移动鼠标到根轨迹与虚轴的交点处单击鼠标左键后可得如图的交点处单击鼠标左键后可得如图7-137-13所示的根所示的根轨迹和如下结果:

轨迹和如下结果:

lSelectapointinthegraphicswindowlselected_point=l-0.0190+1.4037ilk=l5.8373lpoles=l-2.9851l-0.0075+1.3984il-0.0075-1.3984i图7-12实轴分离点与虚轴交点与虚轴交点27l由此可见根轨迹与虚轴交点处的增益K=6,这说明当K6时,系统不稳定;利用rlocfind()函数也可找出根轨迹从实轴上的分离点处的增益K=0.38,这说明当0K0.38时,系统为单调衰减稳定,当0.38Ksubplot(2,1,1);semilogx(w,20*log10(mag)lsubplot(2,1,2);semilogx(w,phase)l在同一个窗口上同时绘制出系统的Bode图了,其中前一条命令中对幅值向量mag求取分贝(dB)值。

34l如果只想绘制出系统的Bode图,而对获得幅值和相位的具体数值并不感兴趣,则可以采用如下简单的调用格式lbode(num,den,)lbode(A,B,C,D,iu,)l或更简单地lbode(num,den)lbode(A,B,C,D,iu)35例例7-18已知二阶系统的开环传递函数为绘制出n=3和取0.2,0.4,0.6,0.8,1.0时系统的Bode图。

解解当n=3,取0.2,0.4,0.6,0.8,1.0时二阶系统的Bode图可直接采用bode()函数得到。

MATLAB程序为Ex7_18.m36从图中可以看出,当0时,相角趋于0,当时,相角趋于-1800,当=n时,相角等于-900,此时的幅值也最大。

图7-14l%p204_ex7_18lw=logspace(0,1);wn=3;lzeta=0.2:

0.2:

1.0;lfigure

(1);num=wn.2;lfork=zetalden=1,2*k*wn,wn.2;lbode(num,den,w);holdonlendltitle(Bodeplot)lholdoffl执行后得如图7-15所示Bode图。

37lnyquist()函数的调用格式为lRe,Im,=nyquist(num,den)lRe,Im,=nyquist(num,den,)lRe,Im,=nyquist(A,B,C,D)lRe,Im,=nyquist(A,B,C,D,iu)lRe,Im,=nyquist(A,B,C,D,iu,)l其中返回值Re,Im和分别为频率特性的实部向量、虚部向量和对应的频率向量,有了这些值就可利用命令plot(Re,Im)来直接绘出系统的奈奎斯特图。

3.控制系统的奈奎斯特

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1