TIANJIN UNIVERSITY
《控制系统设计与仿真》实验报告
姓名:叶林奇
班级:自动化2班
年级:2010级
学号:3010203109
第一次上机实验任务
1、熟悉matlab软件的运行环境,包括命令窗体,workspace等,熟悉绘图命令。
2、采用四阶龙格库塔法求如下二阶系统的在幅值为1脉宽为1刺激下响应的数值解。
G(s)??2ns2?2????2,nsn程序:
1)
function r=u(t)
r=(t>=0)&(t<=1) 2)
dt=0.01;
T=5; s=0.5; w=10;
A=[0 1;-w^2 -2*s*w] B=[0;w^2] X=[0;0]; Y=X;
for i=dt:dt:T K1=A*X+B*u(i);
K2=A*(X+K1*dt/2)+B*u(i); K3=A*(X+K2*dt/2)+B*u(i); K4=A*(X+K2*dt)+B*u(i); K=(K1+2*K2+2*K3+K4)/6; X=X+K*dt; Y=[Y X]; end
plot([0:dt:T],Y(1,:),'r.')
结果:
?0.5,?n?10 ?1.210.80.60.40.20-0.200.511.522.533.544.55
3、采用四阶龙格库塔法求高阶系统阶单位跃响应曲线的数值解。
G(s)?程序:
dt=0.01; N=50/dt; U=1; s=0.5; w=10; T=5;
A=[0 1 0;0 0 1;-w^2/T -(w^2*T+2*s*w)/T -(2*s*w*T+1)/T]; B=[0;0;w^2/T]; X=[0;0;0]; Y=X; for i=1:N K1=A*X+B*U;
K2=A*(X+K1*dt/2)+B*U; K3=A*(X+K2*dt/2)+B*U; K4=A*(X+K2*dt)+B*U; K=(K1+2*K2+2*K3+K4)/6; X=X+K*dt; Y=[Y X]; end y=Y(1,:); t=0:dt:50; plot(t,y)
2?n(s?2??ns??)(Ts?1)22n,??0.5,?n?10,T?5
结果: