还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
4-2设典型闭环结构控制系统如图4-47所示,当阶跃输入幅值时,用sp4_
1.m求取输出的响应解用sp4_
1.m求解过程如下在MATLAB语言环境下,输入以下命令语句a=[
0.
0160.
8643.
273.421];b=
[3025];X0=
[0000];%系统状态向量初值为零V=2;%反馈系数n=4;T0=0;Tf=10;h=
0.01;R=20;%仿真步长h=
0.01,阶跃输入幅值sp4_1%调用sp4_
1.m函数plotty运行结果为附sp4_
1.m函数为b=b/a1;a=a/a1;A=a2:n+1;A=[rot90rot90eyen-1n;-fliplrA];B=[zeros1n-11];m1=lengthb;C=[fliplrbzeros1n-m1];Ab=A-B*C*V;X=X0;y=0;t=T0;N=roundTf-T0/h;fori=1:NK1=Ab*X+B*R;K2=Ab*X+h*K1/2+B*R;K3=Ab*X+h*K2/2+B*R;K4=Ab*X+h*K3+B*R;X=X+h*K1+2*K2+2*K3+K4/6;y=[yC*X];t=[tti+h];end4-4系统结构图如图4-48,写出该系统的联结矩阵和,并写出联结矩阵非零元素阵解根据图4-48中拓扑连结关系,可写出每个环节输入受哪些环节输出的影响,现列如入下:把环节之间的关系和环节与参考输入的关系分别用矩阵表示出来,即=,=,4-6若系统为图4-5b双输入-双输出结构,试写出该系统的联接矩阵,,说明应注意什么?解根据图4-5b中拓扑连结关系,可列写如下关系式:转换成矩阵形式为所以联接矩阵=,=此时应注意输入联接矩阵变为型4-8求图4-49非线性系统的输出响应yt并与无非线性环节情况进行比较解
(1)不考虑非线性环节影响时,求解过程如下1)先将环节编号标入图中2在MATLAB命令窗口下,按编号依次将环节参数输入P阵;P=[
0.
110.51;01200;2110;10110];3按各环节相对位置和联接关系,有联接矩阵如下,,所以非零元素矩阵WIJ=[101;14-1;211;321;431];4)由于不考虑非线性影响,则非线性标志向量和参数向量均应赋零值;Z=
[0000];S=
[0000];5)输入运行参数开环截至频率约为1,故计算步长h取经验公式值,即,取h=
0.01;每
0.25秒输出一点故取=25h=
0.01;L1=25;n=4;T0=0Tf=20;nout=4;Y0=10;sp4_4;plottyrholdon运行结果如图中红色实线所示2考虑非线性环节N影响时,只需将非线性标志向量Z和参数向量S的相应分量正确输入即可在MATLAB命令窗口中输入下列语句Z=
[4000];S=
[5000];%第一个线性环节后有饱和非线性,参数值为5sp4_4;plotty--运行结果如图中蓝色虚线所示从图中可以清楚的地看出,饱和非线性环节对线性系统输出响应的影响附sp4_4函数为:A=P:1;B=P:2;C=P:3;D=P:4;m=lengthWIJ:1;W0=zerosn1;W=zerosnn;fork=1:mifWIJk2==0;W0WIJk1=WIJk3;elseWWIJk1WIJk2=WIJk3;end;end;fori=1:nifAi==0;FIi=1;FIMi=h*Ci/Bi;FIJi=h*h*Ci/Bi/2;FICi=1;FIDi=0;ifDi~=0;FIDi=Di/Bi;elseendelseFIi=exp-h*Ai/Bi;FIMi=1-FIi*Ci/Ai;FIJi=h*Ci/Ai-FIMi*Bi/Ai;FICi=1;FIDi=0;ifDi~=0;FICi=Ci/Di-Ai/Bi;FIDi=Di/Bi;elseendendendY=zerosn1;X=Y;y=0;Uk=zerosn1;Ubb=Uk;t=T0:h*L1:Tf;N=lengtht;fork=1:N-1fori=1:L1Ub=Uk;Uk=W*Y+W0*Y0;fori=1:nifZi~=0ifZi==1Uki=satuUkiSi;endifZi==2Uki=deadUkiSi;endifZi==3[UkiUbbi]=backlashUbbiUkiUbiSi;endendendUdot=Uk-Ub/h;Uf=2*Uk-Ub;X=FI.*X+FIM.*Uk+FIJ.*Udot;Yb=Y;Y=FIC.*X+FID.*Uf;fori=1:nifZi~=0ifZi==4Yi=satuYiSi;endifZi==5Yi=deadYiSi;endifZi==6[YiUbbi]=backlashUbbiYiYbiSi;endendendendy=[yYnout];end附饱和非线性函数satu.m为functionUc=satuUrS1ifabsUr=S1ifUr0Uc=S1;elseUc=-S1;endelseUc=Ur;end4-10采样控制系统如图4-50所示,编写程序实现对该系统的仿真分析(提示连续部分按环节离散化考虑)图中,为典型数字PID控制器;=
0.65为比例系数;=
0.7为积分时间常数;=
0.2为微分时间常数;为具有纯滞后特性的典型二阶控制对象;;;解在控制对象前引入零阶保持器,将连续环节部分按环节离散化==设,为简化运算及编程,取为T的整数倍=对上式进行Z逆变换,得到由此可编写仿真程序在MATLAB命令窗口中输入下列语句KP=
0.65;TI=
0.7;TD=
0.2;T1=
0.3;a=1/T1;T3=
0.4;T=
0.1;h=
0.001;Tf=10;hh编写M脚本文件,存为hh.m%离散化后各参数为A=1-a*h*exp-a*h-exp-a*h;B=exp-2*a*h-exp-a*h+a*h*exp-a*h;C=2*exp-a*h;D=exp-2*a*h;P=KP*1+T/TI+TD/T;H=KP*1+2*TD/T;M=KP*TD/T;%系统初始值为E=zeros13;U=zeros12+T3/T+1;Y=zeros12+T3/h+1;R=1;yk=0;yt=0;t=0;%仿真迭代运算forK1=1:Tf/Tek=R-Y1;E=[ekE1:2];uk=P*E1-H*E2+M*E3+U1;U=[ukU1:2+T3/T];forK2=1:T/hyk=A*UT3/T+1+1+B*UT3/T+2+1+C*YT3/h+1-D*YT3/h+2;Y=[ykY1:2+T3/h];endyt=[ytyk];t=[tK1*T];end%输出波形plottyt运行结果为此题可以用SIMULINK仿真进行验证建立SIMULINK仿真模型运行结果为。