《MATLAB在计算机控制系统中的应用.ppt》由会员分享,可在线阅读,更多相关《MATLAB在计算机控制系统中的应用.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、MATLAB在控制技术中的应用1.建立系统的传递函数模型建立系统的传递函数模型tf格式:格式:sys=tf(num,den)分子多项式的系数向量为分子多项式的系数向量为num=bm,bm-1,b0分母多项式系数向量为分母多项式系数向量为den=1,an-1,a0MATLAB在控制技术中的应用例例.已知系统的传递函数为已知系统的传递函数为试建立系统的传递函数模型。试建立系统的传递函数模型。解:解:num=2 9;den=1 3 2 4 6;model=tf(num,den)MATLAB在控制技术中的应用例例.已知系统的传递函数为已知系统的传递函数为试建立系统的传递函数模型。试建立系统的传递函数模
2、型。解:解:num=7*2 3;den=conv(conv(conv(1 0 0,3 1),conv(1 2,1 2),5 0 3 8)model=tf(num,den)MATLAB在控制技术中的应用2.建立零极点形式的数学模型建立零极点形式的数学模型zpk格式:格式:sys=zpk(z,p,k)z、p、k分别为系统的零极点和增益向量。分别为系统的零极点和增益向量。MATLAB在控制技术中的应用3.两个线性模型的串联两个线性模型的串联series格式:格式:sys=series(sys1,sys2)sys=series(sys1,sys2,output1,inputs2)outputs1与与i
3、nputs2分别为分别为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;s
4、ys1=tf(num1,den1);num2=1,6;den2=1,7,1;sys2=tf(num2,den2);sys=parallel(sys1,sys2)MATLAB在控制技术中的应用5.两个系统的反馈连接两个系统的反馈连接feedback格式:格式:sys=feedback(sys1,sys2,sign)sys=feedback(sys1,sys2,feedin,feedout,sign)sys1为前向通道的模型;为前向通道的模型;sys2为反馈通道的模型;为反馈通道的模型;sign缺省时为负反馈,缺省时为负反馈,sign=1为正反馈;为正反馈;feedin指定了指定了sys1的输入向
5、量中与反馈换连接的输入向量中与反馈换连接的向量;的向量;feedout指定了指定了sys1中哪些输出端用于反馈。中哪些输出端用于反馈。MATLAB在控制技术中的应用例例.已知前向通道传递函数为已知前向通道传递函数为试求其单位负反馈的系统传递函数。试求其单位负反馈的系统传递函数。解:解:s1=1;s2=1,1;sys=feedback(s1,s2);MATLAB在控制技术中的应用6.传递函数模型转换为零极点增益模型传递函数模型转换为零极点增益模型tf2zp格式:格式:z,p,k=tf2zp(num,den)z,p,k分别为零极点模型的零点、极点、增分别为零极点模型的零点、极点、增益向量。益向量。
6、MATLAB在控制技术中的应用例例.已知系统的传递函数为已知系统的传递函数为试将其转换为零极点形式的模型。试将其转换为零极点形式的模型。解:解:num=18,36;den=1 40.4 391 150;z p k=tf2zp(num,den)MATLAB在控制技术中的应用7.零极点增益模型转换为传递函数模型零极点增益模型转换为传递函数模型zp2tf格式:格式:num,den=zp2tf(z,p,k)MATLAB在控制技术中的应用8.求连续系统的单位冲激响应求连续系统的单位冲激响应impulse格式:格式:Y,X,T=impulse(num,den)Y,X,T=impulse(num,den,t
7、)Y,X,T=impulse(G)G为系统的传递函数为系统的传递函数MATLAB在控制技术中的应用例例.下图所示的典型反馈控制系统结构,已知下图所示的典型反馈控制系统结构,已知试求系统的开环和闭环单位冲激响应。试求系统的开环和闭环单位冲激响应。G(s)Gc(s)H(s)-MATLAB在控制技术中的应用解:解:G=tf(4,1 2 3 4);Gc=tf(1-3,1 3);H=tf(1,0.01 1);G_o=Gc*G;G_c=feedback(G_o,H);figure,impulse(G_o)figure,impulse(G_c)MATLAB在控制技术中的应用9.求连续系统的单位阶跃响应求连续
8、系统的单位阶跃响应step格式:格式:Y,X,T=step(num,den)Y,X,T=step(num,den,t)Y,X,T=step(G)G为系统的传递函数为系统的传递函数MATLAB在控制技术中的应用例例.已知传递函数模型为已知传递函数模型为试绘制其单位阶跃响应曲线。试绘制其单位阶跃响应曲线。解:解:G=tf(1 7 24 24,1 10 35 50 24);t=0:0.1:10;y=step(G,t)plot(t,y),gridMATLAB在控制技术中的应用例例.已知零极点模型为已知零极点模型为试绘制其单位阶跃响应曲线。试绘制其单位阶跃响应曲线。解:解:z=-1 2;p=-0.5-1
9、.5-3-4-4-5;k=6;G=zpk(z,p,k);step(G)MATLAB在控制技术中的应用例例.典型二阶系统传递函数为:典型二阶系统传递函数为:试分析不同参数下的系统单位阶跃响应。试分析不同参数下的系统单位阶跃响应。MATLAB在控制技术中的应用解:解:1)假设将自然频率固定为)假设将自然频率固定为n=1,=0,0.1,0.2,0.3,1,2,3,5=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;hold on for i=1:length(zetas)Gc=tf(wn2,1,2*zetas(i)*wn,wn2);
10、step(Gc,t)end hold offMATLAB在控制技术中的应用解:解:1)将阻尼比)将阻尼比的值固定在的值固定在=0.55=0.55,自然频自然频率取率取n=0.1,0.2,1。wn=0.1:0.1:1;z=0.55;t=0:0.1:12;hold on for i=1:length(wn)Gc=tf(wn(i)2,1,2*z*wn(i),wn(i)2);step(Gc,t)end hold offMATLAB在控制技术中的应用10.绘制系统的零极点图绘制系统的零极点图pzmap格式:格式:p,z=pzmap(num,den)pzmap(p,z)MATLAB在控制技术中的应用例例.
11、有连续系统有连续系统要求绘制出零极点图。要求绘制出零极点图。解:解:num=0.05 0.045;den=conv(1,-1.8,0.9,1,5,6);pzmap(num,den)MATLAB在控制技术中的应用11.求连续系统的频率响应求连续系统的频率响应bode格式:格式:mag,phase,w=bode(num,den)mag,phase,w分别是幅值和相位和频率数组。分别是幅值和相位和频率数组。MATLAB在控制技术中的应用例例.典型二阶系统传递函数为:典型二阶系统传递函数为:试绘制出不同试绘制出不同和和n的波特图。的波特图。MATLAB在控制技术中的应用解:解:1)n为固定值,为固定值
12、,变化时变化时 wn=1;zet=0:0.1:1,2,3,5;hold on for i=1:length(zet)num=wn2;den=1,2*zet(i)*wn,wn2;bode(num,den);end hold offMATLAB在控制技术中的应用解:解:2)为固定值,为固定值,n变化时变化时 wn=0.1:0.1:1;zet=0.707;hold on for i=1:length(wn)num=wn(i)2;den=1,2*zet*wn(i),wn(i)2;bode(num,den);end hold offl幅值裕度幅值裕度h h:幅相曲线上,相角为:幅相曲线上,相角为-180
13、时时 对应幅值得倒数,即对应幅值得倒数,即 (I)式中式中g称为相角交接频率。称为相角交接频率。如果系统的开环传递系数增大到原来的如果系统的开环传递系数增大到原来的h倍,则系统就倍,则系统就处于临界稳定状态。处于临界稳定状态。l相角裕度相角裕度:180加开环幅相曲线幅值为加开环幅相曲线幅值为1时的相角,时的相角,即即 (II)式中式中c为系统的截止频率。为系统的截止频率。如果系统对频率如果系统对频率c信号的相角延迟再增大信号的相角延迟再增大度,则系统度,则系统将处于临界稳定状态。将处于临界稳定状态。cgh(dB)0-180()(dB)MATLAB在控制技术中的应用12.求求LTI的幅值裕度和相
14、角裕度的幅值裕度和相角裕度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,1 2 3 2);G_clos
15、e=feedback(G,1);Gm,Pm,Wcg,Wcp=margin(G)step(G_close)MATLAB在控制技术中的应用例例.系统模型为:系统模型为:求它的幅值裕度和相角裕度,其闭环阶跃响应。求它的幅值裕度和相角裕度,其闭环阶跃响应。解:解: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)MATLAB在控制技术中的应用13.连续系统的离散化连续系统的离散化c2dm格式:格式:numz,denz=c2dm(num,den,ts,metho
16、d)ts为采样周期为采样周期method指定转换方式指定转换方式 zoh采用零阶保持器采用零阶保持器 foh采用三角形近似采用三角形近似 tustin采用双线性变换采用双线性变换 prewarp采用指定转折频率的双线性变换采用指定转折频率的双线性变换MATLAB在控制技术中的应用例例.已知系统被控对象传递函数为:已知系统被控对象传递函数为:采样周期采样周期T=0.1s,试将其进行离散化处理。,试将其进行离散化处理。解:解:num=10;den=1 7 10;ts=0.1;n_zoh,d_zoh=c2dm(num,den,ts)tf(n_zoh,d_zoh,ts)MATLAB在控制技术中的应用1
17、4.离散系统单位阶跃响应离散系统单位阶跃响应dstep格式:格式:y,x=dstep(num,den,n)n为采样数为采样数dimpulse离散系统单位冲激响应离散系统单位冲激响应MATLAB在控制技术中的应用例例.已知系统被控对象传递函数为:已知系统被控对象传递函数为:采样周期采样周期T=0.1s,求取,求取G(s)和和G(z)的阶跃响应,并绘制的阶跃响应,并绘制G(z)的脉冲响应曲线。的脉冲响应曲线。解:解:num=10;den=1 7 10;ts=0.1;i=0:35;time=i*ts n_zoh,d_zoh=c2dm(num,den,ts)yc=step(num,den,time);
18、y_zoh=dstep(n_zoh,d_zoh,36);xx,yy=stairs(time,y_zoh);figure;hold on;plot(time,yc);plot(xx,yy);grid;figure;dimpulse(n_zoh,d_zoh,36)MATLAB在控制技术中的应用15.离散系统频率响应离散系统频率响应dbode格式:格式:mag,phase=dbode(num,den,ts,ui,w)ts为采样周期;为采样周期;ui用于多输入系统时指定绘制第用于多输入系统时指定绘制第ui个输入量个输入量对应的频率响应;对应的频率响应;w为指定的频率向量来绘制频率响应曲线。为指定的频率向量来绘制频率响应曲线。MATLAB在控制技术中的应用例例.已知被控对象传递函数为:已知被控对象传递函数为:采样周期采样周期T=0.1s,试绘制零阶保持器法系统的频,试绘制零阶保持器法系统的频率响应。率响应。解:解:nc=10;dc=1 2 0;ts=1;w=0:0.2:10;bode(nc,dc,w);hold on;nz1,dz1=c2dm(nc,dc,ts);dbode(nz1,dz1,ts,w);hold off;