《2022年中国矿业大学《控制系统计算机仿真》实验试题及仿真程序及结果.docx》由会员分享,可在线阅读,更多相关《2022年中国矿业大学《控制系统计算机仿真》实验试题及仿真程序及结果.docx(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选学习资料 - - - - - - - - - 试验一1、(教材 P37 页例2.1 )已知一阶微分方程:h0 . 05y30y,y0 1/3,试编写程序,用欧拉法求yt1 .5 ,即y 30的值;并画出图形;解:程序如下:clc clearTf=input 仿真时间 Tf=; %输入仿真时间h=input 运算步长 h= ; %输入仿真步长x0=1/3; t=0; x=x0; %输入初始值for i=1:Tf/h K1=-30*x0; x1=x0+h*K1; x=x;x1; %变量以向量形式储存 t=t;ti+h; %对应时刻以向量形式储存 x0=x1; endt,x %以数据形式输出 p
2、lott,x %以曲线形式输出 所绘图形如下:0.50.40.30.20.1 X: 1.5 Y: 3.104e-010 0-0.1-0.200.20.40.60.8 1181.201.4x 11.60ux 112、2. (教材 P79习题 2.5)已知系统的状态方程和输出方程为:x 21901x 24式中 ut=1t;初始条件为:x10=x20=x30=0;取 h=0.05,x 301200x 310试用 RK4 法求t=0.5时的 y 值;x 1解:程序如下:y0 x2x 3名师归纳总结 - - - - - - -第 1 页,共 34 页精选学习资料 - - - - - - - - - cl
3、c clear u=1; x0=0; t=0;y=0; x0=0;0;0; A=-8 1 0;-19 0 1;-12 0 0; B=0;4;10; C=1 0 0;Tf=input 仿真时间 Tf=;h=input 运算步长 h= ;x=x0; for i=1:Tf/h K1=A*x+B*u; K2=A*x+h*K1/2+B*u; K3=A*x+h*K2/2+B*u; K4=A*x+h*K3+B*u; x=x+h*K1+2*K2+2*K3+K4/6; y=y;C*x; t=t;ti+h; end y plott,y 所绘图形如下:0.9 0.250.80.70.2X: 0.5Y: 0.2201
4、0.60.5 0.40.150.10.30.2 0.050.10 051015202530350 00.05 0.10.15 0.20.25 0.30.35 0.40.45 0.5第 2 页,共 34 页名师归纳总结 - - - - - - -精选学习资料 - - - - - - - - - 3、已知系统的传递函数,Gs s 3s31试求其状态方程及输出方程;3s 23 s(教材 P26页 习题 1.7 )解:程序如下:den=1 3; num=1 3 3 1; A,B,C,D=tf2ssden,num 运行结果如下:A = -3 -3 -1 1 0 0 0 1 0 B = 1 0 0 C =
5、 0 1 3 D = 0 名师归纳总结 4、已知线性定常系统的状态方程x 110110x 10u及输出方程,试求系统的传递函数;0100x 2x 2(教材 P26页 习题 1.8 )x 300-2x 31第 3 页,共 34 页解:程序如下:x 1A=-1 1 0;0 -1 0;0 0 -2;y1B=0;0;1;C=1 0 1;x 2den,num=ss2tfA,B,C,D 运行结果如下:x 3- - - - - - -精选学习资料 - - - - - - - - - den = 0 1 2 1 num = 1 4 5 2 5、( 教材P48页 例 2.4 )如下列图的直流电机拖动系统,试在
6、SIMULINK 环境下 建立系统仿真模型:1)采纳欧拉法与四阶龙格库塔法进行仿真,并确定其步长的稳固区间,取不同 步长比较仿真结果;2)采纳RK4讨论外环 PI掌握器参数的转变 0.17 0.5 1 1.5,观其阶跃响应对系统 动态参数的影响;(1)、欧拉法 clc clearTf=10; %输入仿真时间%输入仿真步长h=input 运算步长 h= ; P=1 0.01 0.1 0; 0 0.85 1 0.17; 1 0.01 1 0; 0 0.051 1 0.15; 1 0.0067 70 0; 1 0.15 0.21 0; 0 1 130 0; 1 0.01 0.1 0; 1 0.01
7、0.0044 0; %输入各环节参数 W0=zeros9,1;W01,1=1; %输入外部链接矩阵 W=zeros9,9;W2,1=1;W2,9=-1;W3,2=1;W4,3=1; W4,8=-1;W5,4=1;W6,5=1;W6,7=-0.212;W7,6=1;名师归纳总结 W8,6=1;W9,7=1; %输入系统连接矩阵第 4 页,共 34 页- - - - - - -精选学习资料 - - - - - - - - - A=diagP:, 1;B=diagP:, 2; C=diagP:, 3;D=diagP:, 4; %生成系数矩阵 Q=B-D*W;Q1=invQ; R=C*W-A; V=C
8、*W0; A1=Q1*R; B1=Q1*V; %生成闭环系数矩阵 C1=0 0 0 0 0 0 1 0 0;u=1; %阶跃输入幅值 x0=zeros9,1; t=0;y=0; %设置初值 x=x0; for i=1:Tf/h K1=A1*x+B1*u; x=x+h*K1; y=y;C1*x; t=t;ti+h; end plott,y40运算步长 h=0.011 运算步长 h=0.012 2.5x 1050352301.52510.5 20 015-0.510012345678910-10123456789105-1.50-2四阶龙格库塔法:clc clearTf=input 仿真时间 Tf
9、=; %输入仿真时间h=input 运算步长 h= ; %输入仿真步长P=1 0.01 0.1 0; 0 0.85 1 0.17; 1 0.01 1 0; 0 0.051 1 0.15; 1 0.0067 70 0; 1 0.15 0.21 0; 0 1 130 0;名师归纳总结 - - - - - - -第 5 页,共 34 页精选学习资料 - - - - - - - - - 1 0.01 0.1 0; 1 0.01 0.0044 0; %输入各环节参数 W0=zeros9,1;W01,1=1; %输入外部链接矩阵 W=zeros9,9;W2,1=1;W2,9=-1;W3,2=1;W4,3=
10、1; W4,8=-1;W5,4=1;W6,5=1;W6,7=-0.212;W7,6=1;W8,6=1;W9,7=1; %输入系统连接矩阵 A=diagP:, 1;B=diagP:, 2;C=diagP:, 3;D=diagP:, 4; %生成系数矩阵 Q=B-D*W;Q1=invQ; R=C*W-A; V=C*W0;A1=Q1*R; B1=Q1*V; %生成闭环系数矩阵 C1=0 0 0 0 0 0 1 0 0;u=1; %阶跃输入幅值 x0=zeros9,1; t=0;y=0; %设置初值 x=x0; for i=1:Tf/h K1=A1*x+B1*u; K2=A1*x+h*K1/2+B1*
11、u; K3=A1*x+h*K2/2+B1*u; K4=A1*x+h*K3+B1*u; x=x+h*K1+2*K2+2*K3+K4/6; y=y;C1*x; t=t;ti+h; end plott,y40仿真时间 Tf=20 40仿真时间 Tf=5 2302 x 10仿真时间 Tf=100 运算步长 h=0.015 运算步长 h=0.015 运算步长 h=0.016 353503030-2-42525-62020-81515-101010-12-145246810121416182050.5 11.5 22.5 33.5 44.5 5-16204060801001200 00 0-18 0名师归
12、纳总结 第 6 页,共 34 页- - - - - - -精选学习资料 - - - - - - - - - (2)、clc clearTf=input 仿真时间 Tf=; %输入仿真时间h=input 运算步长 h= ; %输入仿真步长P=1 0.01 0.1 0; 0.17 0.5 1 1.5; 1 0.01 1 0; 0 0.051 1 0.15; 1 0.0067 70 0; 1 0.15 0.21 0; 0 1 130 0; 1 0.01 0.1 0; 1 0.01 0.0044 0; %输入各环节参数 W0=zeros9,1;W01,1=1; %输入外部链接矩阵 W=zeros9,9
13、;W2,1=1;W2,9=-1;W3,2=1;W4,3=1; W4,8=-1;W5,4=1;W6,5=1;W6,7=-0.212;W7,6=1;W8,6=1;W9,7=1; %输入系统连接矩阵 A=diagP:, 1;B=diagP:, 2;C=diagP:, 3;D=diagP:, 4; %生成系数矩阵 Q=B-D*W;Q1=invQ; R=C*W-A; V=C*W0;A1=Q1*R; B1=Q1*V; %生成闭环系数矩阵 C1=0 0 0 0 0 0 1 0 0; u=1; %阶跃输入幅值 x0=zeros9,1; t=0;y=0; %设置初值 x=x0; for i=1:Tf/h K1=
14、A1*x+B1*u; K2=A1*x+h*K1/2+B1*u; K3=A1*x+h*K2/2+B1*u; K4=A1*x+h*K3+B1*u; x=x+h*K1+2*K2+2*K3+K4/6; y=y;C1*x; t=t;ti+h; end plott,y名师归纳总结 - - - - - - -第 7 页,共 34 页精选学习资料 - - - - - - - - - 仿真时间 Tf=20 运算步长 h=0.015 30252015105002468101214161820仿真时间 Tf=5 运算步长 h=0.015 30252015105名师归纳总结 000.511.522.533.544.5
15、5第 8 页,共 34 页- - - - - - -精选学习资料 - - - - - - - - - SIMULINK 仿真0.2120.10.17s+110.15s+1700.211300.01s+10.85s0.01s+10.051s0.00167s+10.15s+1sSaturation10.1 y10.01s+1 To Workspace0.00440.01s+1名师归纳总结 - - - - - - -第 9 页,共 34 页精选学习资料 - - - - - - - - - 0.2120.10.17s+110.15s+1700.21130y10.01s+10.85s0.01s+10.0
16、51s0.00167s+10.15s+1s0.10.01s+1 To Workspace0.00440.01s+1名师归纳总结 - - - - - - -第 10 页,共 34 页精选学习资料 - - - - - - - - - 试验二1、已知某四阶非线性系统结构框图如图1 所示;当系统输入幅值为10 的阶跃信号时,试仿真分析系统输出响应:s+0.785111s+0.16s0.5s+10.1s+11)在 SIMULINK环境下建立仿真模型,输出仿真结果;2)采纳 MATLAB 语言编程实现仿真程序,与1进行结果比较;3)在第一环节前加饱和非线性环节,分析限幅 与没限幅前比较其超调、峰值时间及调
17、剂时间解:(1)SIMULINK 图形如下C1=6、2 时系统的输出响应,并;s+0.785111s+0.16s0.5s+10.1s+1s+0.785111s+0.16s0.5s+10.1s+1Saturations+0.785111s+0.16s0.5s+10.1s+1Saturation1名师归纳总结 - - - - - - -第 11 页,共 34 页精选学习资料 - - - - - - - - - (2)子程序: satura.m function uc=saturaur,s1 %ur=1;s1=5; if ur=s1 uc=s1; elseif ur=s1 if ur0 uc=ur-
18、s1; else uc=ur+s1; end else uc=0; End 主程序:clc clear名师归纳总结 Tf=20; %输入仿真时间%输入非线性标志向量第 12 页,共 34 页h=0.01; %输入仿真步长z=input 非线性标志向量z= ; c1=input 饱和非线性环节限幅c1=; %输入饱和非线性环节参数a1=6;%输入死区非线性环节参数- - - - - - -精选学习资料 - - - - - - - - - P=0.16 1 0.785 1; 0 1 1 0; 1 0.5 1 0; 1 0.1 1 0; %输入各环节参数 A=P:,1;B=P:,2;C=P:,3;D
19、=P:,4;W0=zeros4,1;W01,1=1; %输入外部链接矩阵 W=zeros4,4;W1,4=-1;W2,1=1;W3,2=1;W4,3=1; for i=1:4 if Ai=0; Fi=1; Gi=h*Ci/Bi; Hi=0.5*h*h*Ci/Bi; if Di=0 C1i=1;D1i=0; else C1i=1;D1i=Di/Bi; end else Fi=exp-h*Ai/Bi;if Di=0 Gi=1- Fi*Ci/Ai;%求积分、比例积分环节离散系数 Hi=h*Ci/Ai-Gi*Bi/Ai; C1i=1;D1i=0; else Gi=1- Fi*Di/Ai; Hi=h*D
20、i/Ai-Gi*Bi/Ai; C1i=Ci/Di-Ai/Bi;end D1i=Di/Bi; %求惯性、比例惯性环节离散系数endend%F1=diagF:, 1;G1=diagG:, 1;H1=diagH:, 1;%C2=diagC1:, 1;D2=diagD1:, 1;%求各环节输入Y=zeros4,1;X=Y;y=zeros1,4;r=10;Uk=zeros4,1;t=0:h:Tf; N=lengtht; %求采样点个数for k=1:N-1 Ub=Uk; %储存前一次输入 Uk=W*Y+W0*r; %求当前个环节输入 v for i=1:4;if zi=0if zi=1 Uki,1=sa
21、turaUki,1,c1;end名师归纳总结 - - - - - - -第 13 页,共 34 页精选学习资料 - - - - - - - - - if zi=2 Uki,1=deadUki,1,a1; end end end Udot=Uk-Ub/h; %求当前各环节输入导数 Uf=2*Uk-Ub; %求下一拍输入 %求各环节状态变量及输出 X=F.*X+G.*Uk+H.*Udot; Y=C1.*X+D1.*Uf; for i=1:4; if zi=0 if zi=3 Yi,1=saturaYi,1,c1; end if zi=4 Yi,1=deadYi,1,a1; end end end
22、y=y;Y; end y4=y:,4; plott,y4非线性标志向量 z=0 0 0 0 饱和非线性环节限幅 c1=6 1614X: 2.74 Y: 15.1712108642名师归纳总结 002468101214161820第 14 页,共 34 页- - - - - - -精选学习资料 - - - - - - - - - (3)非线性标志向量 z=1 0 0 0 饱和非线性环节限幅 c1=6 15X: 3.12Y: 14.7105002468101214161820非线性标志向量 z=1 0 0 0 饱和非线性环节限幅 c1=2 1412X: 4.91 Y: 13.18108642002
23、4681012141618202、 某掌握系统如下列图,挑选增益K 的值,使系统阶跃响应的超调整量小于名师归纳总结 20% ,且调剂时间小于5 s;(教材 P80 习题 2.11)Scope第 15 页,共 34 页Ks+1s+11s+8s+20s +3.2s +3.56s 3 2StepZero-PoleTransfer Fcn- - - - - - -精选学习资料 - - - - - - - - - 解: SIMULINK 图形如下:1550s+1s+1 1Steps+8s+20+1s +3.2s +3.56s 3 21ScopeZero-PoleTransfer Fcn670s+1s名师
24、归纳总结 Steps +8s+20s +3.2s 32 +3.56sScope第 16 页,共 34 页Zero-PoleTransfer Fcn- - - - - - -精选学习资料 - - - - - - - - - 3、某非线性系统如下列图, 试求rt21t时系统的动态特性; P52页例题 2.7 Step55Saturation2s +1Scopes +2s +s 3 2GainTransfer FcnMATLAB2s +1Functions +2s 32 +sStep解: SIMULINKGainMATLAB FcnTransfer FcnScope图形如下:12s+1 s +2s
25、+s 3 2名师归纳总结 StepGainSaturationTransfer FcnScope第 17 页,共 34 页- - - - - - -精选学习资料 - - - - - - - - - Step5ufcny2s +1Scopes +2s 32 +sGainEmbeddedT ransfer FcnStep15MATLAB Function2s +1s +2s 32 +sGain1SaturationT ransfer Fcn1其中:function y = fcnu %#eml if u=1 y=1; elseif u=-1 y=-1; else y=u; end名师归纳总结 -
26、- - - - - -第 18 页,共 34 页精选学习资料 - - - - - - - - - 4、考虑如下列图的单位反馈系统,试用双线性变换和根匹配法对其进行仿真(rt=1t,T=0.05 :(1)通过“c2d” 指令将系统各环节进行离散化;(2)通过“toolsControl Design(3)试绘制闭环频率特性曲线;Model Discretize” 将连续系统离散化;Step57.66s+3.33101s+24ss +10s+16 2Transfer Fcn3Transfer Fcn4Transfer Fcn1解:(1)t=0.05;n1=1 3.33;d1=1 24;nd1,dd1
27、=c2dmn1,d1,t,tustinn2=10;d2=1 0;nd2,dd2=c2dmn2,d2,t,tustinn3=1;d3=1 10 16;nd3,dd3=c2dmn3,d3,t,tustin运行结果:nd1 = 0.6770 -0.5730 dd1 = 1.0000 -0.2500 nd2 = 0.2500 0.2500 dd2 = 1 -1 nd3 = 1.0e-003 * 0.4960 0.9921 0.4960 dd3 = 名师归纳总结 1.0000 -1.5714 0.6032 第 19 页,共 34 页- - - - - - -精选学习资料 - - - - - - - -
28、- (2)57.tustin s+3. 33tustin 101 tustins+24ss +10s+16 2名师归纳总结 StepGaiZer o-PoleTransf erFcnTransf erFcn1Scope第 20 页,共 34 页- - - - - - -精选学习资料 - - - - - - - - - (3)57.66s+3.33101s+24ss +10s+16 2StepGainZero-PoleTransfer FcnTransfer Fcn1Scope57.660.6770-0.5730z -10.2500+0.2500z -10.000496+0.0009921z +
29、0.000496z -1-21.0000-0.2500z -11-z -11.0000-1.5714z +0.6032z -1-2Step1Gain1Discrete FilterDiscrete Filter1Discrete Filter2第 21 页,共 34 页名师归纳总结 - - - - - - -精选学习资料 - - - - - - - - - 试验三1、(P89 例 3.1)某数字掌握系统如下列图,其输入为单位阶跃信号,采样周期T=0.1s,试求系统在各采样时刻的输出yt;ut1x1s11x 2ytetekT1ukT1eTsrtT1.05z1Ts被控对象s数字掌握器保持器DzGh
30、sG0s解:程序如下:clear allm=2; n=3; % 明确输入、输出储备向量单元的维数;A=2.4 -1.863 0.453; B=0 0.005 0.005; R=zerosm+1,1; % 差分方程输出项系数行向量 % 差分方程输入项系数行向量% 建立参加递推运算的输入信号序列储备列向量Y=zerosn,1; % 建立参加递推运算的输出信号序列储备列向量T=0.1; % 明确采样周期 T=0.1sTf=15; M=Tf/T; % 设定仿真总时间为 15s 共进行 M=150 次递推运算 yt=0;t=0;for k=1:M Rk=1; % kT 采样时刻输入 R=Rk;R1:m;
31、 % 刷新参加递推运算的输入信号序列 yk=A*Y+B*R; % 递推运算 Y=yk;Y1:n-1; % 刷新参加递推运算的输出信号序列 yt=yt,yk; % yt 为记载各采样 kT时刻输出响应的行向量 t=t,k*T; % t 为记载各采样 kT时刻的行向量 与yt 对应 endplott,yt,*m; % 绘制各采样 kT时刻的输出响应图grid;xlabeltimes;ylabelykT1.51ykT0.5005times1015名师归纳总结 - - - - - - -第 22 页,共 34 页精选学习资料 - - - - - - - - - 2、( P92 例 3.2)数字掌握系统
32、同例 3.1,采样周期 T=0.1s,采纳双重循环方法求 系统在单位阶跃信号 rt=1t 作用下的状态响应设初始状态;设初始状态解:程序如下:x 10 x 20 0F=1 0;0.01 0.99;G=0.01;0;c=0 1; % 连续被控对象的离散化状态方程的系数阵TF=15; % 设定总仿真时间为15sT=0.1为步长T=0.1;h=0.01; % 设定内循环步长h=0.01,而外循环就以采样周期N1=roundTF/T; % 离散部分运算的次数 外循环 内循环 N2=roundT/h; % 在一采样周期内连续被控对象运算次数x=0;0; %为状态变量设置初始值u=0;t=0;xt=x;f
33、or k=1:N1 % 外循环 y=c*x; rk=1; ek=rk-y; u=0.5*u+ek; % 外循环中递推求数字掌握器在实际采样时刻的输出 步长为 Tfor j=1:N2 % 内循环 x=F*x+G*u; % 内循环中递推求受控对象状态响应 步长为 h xt=xt,x; % xt 为记载各步状态响应的矩阵 t=t,j*h+k-1*T; % t 为记载各采样 kT时刻的行向量 与yt 对应 end endx1t=xt1,:;x2t=xt2,:; *m;%输出状态变量 x1,x2plott,x1t,:k,t,x2t,legendx1, x2;grid;xlabeltimes;21.8x1
34、 x21.6 1.4 1.2 1 0.8 0.6 0.4 0.20051015times名师归纳总结 - - - - - - -第 23 页,共 34 页精选学习资料 - - - - - - - - - 3、采样掌握系统数字仿真试验,系统采样周期为 行系统仿真,分析单位阶跃输入时的响应特性:解: SIMULINK 图形如下:0.1s;求采纳以下采样周期进 1)T=0.1s, 2 T=0.04s Stepz-0.98Zero-Order11Scopez-0.64s+1sDiscreteTransfer FcnIntegratorHoldZero-PoleStep1z-0.98Zero-Order
35、11第 24 页,共 34 页z-0.64s+1sIntegrator1DiscreteTransfer Fcn1Hold1Zero-Pole1名师归纳总结 - - - - - - -精选学习资料 - - - - - - - - - 1.% 这是例 6.2 的仿真程序F=1 0;0.01 0.99;G=0.01;0;c=0 1; % 连续被控对象的离散化状态方程的系数阵TF=15; % 设定总仿真时间为 15sT=0.1;h=0.01; % 设定内循环步长 h=0.01, 而外循环就以采样周期T=0.1 为步长N1=roundTF/T; % 离散部分运算的次数 外循环 N2=roundT/h; % 在一采样周期内连续被控对象运算次数