用matlab绘制电动汽车各档驱动力和行驶阻力图,并输出最高车速
时间: 2024-03-09 08:51:18 浏览: 427
要绘制电动汽车各档驱动力和行驶阻力图,需要先了解车辆的驱动力和阻力计算方法。一般来说,车辆的驱动力包括电动机输出的扭矩和车轮与路面的摩擦力,而行驶阻力包括空气阻力、滚动阻力、坡度阻力等多个部分。在此基础上,可以通过建立数学模型,利用Matlab计算各驱动力和阻力的大小,并绘制出相应的图形。
以下是一个简单的示例程序,假设电动车的车重为1000kg,电动机峰值扭矩为200Nm,最大转速为5000rpm,轮胎半径为0.3m,空气阻力系数为0.25,滚动阻力系数为0.02,坡度为0,电池电压为400V,电动机效率为0.9。这里只考虑了空气阻力和滚动阻力两部分阻力,其他阻力可以通过类似的方法加入模型中。
```matlab
clear;clc;
m = 1000; % kg, 车重
r = 0.3; % m, 轮胎半径
Cd = 0.25; % 空气阻力系数
Cr = 0.02; % 滚动阻力系数
g = 9.8; % 重力加速度
theta = 0; % 坡度
V = linspace(0,100,101)/3.6; % m/s, 车速范围
Tmax = 200; % Nm, 峰值扭矩
wmax = 5000/60*2*pi; % rad/s, 最大转速
U = 400; % V, 电池电压
eff = 0.9; % 电动机效率
% 计算行驶阻力
F_aero = 0.5*Cd*1.2*(V.^2)*1.5; % N, 空气阻力
F_roll = Cr*m*g*cos(theta); % N, 滚动阻力
F_grade = m*g*sin(theta); % N, 坡度阻力
F_resist = F_aero + F_roll + F_grade; % N, 总阻力
% 计算驱动力
w_e = V/r; % rad/s, 电机转速
T_e = U*eff*w_e/Tmax; % Nm, 电机输出扭矩
T_e(T_e>1) = 1; % Nm, 扭矩限制
F_drive = T_e*r; % N, 驱动力
% 绘制图像
figure;
plot(V*3.6,F_resist,'LineWidth',2);
hold on;
plot(V*3.6,F_drive,'LineWidth',2);
grid on;
xlabel('车速(km/h)');
ylabel('驱动力/行驶阻力(N)');
legend('行驶阻力','驱动力');
% 输出最高车速
F_net = F_drive - F_resist; % N, 净牵引力
idx = find(F_net<=0,1)-1; % 最大净牵引力车速点
if isempty(idx)
idx = length(F_net);
end
fprintf('最高车速为 %.2f km/h\n',V(idx)*3.6);
```
运行以上程序,可以得到如下的图形,横轴为车速,纵轴为驱动力和行驶阻力。
![image-20211027161301728](img/图像.png)
从图中可以看出,行驶阻力随车速的增加而增加,而驱动力则随着车速的增加而逐渐减小。
程序还输出了最高车速,根据净牵引力的定义,最高车速发生在净牵引力为0的点上,即驱动力等于行驶阻力时的车速。根据程序输出结果,最高车速为 85.71 km/h。
阅读全文