小学期课程设计报告附录.docx
《小学期课程设计报告附录.docx》由会员分享,可在线阅读,更多相关《小学期课程设计报告附录.docx(29页珍藏版)》请在冰豆网上搜索。
小学期课程设计报告附录
附录1车体垂向振动模型MATLAB仿真编程代码
(1)
clearall;
clc;
%设置常量
mc=44200;%车体c质量:
kg
mb=3250;%转向架b质量:
kg
mw=1500;%轮对w质量:
kg
Ic=2.5e6;%车体c点头转动惯量:
kg*m2
Icx=161380;%车体c侧滚转动惯量:
kg*m2
Ib=3650;%转向架b点头转动惯量:
kg*m2
Ibx=3650;%转向架b侧滚转动惯量:
kg*m2
Iwx=1200;%轮对侧滚转动惯量:
kg*m2
lc=9.5;%转向架间距离的一半:
m
ks=2.5e6;%二系轴箱悬挂劲度系数:
N/m
kp=2.1e6;%一系轴箱悬挂劲度系数:
N/m
cs=2.0e5;%二系轴箱阻尼系数:
N*s/m
cp=5.0e4;%一系轴箱阻尼系数:
N*s/m
lb=1.25;%轮对间距离的一半:
m
kr=1.0e8;%钢轨系数:
N/m
g=9.8;%重力加速度:
m/s2%a-加速度,v-速度,x-位移,alpha-角加速度,omega-角速度,thet-偏转角
%数值积分格式中常数:
phi,psi
%初始化
phi=0.5;psi=0.5;i=1;tt=0.0001;n=90000;tz=9;
%变量声明
xc=zeros(1,n);xb1=zeros(1,n);xb2=zeros(1,n);
xw1=zeros(1,n);xw2=zeros(1,n);xw3=zeros(1,n);xw4=zeros(1,n);
xx1=zeros(1,n);xx2=zeros(1,n);xx3=zeros(1,n);xx4=zeros(1,n);
vc=zeros(1,n);vb1=zeros(1,n);vb2=zeros(1,n);
vw1=zeros(1,n);vw2=zeros(1,n);vw3=zeros(1,n);vw4=zeros(1,n);
ac=zeros(1,n);ab1=zeros(1,n);ab2=zeros(1,n);
aw1=zeros(1,n);aw2=zeros(1,n);aw3=zeros(1,n);aw4=zeros(1,n);
thetc=zeros(1,n);thetb1=zeros(1,n);thetb2=zeros(1,n);
omegac=zeros(1,n);omegab1=zeros(1,n);omegab2=zeros(1,n);
alphac=zeros(1,n);alphab1=zeros(1,n);alphab2=zeros(1,n);
Fs1=zeros(1,n);Fs2=zeros(1,n);
Fp1=zeros(1,n);Fp2=zeros(1,n);Fp3=zeros(1,n);Fp4=zeros(1,n);
Fw1=zeros(1,n);Fw2=zeros(1,n);Fw3=zeros(1,n);Fw4=zeros(1,n);
%设起步时刻i=1,t=0
Fs1(i)=ks*(xb1(i)-lc*thetc(i)-xc(i))+cs*(vb1(i)-lc*omegac(i)-vc(i));
Fs2(i)=ks*(xb2(i)+lc*thetc(i)-xc(i))+cs*(vb2(i)+lc*omegac(i)-vc(i));
Fp1(i)=kp*(xw1(i)+lb*thetb1(i)-xb1(i))+cp*(vw1(i)+lb*omegab1(i)-vb1(i));
Fp2(i)=kp*(xw2(i)-lb*thetb1(i)-xb2(i))+cp*(vw2(i)-lb*omegab1(i)-vb1(i));
Fp3(i)=kp*(xw3(i)+lb*thetb2(i)-xb2(i))+cp*(vw3(i)+lb*omegab2(i)-vb2(i));
Fp4(i)=kp*(xw4(i)-lb*thetb2(i)-xb2(i))+cp*(vw4(i)-lb*omegab2(i)-vb2(i));
Fw1(i)=kr*(xx1(i)-xw1(i));
Fw2(i)=kr*(xx2(i)-xw2(i));
Fw3(i)=kr*(xx3(i)-xw3(i));
Fw4(i)=kr*(xx4(i)-xw4(i));
ab1(i)=(Fp1(i)+Fp2(i)-Fs1(i)-mb*g)/mb;
ab2(i)=(Fp3(i)+Fp4(i)-Fs2(i)-mb*g)/mb;
alphab1(i)=lb*(Fp2(i)-Fp1(i))/Ib;
alphab2(i)=lb*(Fp4(i)-Fp3(i))/Ib;
ac(i)=(Fs1(i)+Fs2(i)-mc*g)/mc;
alphac(i)=lc*(Fs1(i)-Fs2(i))/Ic;
aw1(i)=(Fw1(i)-Fp1(i)-mw*g)/mw;
aw2(i)=(Fw2(i)-Fp2(i)-mw*g)/mw;
aw3(i)=(Fw3(i)-Fp3(i)-mw*g)/mw;
aw4(i)=(Fw4(i)-Fp4(i)-mw*g)/mw;
%数值积分
xc(i+1)=xc(i)+vc(i)*tt+(0.5+psi)*ac(i)*tt^2-psi*ac(i)*tt^2;
vc(i+1)=vc(i)+(1+phi)*ac(i)*tt-phi*ac(i)*tt;
thetc(i+1)=thetc(i)+omegac(i)*tt+(0.5+psi)*alphac(i)*tt^2-psi*alphac(i)*tt^2;
omegac(i+1)=omegac(i)+(1+phi)*alphac(i)*tt-phi*alphac(i)*tt;
xb1(i+1)=xb1(i)+vb1(i)*tt+(0.5+psi)*ab1(i)*tt^2-psi*ab1(i)*tt^2;
vb1(i+1)=vb1(i)+(1+phi)*ab1(i)*tt-phi*ab1(i)*tt;
thetb1(i+1)=thetb1(i)+omegab1(i)*tt+(0.5+psi)*alphab1(i)*tt^2-psi*alphab1(i)*tt^2;
omegab1(i+1)=omegab1(i)+(1+phi)*alphab1(i)*tt-phi*alphab1(i)*tt;
xb2(i+1)=xb2(i)+vb2(i)*tt+(0.5+psi)*ab2(i)*tt^2-psi*ab2(i)*tt^2;
vb2(i+1)=vb2(i)+(1+phi)*ab2(i)*tt-phi*ab2(i)*tt;
thetb2(i+1)=thetb2(i)+omegab2(i)*tt+(0.5+psi)*alphab2(i)*tt^2-psi*alphab2(i)*tt^2;
omegab2(i+1)=omegab2(i)+(1+phi)*alphab2(i)*tt-phi*alphab2(i)*tt;
xw1(i+1)=xw1(i)+vw1(i)*tt+(0.5+psi)*aw1(i)*tt^2-psi*aw1(i)*tt^2;
vw1(i+1)=vw1(i)+(1+phi)*aw1(i)*tt-phi*aw1(i)*tt;
xw2(i+1)=xw2(i)+vw2(i)*tt+(0.5+psi)*aw2(i)*tt^2-psi*aw2(i)*tt^2;
vw2(i+1)=vw2(i)+(1+phi)*aw2(i)*tt-phi*aw2(i)*tt;
xw3(i+1)=xw3(i)+vw3(i)*tt+(0.5+psi)*aw3(i)*tt^2-psi*aw3(i)*tt^2;
vw3(i+1)=vw3(i)+(1+phi)*aw3(i)*tt-phi*aw3(i)*tt;
xw4(i+1)=xw4(i)+vw4(i)*tt+(0.5+psi)*aw4(i)*tt^2-psi*aw4(i)*tt^2;
vw4(i+1)=vw4(i)+(1+phi)*aw4(i)*tt-phi*aw4(i)*tt;
i=i+1;
fort=0.0001:
(tz/n):
(tz/3)
%车体模型
Fs1(i)=ks*(xb1(i)-lc*thetc(i)-xc(i))+cs*(vb1(i)-lc*omegac(i)-vc(i));
Fs2(i)=ks*(xb2(i)+lc*thetc(i)-xc(i))+cs*(vb2(i)+lc*omegac(i)-vc(i));
Fp1(i)=kp*(xw1(i)+lb*thetb1(i)-xb1(i))+cp*(vw1(i)+lb*omegab1(i)-vb1(i));
Fp2(i)=kp*(xw2(i)-lb*thetb1(i)-xb2(i))+cp*(vw2(i)-lb*omegab1(i)-vb1(i));
Fp3(i)=kp*(xw3(i)+lb*thetb2(i)-xb2(i))+cp*(vw3(i)+lb*omegab2(i)-vb2(i));
Fp4(i)=kp*(xw4(i)-lb*thetb2(i)-xb2(i))+cp*(vw4(i)-lb*omegab2(i)-vb2(i));
Fw1(i)=kr*(xx1(i)-xw1(i));
Fw2(i)=kr*(xx2(i)-xw2(i));
Fw3(i)=kr*(xx3(i)-xw3(i));
Fw4(i)=kr*(xx4(i)-xw4(i));
ab1(i)=(Fp1(i)+Fp2(i)-Fs1(i)-mb*g)/mb;
ab2(i)=(Fp3(i)+Fp4(i)-Fs2(i)-mb*g)/mb;
alphab1(i)=lb*(Fp2(i)-Fp1(i))/Ib;
alphab2(i)=lb*(Fp4(i)-Fp3(i))/Ib;
ac(i)=(Fs1(i)+Fs2(i)-mc*g)/mc;
alphac(i)=lc*(Fs1(i)-Fs2(i))/Ic;
aw1(i)=(Fw1(i)-Fp1(i)-mw*g)/mw;
aw2(i)=(Fw2(i)-Fp2(i)-mw*g)/mw;
aw3(i)=(Fw3(i)-Fp3(i)-mw*g)/mw;
aw4(i)=(Fw4(i)-Fp4(i)-mw*g)/mw;
%数值积分
xc(i+1)=xc(i)+vc(i)*tt+(0.5+psi)*ac(i)*tt^2-psi*ac(i-1)*tt^2;
vc(i+1)=vc(i)+(1+phi)*ac(i)*tt-phi*ac(i-1)*tt;
thetc(i+1)=thetc(i)+omegac(i)*tt+(0.5+psi)*alphac(i)*tt^2-psi*alphac(i-1)*tt^2;
omegac(i+1)=omegac(i)+(1+phi)*alphac(i)*tt-phi*alphac(i-1)*tt;
xb1(i+1)=xb1(i)+vb1(i)*tt+(0.5+psi)*ab1(i)*tt^2-psi*ab1(i-1)*tt^2;
vb1(i+1)=vb1(i)+(1+phi)*ab1(i)*tt-phi*ab1(i-1)*tt;
thetb1(i+1)=thetb1(i)+omegab1(i)*tt+(0.5+psi)*alphab1(i)*tt^2-psi*alphab1(i-1)*tt^2;
omegab1(i+1)=omegab1(i)+(1+phi)*alphab1(i)*tt-phi*alphab1(i-1)*tt;
xb2(i+1)=xb2(i)+vb2(i)*tt+(0.5+psi)*ab2(i)*tt^2-psi*ab2(i-1)*tt^2;
vb2(i+1)=vb2(i)+(1+phi)*ab2(i)*tt-phi*ab2(i-1)*tt;
thetb2(i+1)=thetb2(i)+omegab2(i)*tt+(0.5+psi)*alphab2(i)*tt^2-psi*alphab2(i-1)*tt^2;
omegab2(i+1)=omegab2(i)+(1+phi)*alphab2(i)*tt-phi*alphab2(i-1)*tt;
xw1(i+1)=xw1(i)+vw1(i)*tt+(0.5+psi)*aw1(i)*tt^2-psi*aw1(i-1)*tt^2;
vw1(i+1)=vw1(i)+(1+phi)*aw1(i)*tt-phi*aw1(i-1)*tt;
xw2(i+1)=xw2(i)+vw2(i)*tt+(0.5+psi)*aw2(i)*tt^2-psi*aw2(i-1)*tt^2;
vw2(i+1)=vw2(i)+(1+phi)*aw2(i)*tt-phi*aw2(i-1)*tt;
xw3(i+1)=xw3(i)+vw3(i)*tt+(0.5+psi)*aw3(i)*tt^2-psi*aw3(i-1)*tt^2;
vw3(i+1)=vw3(i)+(1+phi)*aw3(i)*tt-phi*aw3(i-1)*tt;
xw4(i+1)=xw4(i)+vw4(i)*tt+(0.5+psi)*aw4(i)*tt^2-psi*aw4(i-1)*tt^2;
vw4(i+1)=vw4(i)+(1+phi)*aw4(i)*tt-phi*aw4(i-1)*tt;
i=i+1;
end
fort=(tz/3+0.0001):
0.0001:
tz
%激扰
xx1(i)=0.05*sin(1*pi*t);
xx2(i)=0.05*sin(2*pi*t);
xx3(i)=0.05*sin(3*pi*t);
xx4(i)=0.05*sin(4*pi*t);
%车体模型
Fs1(i)=ks*(xb1(i)-lc*thetc(i)-xc(i))+cs*(vb1(i)-lc*omegac(i)-vc(i));
Fs2(i)=ks*(xb2(i)+lc*thetc(i)-xc(i))+cs*(vb2(i)+lc*omegac(i)-vc(i));
Fp1(i)=kp*(xw1(i)+lb*thetb1(i)-xb1(i))+cp*(vw1(i)+lb*omegab1(i)-vb1(i));
Fp2(i)=kp*(xw2(i)-lb*thetb1(i)-xb2(i))+cp*(vw2(i)-lb*omegab1(i)-vb1(i));
Fp3(i)=kp*(xw3(i)+lb*thetb2(i)-xb2(i))+cp*(vw3(i)+lb*omegab2(i)-vb2(i));
Fp4(i)=kp*(xw4(i)-lb*thetb2(i)-xb2(i))+cp*(vw4(i)-lb*omegab2(i)-vb2(i));
Fw1(i)=kr*(xx1(i)-xw1(i));
Fw2(i)=kr*(xx2(i)-xw2(i));
Fw3(i)=kr*(xx3(i)-xw3(i));
Fw4(i)=kr*(xx4(i)-xw4(i));
ab1(i)=(Fp1(i)+Fp2(i)-Fs1(i)-mb*g)/mb;
ab2(i)=(Fp3(i)+Fp4(i)-Fs2(i)-mb*g)/mb;
alphab1(i)=lb*(Fp2(i)-Fp1(i))/Ib;
alphab2(i)=lb*(Fp4(i)-Fp3(i))/Ib;
ac(i)=(Fs1(i)+Fs2(i)-mc*g)/mc;
alphac(i)=lc*(Fs1(i)-Fs2(i))/Ic;
aw1(i)=(Fw1(i)-Fp1(i)-mw*g)/mw;
aw2(i)=(Fw2(i)-Fp2(i)-mw*g)/mw;
aw3(i)=(Fw3(i)-Fp3(i)-mw*g)/mw;
aw4(i)=(Fw4(i)-Fp4(i)-mw*g)/mw;
ifi==n
break;
end
%数值积分
xc(i+1)=xc(i)+vc(i)*tt+(0.5+psi)*ac(i)*tt^2-psi*ac(i-1)*tt^2;
vc(i+1)=vc(i)+(1+phi)*ac(i)*tt-phi*ac(i-1)*tt;
thetc(i+1)=thetc(i)+omegac(i)*tt+(0.5+psi)*alphac(i)*tt^2-psi*alphac(i-1)*tt^2;
omegac(i+1)=omegac(i)+(1+phi)*alphac(i)*tt-phi*alphac(i-1)*tt;
xb1(i+1)=xb1(i)+vb1(i)*tt+(0.5+psi)*ab1(i)*tt^2-psi*ab1(i-1)*tt^2;
vb1(i+1)=vb1(i)+(1+phi)*ab1(i)*tt-phi*ab1(i-1)*tt;
thetb1(i+1)=thetb1(i)+omegab1(i)*tt+(0.5+psi)*alphab1(i)*tt^2-psi*alphab1(i-1)*tt^2;
omegab1(i+1)=omegab1(i)+(1+phi)*alphab1(i)*tt-phi*alphab1(i-1)*tt;
xb2(i+1)=xb2(i)+vb2(i)*tt+(0.5+psi)*ab2(i)*tt^2-psi*ab2(i-1)*tt^2;
vb2(i+1)=vb2(i)+(1+phi)*ab2(i)*tt-phi*ab2(i-1)*tt;
thetb2(i+1)=thetb2(i)+omegab2(i)*tt+(0.5+psi)*alphab2(i)*tt^2-psi*alphab2(i-1)*tt^2;
omegab2(i+1)=omegab2(i)+(1+phi)*alphab2(i)*tt-phi*alphab2(i-1)*tt;
xw1(i+1)=xw1(i)+vw1(i)*tt+(0.5+psi)*aw1(i)*tt^2-psi*aw1(i-1)*tt^2;
vw1(i+1)=vw1(i)+(1+phi)*aw1(i)*tt-phi*aw1(i-1)*tt;
xw2(i+1)=xw2(i)+vw2(i)*tt+(0.5+psi)*aw2(i)*tt^2-psi*aw2(i-1)*tt^2;
vw2(i+1)=vw2(i)+(1+phi)*aw2(i)*tt-phi*aw2(i-1)*tt;
xw3(i+1)=xw3(i)+vw3(i)*tt+(0.5+psi)*aw3(i)*tt^2-psi*aw3(i-1)*tt^2;
vw3(i+1)=vw3(i)+(1+phi)*aw3(i)*tt-phi*aw3(i-1)*tt;
xw4(i+1)=xw4(i)+vw4(i)*tt+(0.5+psi)*aw4(i)*tt^2-psi*aw4(i-1)*tt^2;
vw4(i+1)=vw4(i)+(1+phi)*aw4(i)*tt-phi*aw4(i-1)*tt;
i=i+1;
end
tw=linspace(0,tz/3,n/3);
t=linspace(0,2*tz/3,2*n/3);
%无激扰绘图
xc_xb1figure=figure
(1);
plot(tw,xc(1:
30000),tw,xb1(1:
30000),'r-.');
gridon;xlabel('Time(s)'),ylabel('x(m)'),title('车体c与转向架b1的沉浮位移');
legend('车体c','转向架b1');
xb1_xb2figure=figure
(2);
plot(tw,xb1(1:
30000),tw,xb2(1:
30000),'r-.');
gridon;xlabel('Time(s)'),ylabel('x(m)'),title('转向架b1与转向架b2的沉浮位移');
legend('转向架b1','转向架b2');
xw1_xw3figure=figure(3);
plot(tw,xw1(1:
30000),tw,xw3(1:
30000),'r-.');
gridon;xlabel('Time(s)'),ylabel('x(m)'),title('轮对1与轮对3的沉浮位移');
legend('轮对1','轮对3');
thetc_thetb1figure=figure(4);
plot(tw,thetc(1:
30000),tw,thetb1(1:
30000),'r-.');
gridon;xlabel('Time(s)'),ylabel('thet(rad)'),title('车体c与转向架b1的点头角位移');
legend('车体c','转向架b1');
vc_vb1figure=figure(5);
plot(tw,vc(1:
30000),tw,vb1(1:
30000),'r-.');
gridon;xlabel('Time(s)'),ylabel('v(m/s)'),title('车体c与转向架b1的沉浮速度');
legend('车体c','转向架b1');
vb1_vb2figure=figure(6);
plot(tw,vb1(1:
30000),tw,vb2(1:
30000),'r-.');
gridon;xlabel('Time(s)'),ylabel('v(m/s)'),title('转向架b1与转向架b2的沉浮速度');
legend('转向架b1','转向架b2');
vw1_vw3figure=figure(7);
plot(tw,vw1(1:
30000),tw,vw3(1:
30000),'r-.');
gridon;xlabel('Time(s)'),ylabel('v(m/s)'),title('轮对1与轮对3的沉浮速度');
legend('轮对','轮对3');
omegac_omegab1figure=figure(8);
plot(tw,omegac(1:
30000),tw,omegab1(1:
30000),'r-.');
gridon;xlabel('Time(s)'),ylabel('omega(rad/s)'),title('车体c与转向架b1的点头角速度');
legend('车体c','转向架b1');
ac_ab1figure=figure(9);
plot(tw,ac(1:
30000),tw,ab1(1:
30000),'r-.');
gridon;xlabel('Time(s)'),ylabel('v(m/s2)'),title('车体c与转向架b1的沉浮加速度');
legend('车体c','转向架b1');
ab1_ab2figure=figure(10);
plot(tw,ab1(1:
30000),tw,ab2(1:
30000),'r-.');
gridon;xlabel('Time(s)'),ylabel('v(m/s2)'),title('转向架b1与转向架b2的沉浮加速度');
legend('转向架b1','转向架b2');
aw1_aw3figure=figure(11);
plot(tw,a