MATLAB在自动控制系统中的应用.ppt

上传人:小飞机 文档编号:5439042 上传时间:2023-07-07 格式:PPT 页数:33 大小:274.49KB
返回 下载 相关 举报
MATLAB在自动控制系统中的应用.ppt_第1页
第1页 / 共33页
MATLAB在自动控制系统中的应用.ppt_第2页
第2页 / 共33页
MATLAB在自动控制系统中的应用.ppt_第3页
第3页 / 共33页
MATLAB在自动控制系统中的应用.ppt_第4页
第4页 / 共33页
MATLAB在自动控制系统中的应用.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《MATLAB在自动控制系统中的应用.ppt》由会员分享,可在线阅读,更多相关《MATLAB在自动控制系统中的应用.ppt(33页珍藏版)》请在三一办公上搜索。

1、MATLAB在自动控制系统中的应用,1 用MATLAB进行部分分式展开,考虑下列传递函数,式中 的某些值可能为零,在MATLAB的行向量中,num和den分别表示传递函数的分子和分母的系数,即,命令 r,p,k=residue(num,den)将求出多项式B(s)和A(s)之比的部分分式展开式中的留数极点和余项.,例1:对下述传递函数展开,解:对于该传递函数有如下程序:num=2 5 3 6 den=1 6 11 6 r,p,k=residue(num,den),其中,r为留数列向量,p为极点列向量,k为余项列向量,num=2 5 3 6den=1 6 11 6r=-6.0000-4.0000

2、 3.0000p=-3.0000-2.0000-1.0000k=2,例2:(传递函数具有重根的情况),num=0 1 2 3;den=1 3 3 1;r p k=residue(num,den)r=1.0000 0.0000 2.0000 p=-1.0000-1.0000-1.0000,2 将部分分式展开式返回到多项式之比,命令:num,den=residue(r,p,k)printsys(num,den,s)将以s多项式之比的形式打印出传递函数,num=0 1 2 3den=1 3 3 1 r p k=residue(num,den)num,den=residue(r,p,k)printsy

3、s(num,den,s),3、求特征方程的根利用求根命令roots,可以求得多项式的根.(poly(p1 p2pi)命令可以在已知根的情况下求多项式)例:求 的根,p=1 2 3 4;roots(p)ans=-1.65062919143939,poly(1,2,3)或 p1=1;p2=2;p3=3;poly(p1,p2,p3)ans=1-6 11-6,4、用MATLAB求函数的零点和极点,程序为:num=0 0 4 16 12den=1 12 44 48 0z,p,k=tf2zp(num,den)Printsys(num,den,s),z,p,k=tf2zp(num,den)例:求如下传递函数

4、的零极点,,z=-3-1p=0-6.0000-4.0000-2.0000k=4,4 s2+16 s+12-s4+12 s3+44 s2+48 s,5、已知零点、极点求传递函数,z=-1;p=-2;-4;-8;K=12;num,den=zp2tf(z,p,k);printsys(num,den),num/den=4 s+4-s3+14 s2+56 s+64,6、求串联、并联和反馈(闭环)传递函数,命令:num,den=series(num1,den1,num2,den2)num,den=parallel(num1,den1,num2,den2)num,den=feedback(num1,den1

5、,num2,den2),例:num1=0 0 10;den1=1 2 10;num2=0 5;den2=1 5;num,den=series(num1,den1,num2,den2);Printsys(num,den),7、瞬态响应分析,如果已知num和den,则命令 step(num,den),step(num,den,t)sys=tf(num,den);step(sys)将会产生单位阶跃响应图(在阶跃命令中,t为用户指定时间)当阶跃命令的左端含有变量时,如 y,x,t=step(num,den,t)显示屏上不会含有响应曲线,必须利用plot命令去查看响应曲线。矩阵y和x分别包含系统在计算时

6、间点t求出的输出响应和状态响应,(1)标准2阶系统的MATLAB描述 对于给定的自然震荡频率和阻尼系数,下列命令 printsys(num,den)或printsys(num,den,s)将以s的多项式比值形式,打印出num/den 例:wn=5;damping_ratio=0.4;num0,den=ord2(wn,damping_ratio);num=52num0;printsys(num,den,s);step(num,den),num/den=25-s2+4 s+25,例:t=0:0.2:10;zeta=0 0.2 0.4 0.6 0.8 1 for n=1:6;num=0 0 1 de

7、n=1 2*zeta(n)1 y(1:51,n),x,t=step(num,den,t)end plot(t,y)grid title(plot of unit-step response curves withzeta=0,0.2,0.4,0.6,0.8,1)Xlabel(t(sec)text(4.1,1.86zeta=0);text(3.5,1.50.2);text(3.5,1.240.4);text(3.5,1.080.6);text(3.5,0.950.8);text(3.5,0.861.0);,例子程序:%计算二阶系统的阶跃响应%wn=1t=0:0.1:12;num=1;zeta1=

8、0.1;den1=1 2*zeta1 1;zeta2=0.2;den2=1 2*zeta2 1;zeta3=0.4;den3=1 2*zeta3 1;zeta4=0.6;den4=1 2*zeta4 1;zeta5=0.8;den5=1 2*zeta5 1;zeta6=1.0;den6=1 2*zeta6 1;zeta7=2.0;den7=1 2*zeta7 1;y1,x,t=step(num,den1,t);y2,x,t=step(num,den2,t);y3,x,t=step(num,den3,t);y4,x,t=step(num,den4,t);y5,x,t=step(num,den5,

9、t);y6,x,t=step(num,den6,t);y7,x,t=step(num,den7,t);Plot(t,y1,t,y2,t,y3,t,y4,t,y5,t,y6,t,y7)Xlabel(wnt),ylabel(c(t)Grid onTitle(zeta=0.1,0.2,0.4,0.6,0.8,1.0,2.0),(2)求系统的单位脉冲响应例子程序%计算单位脉冲响应%wn=1,zeta=0.2Num=0 0 1;Den=1 0.4 1;Impulse(num,den);Grid onTitle(unit-impulse response of G(s)=1/(s2+0.4s+1),例子程

10、序%计算单位斜坡响应%根据G(s)/s的单位阶跃响应求系统的斜坡响应%根据G(s)/s形式输入分子、分母数组元素Num=0 0 0 1;Den=0 0.4 1 0;T=0:0.1:8;C=step(num,den,t);Plot(t,c,.,t,t,-);Grid onTitle(unit-ramp response curve for system G(s)Xlabel(t/s)Ylabel(r(t),c(t),(3)用MATLAB求上升时间、峰值时间、最大超调量和调整时间:例:求 的上升时间、峰值时间、最大超调量和调整时间。解:num=0 0 25;den=1 6 25;t=0:0.005

11、:5;y,x,t=step(num,den,t);r=1;while y(r)0.98 setting_time=(s-1)*0.005,rise_time=0.5550peak_time=0.7850max_overshoot=0.0948setting_time=1.1850,(4)求对任意输入信号的响应 为了求对任意输入信号的响应,可以应用lsim。命令:lsim(num,den,r,t)y=lsim(num,den,r,t)将产生对输入时间函数r和u的响应例:求函数的单位斜坡响应 num=0 0 1;den=1 1 1;t=0:0.1:8;r=t;y=lsim(num,den,r,t)

12、;plot(t,r,-,t,y,o);grid;title(unit-ramp response obtained by use of command”lsim”);xlabel(t sec);Ylabel(unit-ramp input and system output);text(2.1,4.65,unit-ramp input);text(4.5,2.0,output),8、用MATLAB绘制和分析控制系统的根轨迹,1)命令 rlcocus(num,den)利用该命令,可以在屏幕上得到画出的根轨迹图。增益向量K自动地被确定(向量K包含所有的增益值,据此可以计算出闭环极点)。n=1;d=

13、conv(1,1,1,2),0;rlocus(n,d)2)命令 rlocus(num,den,k)该命令利用了用户提供的增益向量K,可以调整轨迹上点的密度。num=0 0 0 1;den=1 3 2 0;k1=0:0.1:0.3;k2=0.3:0.005:0.5;k3=0.5:0.5:10;k4=10:5:100;k=k1 k2 k3 k4;rlocus(num,den,k),3)r,k=rlocus(num,den)r,krlocus(num,den,k)屏幕上将显示矩阵r和增益向量K(r具有长度为K的行和长度为den-1的列,后者包括复数根位置),但不显示根轨迹n=1;d=conv(1,0

14、,1,0.5);k=0:10:100;r,k=rlocus(n,d,k)4)r=rlocus(num,den,k)plot(r,o)前句只给出相应跟轨迹增益对应的根值,后者绘制跟轨迹的点n=1;d=conv(1,0,1,0.5);k=0:10:100;r=rlocus(n,d,k);plot(r,o),5)命令 sgrid 将定常阻尼比(0-1,增量间隔为0.1)线与定常自然振荡频率圆覆盖到根轨迹上。如果只需要一些特定的定常阻尼线和特定的定常自然振荡频率圆,则可采用下列命令:sgrid(zeta1,zeta2,wn1,wn2,wn3)例:num=0 0 0 1;den=1 4 5 0;rloc

