📄 计算汽车动力性.m
字号:
%%此程序可用来画汽车驱动力行驶阻力图,加速度倒数——行驶速度图像,能够求出最大车速,最大爬坡度,和加速时间
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) %最大爬坡度
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -