控制系统仿真实验报告.docx
- 文档编号:23975379
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:29
- 大小:507.42KB
控制系统仿真实验报告.docx
《控制系统仿真实验报告.docx》由会员分享,可在线阅读,更多相关《控制系统仿真实验报告.docx(29页珍藏版)》请在冰豆网上搜索。
控制系统仿真实验报告
《控制系统计算机仿真及辅助课程设计》
实验报告
姓名:
鲍云涛
学院:
自动化
学号:
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);
fork=1:
N
ifx(k)<2&x(k)>=0;y1(k)=sin(x(k).^2);
elseifx(k)>=2&x(k)<4;
y2(k)=exp(cos(x(k)));
elsex(k)<=6&x(k)>=4;
y3(k)=-log(x(k));
end
end
y=y1+y2+y3;plot(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)+exp(-abs(x-y)).*(abs(x-y)>=2);
mesh(x,y,z);
xlabel(x)
●Figure结果:
(3)实验1.4
●系统的阻尼比:
§=0.2795,自然频率:
wn=0.447
●MATLAB代码:
sys=tf([1],[20.50.4]);
t=0:
0.1:
100;
impulse(sys,t)
title('Unit-ImpulseResponseofG(s)')
Grid
//
sys=tf([1],[20.50.4]);
t=0:
0.1:
100;
step(sys,t)
title('Unit-StepResponseofG(s)')
grid
●结果:
●Simulink仿真
A、单位阶跃响应
B、单位脉冲响应
实验二:
(1)实验2.1(a)
●代码:
num=[172424];
den=[110355024];
[ABCD]=tf2ss(num,den)
[ZPK]=tf2zp(num,den)
[RPH]=residue(num,den)
G=zpk(Z,P,K)
I=ss(A,B,C,D)
TF=tf(num,den)
impulse(TF)
figure
step(TF)
●结果:
状态方程零极点部分分式
零极点增益Continuous-timemodel传递函数
阶跃响应和脉冲响应:
(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=[4220]';
C=[0202];
B=[0];
[numden]=ss2tf(A,D,C,B)
TF=tf(num,den)
[ZPK]=tf2zp(num,den)
[RPH]=residue(num,den)
G=zpk(Z,P,K)
I=ss(A,D,C,B)
impulse(TF)
figure
step(TF)
●结果
零极点部分分式
零极点增益Continuous-timemodel传递函数
阶跃响应和脉冲响应:
(3)实验2.2
●代码:
h=0.1;
disp('函数的数值解为');
disp('y=');
y=1;
fort=0:
h:
1
m=y;
disp(y);
y=m-m*h;
end
//
h=0.1;
disp('函数的离散时刻解为');
disp('y=');
fort=0:
h:
1
y=exp(-t);
disp(y);
end
●结果:
欧拉法真实解
欧拉法:
y1=
1.00000.90000.81000.72900.65610.59050.53140.47830.43050.38740.3487
真实值:
y2=
1.00000.90480.81870.74080.67030.60650.54880.49660.44930.40660.3679
结论:
欧拉法算得数值比真实值小,且误差越来越大。
(4)实验2.3
●代码:
h=0.1;
disp('函数的数值解为');
disp('y=');
y=1;
fort=0:
h:
1
disp(y);
k1=-y;
k2=-(y+k1*h);
y=y+(k1+k2)*h/2;
end
结果:
y=
1.00000.90500.81900.74120.67080.60710.54940.49720.45000.40720.3685
结论:
比真实值略大。
比欧拉法误差小。
(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);
fori=1:
1:
500
y1=0.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;
p2=-(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
end
clc;
[x1,x2]=kuta4(0.1);
plot(x1,x2);
●结果:
●代码:
u=-0.6;e=1.82;s1=2;s2=2.5;i1=0;i2=0;
functiony1=fcn(x1)
y1=0.5*(abs(x1+1)-abs(x1-1));
functiony2=fcn(x2)
y2=0.5*(abs(x2+1)-abs(x2-1));
●结果:
(2)实验3.2
●代码:
clc;close;
sys1=tf([-2],[10-40]);
sys2=tf([-0.4010],[100]);
sys=sys1*sys2
t=0:
0.1:
200;
Step=step(t,sys);
plot(t,Step);
holdon;
Impulse=impulse(t,sys);
plot(t,Impulse);
●结果:
分析:
分析:
极点在s平面右半边,系统不稳定。
PID设计:
●Simulink:
外环采用PID反馈控制:
P=0.12,I=0,D=0.18。
●结果:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制系统 仿真 实验 报告