控制系统仿真matlab第六章习题答案汇总.docx
- 文档编号:4800698
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:18
- 大小:464.85KB
控制系统仿真matlab第六章习题答案汇总.docx
《控制系统仿真matlab第六章习题答案汇总.docx》由会员分享,可在线阅读,更多相关《控制系统仿真matlab第六章习题答案汇总.docx(18页珍藏版)》请在冰点文库上搜索。
控制系统仿真matlab第六章习题答案汇总
控制系统仿真第六章课后题
作业6.1
试编写matlab程序,设计系统的超前矫正器Gc(s),要求:
1)在斜坡信号r(t)=2t作用下,系统的稳态误差ess<=0.002;
2)校正后系统的相位裕度Pm范围为:
45~55;
3)绘制系统校正后的bode图和阶跃响应曲线。
程序:
>>s=tf('s');
>>G=1000/(s*(0.1*s+1)*(0.001*s+1));
>>margin(G)%绘制校正前的bode图
>>figure
(2)
>>sys=feedback(G,1);
>>step(sys)%绘制校正前的单位阶跃响应曲线
Figure2
FileEdit过ewInsertToolsWindowHelp
□已鸟|罠4紗®悬乙|口目|■回
StepResponse
1.3
>>[Gm,Pm]=margin(G);%该句值计算bode图的增益裕量Gm和相位裕量Pm
>>[mag,phase,w]=bode(G);%该句只计算bode图上多个频率点w对应的幅值和相位
>>QWPm=50;%取矫正后的相位为50
>>Flm=QWPm-Pm+5;
>>Flm=Flm*pi/180;
>>alfa=(1-sin(FIm))/(1+sin(FIm));
>>adb=20*log10(mag);
>>am=10*log10(alfa);
>>wc=spline(adb,w,am);
>>T=1/(wc*sqrt(alfa));
>>alfat=alfa*T;
>>Gc=tf([T1],[alfat1])%校正器的传递函数
Transferfunction:
0.01794s+1
0.00179s+1
>>figure(3)
>>margin(Gc*G)%系统矫正后的bode图
Ffgure3
FiltgdityiswifisertHcdtMfimdcwtitle
】I■回
BodeDiagram
Gm=17.6dB(st69Brad/sec)sPm=4S.2deg(at176rad/sec)
"I00N11III!
1!
|!
■'II''IJII|II«iii|i|if■j!
!
|!
|
>>figure(4)
>>step(feedback(Gc*G,1))%校正后的单位阶跃响应曲线
Figure4
nxl
FieEdit辺足wInsertToolsDesktopWindowHelp
Ot3J-S□S■Q
作业6.2
在图6.1中,已知单位负反馈系统被控对象的传递函数为
试编写matlab程序,设计系统的滞后校正器Gc(s),要求:
1)在斜坡信号r(t)=t作用下,系统的稳态误差ess乞0.01;
2)校正后系统的相位裕度Pm范围为:
40~50;
3)绘制系统矫正前后的bode图和阶跃响应曲线。
计算Kess=1/K<=0.01K>=100取K=100
程序如下:
>>s=tf('s');
>>G=100/(s*(0.1*s+1)*(0.02*s+1));
>>margin(G)%绘制校正前的bode图
如下图示,这是一个不稳定的系统。
寸FigureT-BX
除J\甥⑥诅謠k包□匡|rg
>>figure
(2)
>>step(feedback(G,1))
Figure2
可以看出系统的动态响应不稳定,处于震荡发散的状态。
>>P0=45;
>>fic=-180+P0+5;
>>[mu,pu,w]=bode(G);
>>wc2=spline(pu,w,fic);
>>d1=conv(conv([10],[0.11]),[0.021]);
>>na=polyval(100,j*wc2);
>>da=polyval(d1,j*wc2);%该句是用j*wc2代替多项式中的s
>>G1=na/da;
>>g1=abs(G1);%abs()函数是取绝对值,这里表示求复数G1的模
>>L=20*log10(g1);
>>beta=10A(L/20);T=1/(0.1*wc2);
>>betat=beta*T;
>>Gc=tf([T1],[betat1])
Transferfunction:
1.558s+1
20.27s+1
>>figure(3)
>>margin(Gc*G)
^7Figure3
FileEditView
InsertToolsDesktopWindowHelp
$
UL3jjJi
|A冬纨紗S)繼乙*|口|口旦|■口
日[]如Dlagram
Gm=172吐日(at21.6rad7sec.,Pm=44.6deg;(at6.44rad/sec)
100
-100
s-p)卷二
>>figure(4)
>>step(feedback(Gc*G,1))
作业6.3
在图6.1中,已知单位负反馈系统被控对象的传递函数为
试编写matlab程序,设计系统的滞后-超前校正器Gc(s),要求:
1)在单位斜坡信号r(t)=t作用下,系统的速度误差系数Kv=20s-1;
2)校正后系统的实际相位裕量Pm范围为:
42~58;
3)校正后系统的实际剪切频率wc2>=1.3rad/s;
4)绘制系统校正前后的bode图和阶跃响应曲线。
Kk
由题知Kv=limsG(s)=lims20k=40
77s(s+1)(s+2)2
程序如下:
先绘制校正前的bode图和单位阶跃响应曲线,再绘制校正后的
第一种
>>s=tf('s');
>>G0=40/(s*(s+1)*(s+2));
>>figure
(1)
>>margin(G0)
>>figure
(2)
>>step(feedback(G0,1))
校正前系统的增益裕量Gm=-16.5,相位裕量Pm=-40.4都是负值,系统不稳定
剪切频率wc1=3.19rad/s,阶跃响应曲线是发散的。
FileEditViewInsertToolsDesktopWindowHelp
OBMB■MVWV
□曰PQ|Q|食Q礬⑥7詳•復□E□Q
BodeDiagram
Gm=-16.5dB(at1.41rad/sec),Pm=・40.4deg(at3.19rad/sec)100
50050
(9P)epnu&ew
10
10
10'1
3580
11
5
(62P) 10 Frequency(rad/sec) Figure2 FileEditViewInsertToolsDesktopWindowHelp □已P®k丨鹫筑巴⑥渥XT凰 >>wc2=4; >>[Gm,Pm,wc1]=margin(G0); >>beta=9;T1=1/(0.1*wc1); >>betat=beta*T1; >>Gc1=tf([T11],[betat1])%计算并显示滞后校正器传递函数 Transferfunction: 7.071s+1 63.64s+1 >>sope=G0*Gc1;%计算原系统与滞后校正器串联后的传递函数 >>num=sope.num{1};den=sope.den{1}; >>na=polyval(num,j*wc2); >>da=polyval(den,j*wc2); >>G=na/da; >>g1=abs(G); >>L=20*log10(g1); >>alfa=10A(L/20); >>T=1/(wc2*(alfa)A(1/2)); >>alfat=alfa*T; >>Gc2=tf([T1],[alfat1]) Transferfunction: 1.018s+1 0.06139s+1 >>G=G0*Gc1*Gc2; >>sys=feedback(G,1); >>figure(3) >>margin(G) >>figure(4) >>step(sys) FileEditVieA1InsertToolsDesktopWi-xiowHelp BodeDia^rarn Gm=17.6dB(at5.53radZsec)hPm=39.7deg(at1.71rad/sec) SEopnuLlcncw Q 10 10 1Q1010 Frsquencyfrac/sec} Figure斗 Insertdesktop则如Help A|钱3甥®渥搖"凰|□ 1- d)prfsd$ ^1 TimeIsec} 第二种: 改进后 >>s=tf('s'); >>G0=40/(s*(s+1)*(s+2)); >>figure (1) >>margin(G0) >>figure (2) >>step(feedback(G0,1)) >>wc2=10; >>[Gm,Pm,wc1]=margin(G0); >>beta=9;T1=1/(0.1*wc1); >>betat=beta*T1; >>Gc1=tf([T11],[betat1]);%2C? ? e? ? iooD£? y? +'? 卩Yo^ey >>n1=conv([T11],[040]); >>d1=conv(conv(conv([10],[11]),[12]),[betat1]); >>na=polyval(n1,1i*wc2); >>da=polyval(d1,1i*wc2); >>G=na/da; >>g仁abs(G); >>L=20*log10(g1); >>alfa=10A(L/20); >>T=1/(wc2*(alfaF(1/2)); >>alfat=alfa*T; >>Gc2=tf([T1],[alfat1]); >>G=G0*Gc1*Gc2; >>sys=feedback(G,1); >>figure(3) >>margin(G) ■ Figure3 1EditViewInser tToolsDesktopr/ndQ'? .'Helo Fl E][LI|■口 BedeDiagram 一匸 >>figure(4)>>step(sys) 作业6-4 在图6.1中,已知受控对象为一个带延迟的惯性环节,其传递函数为G(S)= 17s+1匕试编写matlab程序,用Ziegler-Nichols经验整定公式中的两种方法,分别计算P,PI,PID 控制器的参数,并进行阶跃响应仿真。 由传递函数知: 比例系数K=6,惯性时间常数T=17.纯延迟时间常数t=7.可采用Ziegler-Nichols经验整定公式中阶跃响应整定法。 T09T12T PKp,PIKp,PITi=3.,PIDKp,PIDTi=2.,PIDTd=05 KeKtKt >>K=6;T=17;tau=7; >>s=tf('s'); >>Gz=K/(T*s+1); >>[np,dp]=pade(tau,2); >>G仁tf(np,dp); >>G=Gz*G1; >>Pkp=T/(K*tau)%计算比例控制器的Kp Pkp= 0.4048 >>step(feedback(Pkp*G,1)),holdon >>PIKp=0.9*T/(K*tau); >>PITi=3*tau;%计算比例积分控制器的Kp和Ti >>PIGc=PIKp*(1+1/(PITi*s)) Transferfunction: 7.65s+0.3643 21s >>step(feedback(PIGc*G,1)),holdon >>PIDKp=1.2*T/(K*tau); >>PIDTI=2*tau; >>PIDTd=0.5*tau; >>PIDGc=PIDKp*(1+1/(PIDTI*s)+PIDTd*s/((PIDTd/10)*s+1)) Transferfunction: 26.18sA2+6.97s+0.4857 4.9sA2+14s >>step(feedback(PIDGc*G,1)),holdon >>[PIDKp,PIDTI,PIDTd] ans= 0.485714.00003.5000 >>gtext('p');%在曲线上打印文字 >>gtext('PI'); >>gtext('PID'); igure1 □X
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制系统 仿真 matlab 第六 习题 答案 汇总