
汽车动力性计算matlab程序(共2页).doc
2页精选优质文档-----倾情为你奉上%%此程序可用来画汽车驱动力行驶阻力图,加速度倒数——行驶速度图像,能够求出最大车速,最大爬坡度,和加速时间 clear %清空内存 clc %清屏幕 n_min=600 ; n_max=4000; %发动机最高、最低转速 r=0.367; elta_t=0.85; i_0=5.83; m=3880;C_DA=2.77;f=0.013; G=m*9.8; I_w1=1.798;I_w2=3.598;I_f=0.218; %各个常量 i_g=[5.56,2.769,1.644,1.00,0.793]; %各档位变速器传动比 u=0:0.1:r*2*pi*3.6*n_max/i_g(5)/i_0/60; %自变量u从0到最高按一定间距增加 T=size(u); F_t=ones(5,T(2)); %发动机驱动力矩阵 for i=1:5 for j=1:T(2) if((u(j)>=r*2*pi*3.6*n_min/i_g(i)/i_0/60)&&(u(j)=r*2*pi*3.6*n_max/i_g(i)/i_0/60)) %比较是否在这一档位的转速范围之内 F_t(i,j)=ft(u(j),i); %调用函数求出在该档位和转速下的驱动力 else F_t(i,j)=0; %如果转速不再限定范围之内,则赋值为0 end end end F_f=f*G; %滚动阻力 F_w=C_DA*power(u,2)/21.15; %风阻 F_fw=F_f+F_w; %总阻力 plot(u,F_t(1,:),u,F_t(2,:),u,F_t(3,:),u,F_t(4,:),u,F_t(5,:),u,F_fw) %画出驱动力-行驶阻力图 axis([0 120 0 15000]) u=find(abs(F_t(5,:)-F_fw)<1)/10 %找到横坐标最大的交点,求出最高速度 delta=1+(I_w1+I_w2)/m/r/r+I_f*power(i_g*i_0,2)*elta_t/m/r/r; %δ大小 a=ones(5,T(2)); for i=1:5 a(i,:)=(F_t(i,:)-F_fw)/delta(i)/m; end plot(u,1./a(1,:),u,1./a(2,:),u,1./a(3,:),u,1./a(4,:),u,1./a(5,:)); %画出1/a-u曲线 axis([0 120 0 10]) u2_min=r*2*pi*3.6*n_min/i_g(2)/i_0/60; u2_max=r*2*pi*3.6*n_max/i_g(2)/i_0/60; %二档最高最低车速 u3_max=r*2*pi*3.6*n_max/i_g(3)/i_0/60; %三档最高车速 t1=u2_min*1/a(2,round(u2_min*10)+2); %以二档最低车速恒定起步时间 t2=aver(round(u2_min*10),round(u2_max*10),1./a(2,:))*(u2_max-u2_min); %二档行驶时间 t3=aver(round(u2_max*10),round(u3_max*10),1./a(3,:))*(u3_max-u2_max); %三档行驶时间 t4=aver(round(u3_max*10),700,1./a(4,:))*(70-u3_max); %四档行驶时间 t=(t1+t2+t3+t4)/3.6 %加速总时间 for i=1:5 D(i,:)=(F_t(i,:)-F_w)/G; %动力因数 end D_max=max(max(D)); %DI_max alpha=asin((D_max-f*sqrt(1-D_max^2+f^2))/1+f^2); %α_max i_max=tan(alpha) %最大爬坡度专心---专注---专业。












