您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > MATLAB在计算机控制系统中的应用1
MATLAB在控制技术中的应用1.建立系统的传递函数模型——tf格式:sys=tf(num,den)分子多项式的系数向量为num=[bm,bm-1,…,b0]分母多项式系数向量为den=[1,an-1,…,a0]01110111......)()()(asasasbsbsbsbsUsYsGnnnmmmmMATLAB在控制技术中的应用例.已知系统的传递函数为试建立系统的传递函数模型。解:num=[29];den=[13246];model=tf(num,den)642392)(234ssssssGMATLAB在控制技术中的应用例.已知系统的传递函数为试建立系统的传递函数模型。解:num=7*[23];den=conv(conv(conv([100],[31]),conv([12],[12])),[5038])model=tf(num,den))835()2)(13()32(7)(322sssssssGMATLAB在控制技术中的应用2.建立零极点形式的数学模型—zpk格式:sys=zpk([z],[p],[k])[z]、[p]、[k]分别为系统的零极点和增益向量。))...()(())...()(()(2121nmpspspszszszsKsGMATLAB在控制技术中的应用3.两个线性模型的串联—series格式:sys=series(sys1,sys2)sys=series(sys1,sys2,output1,inputs2)outputs1与inputs2分别为sys1和sys2的输出、输入向量。MATLAB在控制技术中的应用4.两个线性模型的并联—parallel格式:sys=parallel(sys1,sys2)sys=parallel(sys1,sys2,in1,in2,out1,out2)outputs1与inputs2分别为sys1和sys2的输出、输入向量。MATLAB在控制技术中的应用例.已知两个线性系统应用parallel函数进行系统的并联连接。解:num1=[12,4];den1=[1,5,2];sys1=tf(num1,den1);num2=[1,6];den2=[1,7,1];sys2=tf(num2,den2);sys=parallel(sys1,sys2)25412)(21ssssG176)(22ssssGMATLAB在控制技术中的应用5.两个系统的反馈连接—feedback格式:sys=feedback(sys1,sys2,sign)sys=feedback(sys1,sys2,feedin,feedout,sign)sys1为前向通道的模型;sys2为反馈通道的模型;sign缺省时为负反馈,sign=1为正反馈;feedin指定了sys1的输入向量中与反馈换连接的向量;feedout指定了sys1中哪些输出端用于反馈。MATLAB在控制技术中的应用例.已知前向通道传递函数为试求其单位负反馈的系统传递函数。解:s1=[1];s2=[1,1];sys=feedback(s1,s2);ssG1)(MATLAB在控制技术中的应用6.传递函数模型转换为零极点增益模型—tf2zp格式:[z,p,k]=tf2zp(num,den)[z],[p],[k]分别为零极点模型的零点、极点、增益向量。MATLAB在控制技术中的应用例.已知系统的传递函数为试将其转换为零极点形式的模型。解:num=[18,36];den=[140.4391150];[zpk]=tf2zp(num,den)1503914.403618)(23sssssGMATLAB在控制技术中的应用7.零极点增益模型转换为传递函数模型—zp2tf格式:[num,den]=zp2tf(z,p,k)MATLAB在控制技术中的应用8.求连续系统的单位冲激响应—impulse格式:[Y,X,T]=impulse(num,den)[Y,X,T]=impulse(num,den,t)[Y,X,T]=impulse(G)G为系统的传递函数MATLAB在控制技术中的应用例.下图所示的典型反馈控制系统结构,已知试求系统的开环和闭环单位冲激响应。4324)(23ssssG33)(sssG101.01)(ssHG(s)Gc(s)H(s)-MATLAB在控制技术中的应用解:G=tf(4,[1234]);Gc=tf([1-3],[13]);H=tf(1,[0.011]);G_o=Gc*G;G_c=feedback(G_o,H);figure,impulse(G_o)figure,impulse(G_c)MATLAB在控制技术中的应用9.求连续系统的单位阶跃响应—step格式:[Y,X,T]=step(num,den)[Y,X,T]=step(num,den,t)[Y,X,T]=step(G)G为系统的传递函数MATLAB在控制技术中的应用例.已知传递函数模型为试绘制其单位阶跃响应曲线。解:G=tf([172424],[110355024]);t=0:0.1:10;y=step(G,t)plot(t,y),grid2450351024247)(23423ssssssssGMATLAB在控制技术中的应用例.已知零极点模型为试绘制其单位阶跃响应曲线。解:z=[-12];p=[-0.5-1.5-3-4-4-5];k=6;G=zpk(z,p,k);step(G))5()4)(3)(5.1)(5.0()2)(1(6)(2ssssssssGMATLAB在控制技术中的应用例.典型二阶系统传递函数为:试分析不同参数下的系统单位阶跃响应。2222)(nnncsssGMATLAB在控制技术中的应用解:1)假设将自然频率固定为ωn=1,ζ=0,0.1,0.2,0.3,…,1,2,3,5。wn=1;zetas=[0:0.1:1,2,3,5];t=0:0.1:12;holdonfori=1:length(zetas)Gc=tf(wn^2,[1,2*zetas(i)*wn,wn^2]);step(Gc,t)endholdoffMATLAB在控制技术中的应用解:1)将阻尼比ζ的值固定在ζ=0.55,自然频率取ωn=0.1,0.2,…,1。wn=0.1:0.1:1;z=0.55;t=0:0.1:12;holdonfori=1:length(wn)Gc=tf(wn(i)^2,[1,2*z*wn(i),wn(i)^2]);step(Gc,t)endholdoffMATLAB在控制技术中的应用10.绘制系统的零极点图—pzmap格式:[p,z]=pzmap(num,den)pzmap([p,z])MATLAB在控制技术中的应用例.有连续系统要求绘制出零极点图。解:num=[0.050.045];den=conv([1,-1.8,0.9],[1,5,6]);pzmap(num,den))65)(9.08.1(045.005.0)(22ssssssGMATLAB在控制技术中的应用11.求连续系统的频率响应—bode格式:[mag,phase,w]=bode(num,den)mag,phase,w分别是幅值和相位和频率数组。MATLAB在控制技术中的应用例.典型二阶系统传递函数为:试绘制出不同ζ和ωn的波特图。2222)(nnncsssGMATLAB在控制技术中的应用解:1)ωn为固定值,ζ变化时wn=1;zet=[0:0.1:1,2,3,5];holdonfori=1:length(zet)num=wn^2;den=[1,2*zet(i)*wn,wn^2];bode(num,den);endholdoffMATLAB在控制技术中的应用解:2)ζ为固定值,ωn变化时wn=0.1:0.1:1;zet=0.707;holdonfori=1:length(wn)num=wn(i)^2;den=[1,2*zet*wn(i),wn(i)^2];bode(num,den);endholdoff幅值裕度h:幅相曲线上,相角为-180°时对应幅值得倒数,即(I)式中ωg称为相角交接频率。如果系统的开环传递系数增大到原来的h倍,则系统就处于临界稳定状态。相角裕度γ:180°加开环幅相曲线幅值为1时的相角,即(II)式中ωc为系统的截止频率。如果系统对频率ωc信号的相角延迟再增大γ度,则系统将处于临界稳定状态。|)()(|1ggjHjGh)()(180ccojHjGωcωgh(dB)ωγ0-180°(°)(dB)MATLAB在控制技术中的应用12.求LTI的幅值裕度和相角裕度—margin格式:[Gm,Pm,Wcg,Wcp]=margin(num,den)[Gm,Pm,Wcg,Wcp]=margin(map,phase,w)mag,phase,w是由波特图得到的增益和相位和频率。Gm为幅值裕度;Pm为相角裕度;Wcg为幅值裕度处的频率值;Wcp为剪切频率。MATLAB在控制技术中的应用例.系统模型为:求它的幅值裕度和相角裕度,其闭环阶跃响应。解:G=tf(3.5,[1232]);G_close=feedback(G,1);[Gm,Pm,Wcg,Wcp]=margin(G)step(G_close)2325.3)(23ssssGMATLAB在控制技术中的应用例.系统模型为:求它的幅值裕度和相角裕度,其闭环阶跃响应。解:G=tf(100*conv([1,5],[1,5]),conv([1,1],[1,1,9]));G_close=feedback(G,1);[Gm,Pm,Wcg,Wcp]=margin(G)step(G_close))9)(1()5(100)(22sssssGMATLAB在控制技术中的应用13.连续系统的离散化—c2dm格式:[numz,denz]=c2dm(num,den,ts,’method’)ts为采样周期method指定转换方式‘zoh’——采用零阶保持器‘foh’——采用三角形近似‘tustin’——采用双线性变换‘prewarp’——采用指定转折频率的双线性变换MATLAB在控制技术中的应用例.已知系统被控对象传递函数为:采样周期T=0.1s,试将其进行离散化处理。解:num=10;den=[1710];ts=0.1;[n_zoh,d_zoh]=c2dm(num,den,ts)tf(n_zoh,d_zoh,ts))5)(2(10)(sssGMATLAB在控制技术中的应用14.离散系统单位阶跃响应—dstep格式:[y,x]=dstep(num,den,n)n为采样数dimpulse——离散系统单位冲激响应MATLAB在控制技术中的应用例.已知系统被控对象传递函数为:采样周期T=0.1s,求取G(s)和G(z)的阶跃响应,并绘制G(z)的脉冲响应曲线。解:num=10;den=[1710];ts=0.1;i=0:35;time=i*ts[n_zoh,d_zoh]=c2dm(num,den,ts)yc=step(num,den,time);y_zoh=dstep(n_zoh,d_zoh,36);[xx,yy]=stairs(time,y_zoh);figure;holdon;plot(time,yc);plot(xx,yy);grid;figure;dimpulse(n_zoh,d_zoh,36))5)(2(10)(sssGMATLAB在控制技术中的应用15.离散系统频率响应—dbode格式:[mag,phase]=dbode(num,den,ts,ui,w)ts为采样周期;ui用于多输入系统时指定绘制第ui个输入量对应的频率响应;w为指定的频率向量来绘制频率响应曲线。MATLAB在控制技术中的应用例.已知被控对象传递函数为:采样周期T=0.1s,试绘制零阶保持器法系统的频率响应
本文标题:MATLAB在计算机控制系统中的应用1
链接地址:https://www.777doc.com/doc-2882013 .html