1、控制系统仿真实验报告控制系统计算机仿真及辅助课程设计实验报告姓名: 鲍云涛 学院: 自动化 学号: 912110200133 1、实验一: (1)实验1.2 MATLAB代码:x=0:0.01:6; y1=zeros(size(x); y2=zeros(size(x); y3=zeros(size(x); N=length(x); for k=1:N if x(k)=0; y1(k)=sin(x(k).2); elseif x(k)=2&x(k)4 ; y2(k)=exp(cos(x(k); else x(k)=4 ; y3(k)=-log(x(k); endend y=y1+y2+y3; p
2、lot(x,y) 结果:(2)实验1.3 MATLAB代码:x=-3:0.01:3;y=-3:0.01:3;x,y=meshgrid(x,y);z=(x.2-y.2).*(abs(x-y)=2);mesh(x,y,z);xlabel(x) Figure结果:(3)实验1.4 系统的阻尼比:= 0.2795,自然频率:wn=0.447 MATLAB代码:sys=tf(1,2 0.5 0.4); t=0:0.1:100; impulse(sys,t) title(Unit-Impulse Response of G(s)Grid/sys=tf(1,2 0.5 0.4); t=0:0.1:100;
3、step(sys,t) title(Unit-Step Response of G(s)grid 结果: Simulink仿真A、单位阶跃响应B、单位脉冲响应实验二:(1)实验2.1(a) 代码:num=1 7 24 24;den=1 10 35 50 24;A B C D=tf2ss(num,den)Z P K=tf2zp(num,den) R P H=residue(num,den)G=zpk(Z,P,K)I=ss(A,B,C,D)TF=tf(num,den)impulse(TF)figurestep(TF) 结果: 状态方程 零极点 部分分式 零极点增益 Continuous-time
4、model 传递函数阶跃响应和脉冲响应:(1)实验2.1(b) 代码:A=2.25 -5 -1.25 -0.5 2.25 -4.25 -1.25 -0.25 0.25 -0.5 -1.25 -1 1.25 -1.75 -0.25 -0.75;D=4 2 2 0; C=0 2 0 2; B=0; num den=ss2tf(A,D,C,B) TF=tf(num,den)Z P K=tf2zp(num,den)R P H=residue(num,den)G=zpk(Z,P,K)I=ss(A,D,C,B)impulse(TF)figurestep(TF) 结果 零极点 部分分式 零极点增益 Cont
5、inuous-time model 传递函数阶跃响应和脉冲响应:(3)实验2.2 代码:h=0.1; disp(函数的数值解为); disp(y=); y=1; for t=0:h:1 m=y; disp(y); y=m-m*h; end/h=0.1; disp(函数的离散时刻解为); disp(y=); for t=0:h:1 y=exp(-t); disp(y); end 结果: 欧拉法 真实解欧拉法:y1 = 1.0000 0.9000 0.8100 0.7290 0.6561 0.5905 0.5314 0.4783 0.4305 0.3874 0.3487真实值:y2 = 1.000
6、0 0.9048 0.8187 0.7408 0.6703 0.6065 0.5488 0.4966 0.4493 0.4066 0.3679结论:欧拉法算得数值比真实值小,且误差越来越大。(4)实验2.3 代码:h=0.1; disp(函数的数值解为); disp(y=); y=1; for t=0:h:1 disp(y); k1=-y; k2=-(y+k1*h); y=y+(k1+k2)*h/2; end结果:y = 1.0000 0.9050 0.8190 0.7412 0.6708 0.6071 0.5494 0.4972 0.4500 0.4072 0.3685结论:比真实值略大。比
7、欧拉法误差小。(5)实验2.4 Simulink仿真: 代码:temp=ScopeData2_4(:,2);Y4=temp(1:5:end) 结果:Y4 = 1.0000 0.9048 0.8187 0.7408 0.6703 0.6065 0.5488 0.4966 0.4493 0.4066 0.3679结论:与原函数数值相等,仿真可靠。实验三:(1)实验3.1 代码:function x1,x2=kuta4(h) u=-0.6;e=1.82;s1=2;s2=2.5;i1=0;i2=0; x1=ones(500,1); x2=ones(500,1); for i=1:1:500 y1=0.
8、5*( abs(x1(i)+1) - abs(x1(i)-1) ); y2=0.5*( abs(x2(i)+1) - abs(x2(i)-1) ); k1=-x1(i)+(1+u+e)*y1-s1*y2+i1; k2=-( x1(i)+h/2*k1 )+(1+u+e)*y1-s1*y2+i1; k3=-( x1(i)+h/2*k2 )+(1+u+e)*y1-s1*y2+i1; k4=-( x1(i)+h*k3 ) +(1+u+e)*y1-s1*y2+i1; x1(i+1)=x1(i)+h/6*(k1+2*k2+2*k3+k4); p1=-x2(i)+s2*y1+(1+u-e)*y2+i2; p
9、2=-(x2(i)+h/2*p1)+s2*y1+(1+u-e)*y2+i2; p3=-(x2(i)+h/2*p2)+s2*y1+(1+u-e)*y2+i2; p4=-(x2(i)+h*p3)+s2*y1+(1+u-e)*y2+i2; x2(i+1)=x2(i)+h/6*(p1+2*p2+2*p3+p4); end endclc;x1,x2=kuta4(0.1);plot(x1,x2); 结果: 代码:u=-0.6; e=1.82; s1=2; s2=2.5; i1=0; i2=0;function y1 = fcn(x1)y1 = 0.5*( abs(x1+1)-abs(x1-1) );fun
10、ction y2 = fcn(x2)y2 = 0.5*( abs(x2+1)-abs(x2-1) ); 结果:(2)实验3.2 代码:clc;close;sys1=tf(-2,1 0 -40);sys2=tf(-0.4 0 10,1 0 0);sys=sys1*sys2t=0:0.1:200;Step=step(t,sys);plot(t,Step);hold on;Impulse=impulse(t,sys);plot(t,Impulse); 结果:分析: 分析:极点在s平面右半边,系统不稳定。PID设计: Simulink:外环采用PID反馈控制:P=0.12,I=0,D=0.18。 结果:
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2