15、us(num,den);sgrid(0.5,0.707,0.5,1,2),不想把定常自然震荡频率圆覆盖到根轨迹上,则sgridzeta1,zeta2,不想把特定的定常阻尼线覆盖到根轨迹上,则sgrid,wn1,wn2,wn3例:num=0 0 0 1;den=1 4 5 0;rlocus(num,den);sgrid(0.5,)例:num=0 0 0 1;den=1 4 5 0;rlocus(num,den);sgrid(,0.5)6)命令 k,r=rlocfind(num,den)用于求根轨迹上任意点的增益K值。它必须跟在rlocus命令之后。,num=0 0 0 1;den=1 4 5 0

16、;rlocus(num,den);sgrid(,0.5);k,r=rlocfind(num,den)7)命令 rltool(h)可以观察到根轨迹运动的规律,同时可以分析系统在增加极点或零点的情况下,根轨迹的变化。,d=conv(1,4,1,4,20),0;g=tf(1,d);rltool(g),9、用MATLAB作伯特图,命令bode可以计算连续线性定常系统频率响应的幅值和相角。当把命令bode(不带左方变量)输入计算机后,MATLAB可以在屏幕上产生伯特图。常用的命令:bode(num,den)bode(num,den,w)bode(sys)当包含左方变量时,即:mag,phase,w=bo

17、de(num,den,w)mag,phase,w=bode(num,den)该命令将把系统的频率响应转变成mag,phase和W三个矩阵,这时在屏幕上不显示频率响应图。矩阵mag 和phase包含系统频率响应的幅值和相角,这些幅值和相角值是在用户指定的频率点,上得到的。这时的相角是以度来表示。利用下列表达式可以把幅值转变成分贝:magdB=20*lg10(mag)为了指明频率范围,采用命令 lgspace(d1,d2)lgspace(d1,d2,n)在两个十进制数10的d1次方和10的d2次方之间产生一个由50个点组成的向量,这50个点彼此在对数上有相等的距离。而第二条命令是在10的d1次方和

18、10的d2次方之间产生N个在对数上相等距离的点。,num=10 4 10;den=1 0.8 9 0;w=logspace(-2,3,100);bode(num,den,w);title(bode Diagram of G(s)=10(s2+0.4s+1)/s(s2+0.8s+9)num=1-1;den=1 2;bode(num,den),九、用MATLAB作奈奎斯特图,命令 nyquist可以计算连续时间、线性定常系统的频率响应。当命令中不包含左方变量时,nyquist仅在屏幕上产生奈奎斯特图。其形式:nyquist(num,den)nyquist(num,den,w)其中,第二条指令包含有用户指定频率向量,可以在指定的频率点上计算频率响应。当采用左方变量时,命令 re,im,w=nyquist(num,den)re,im,w=nyquist(num,den,w)将把系统的频率响应表示成re,im,w,这时在屏幕上不产生图形,num=1;den=1 0.2 1 1;nyquist(num,den);roots(den)num=1 2 1;den=1 0.2 1 1;nyquist(num,den)num=1;den=1 0.8 1 0;nyquist(num,den)num=1;den=1-1 0;nyquist(num,den),

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号