汽车理论课后习题MATLAB编程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
汽车理论MATLAB编程
(第1-4章)
第一章
m=3880;
g=9.8;
r=0.367;
x=0.85;
f=0.013;
io=5.83;
CdA=2.77;
If=0.218;
Iw1=1.798;
Iw2=3.598;
Iw=Iw1+Iw2;
ig=[6.09 3.09 1.71 1.00]; %变速器传动比
L=3.2;
a=1.947;
hg=0.9;
n=600:1:4000;
T=-19.313+295.27*n/1000-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4; Ft1=T*ig(1)*io*x/r;%计算各档对应转速下的驱动力
Ft2=T*ig(2)*io*x/r;
Ft3=T*ig(3)*io*x/r;
Ft4=T*ig(4)*io*x/r;
u1=0.377*r*n/(io*ig(1));
u2=0.377*r*n/(io*ig(2));
u3=0.377*r*n/(io*ig(3));
u4=0.377*r*n/(io*ig(4));
u=0:130/3400:130;
F1=m*g*f+CdA*u1.^2/21.15;%计算各档对应转速下的驱动阻力
F2=m*g*f+CdA*u2.^2/21.15;
F3=m*g*f+CdA*u3.^2/21.15;
F4=m*g*f+CdA*u4.^2/21.15;
figure(1);
plot(u1,Ft1,'-r',u2,Ft2,'-m',u3,Ft3,'-k',u4,Ft4,'-b',u1,F1,'-r',u2,F2,'-m',u3,F3,'-k',u4,F4,'-b','LineWidth',2)
title('汽车驱动力与阻力平衡图');
xlabel('u_{a}/km.h^{-1}')
ylabel('F/N')
gtext('F_{t1}')
gtext('F_{t2}')
gtext('F_{t3}')
gtext('F_{t4}')
gtext('F_{f}+F_{w}')
%由汽车驱动力与阻力平衡图知,他们无交点,u4在最大转速时达到最大umax=u4(3401)
Ft1max=max(Ft1);
imax=(Ft1max-m*g*f)/(m*g)
disp('假设是后轮驱动');
C=imax/(a/L+hg*imax/L) % 附着率
delta1=1+(Iw1+Iw2)/(m*r^2)+If*ig(1)*r^2*io^2*x/(m*r^2);
delta2=1+(Iw1+Iw2)/(m*r^2)+If*ig(2)*r^2*io^2*x/(m*r^2);
delta3=1+(Iw1+Iw2)/(m*r^2)+If*ig(3)*r^2*io^2*x/(m*r^2);
delta4=1+(Iw1+Iw2)/(m*r^2)+If*ig(4)*r^2*io^2*x/(m*r^2);
a1=(Ft1-F1)/(delta1*m); %加速度
a2=(Ft2-F2)/(delta2*m);
a3=(Ft3-F3)/(delta3*m);
a4=(Ft4-F4)/(delta4*m);
h1=1./a1; %加速度倒数
h2=1./a2;
h3=1./a3;
h4=1./a4;
figure(2);
plot(u1,h1,u2,h2,u3,h3,u4,h4,'LineWidth',2);
title('加速度倒数-速度曲线图');
xlabel('u')
ylabel('1/a')
gtext('1/a1')
gtext('1/a2')
gtext('1/a3')
gtext('1/a4')
%由加速度倒数-速度曲线图可知
u1min=min(u1);
u1max=max(u1);
u2min=u1max;
u2min=min(u2);
u2max=max(u2);
u3min=u2max;
u3max=max(u3);
u4min=u3max;
u4max=70;
x1=[];
x2=[];
x3=[];
x4=[];
y=3401;
for i=1:3401;
if u3(i)<=u3min;
x1=[i];
end
end
q1=max(x1);
ua3=u3(q1:y);
a3=h3(q1:y);
for i=1:3401;
if u4(i)<=u4min;
x2=[i];
elseif u4(i)<=u4max;
x3=[i];
end
end
q2=max(x2);
q3=max(x3);
ua4=u4(q2:q3);
a4=h4(q2:q3);
s1=trapz(h2,u2 ); %二挡运行时间s2=trapz(ua3,a3);
s3=trapz(ua4,a4);
s=[s1 s2 s3];
disp('积分得')
t=sum(s)*1000/3600 %总时间