用matlab 计算电动车最高车速
时间: 2023-08-23 08:38:36 浏览: 101
要计算电动车的最高车速,需要知道电动车的功率和重量,以及车辆的空气阻力系数和轮胎滚动阻力系数。下面是一种简单的方法,可以用MATLAB进行计算:
假设你已经知道了电动车的功率P,重量m,空气阻力系数Cd,轮胎滚动阻力系数Crr,以及车辆的前面积A和空气密度rho,可以按如下方式计算最高车速:
``` matlab
% 电动车的功率P,重量m,空气阻力系数Cd,轮胎滚动阻力系数Crr
P = 50; % kW
m = 1500; % kg
Cd = 0.3;
Crr = 0.01;
% 车辆的前面积A和空气密度rho
A = 2.5; % m^2
rho = 1.2; % kg/m^3
% 计算最高车速
g = 9.8; % 重力加速度
v = sqrt((2 * P * 1000) / (rho * A * Cd) + (m * g * Crr) / (rho * A * Cd)); % m/s
v_kmh = v * 3.6; % km/h
fprintf('电动车的最高车速为%.2f km/h。\n', v_kmh);
```
其中,P的单位是千瓦,m的单位是千克,A的单位是平方米,rho的单位是千克/立方米,Cd和Crr是无量纲的系数。计算得到的最高车速单位是米/秒,需要转换成千米/小时,即乘以3.6。
这个方法是一个简化的模型,只考虑了空气阻力和轮胎滚动阻力对车速的影响,没有考虑其他因素,如转向阻力、制动力等。因此,计算结果仅供参考。
相关问题
用matlab中的pos函数 计算电动车最高车速
MATLAB中的pos函数,是用来计算电动车的最高车速的。pos函数是一个MATLAB工具箱中的函数,需要先安装MATLAB工具箱,然后调用函数。下面是使用pos函数计算电动车最高车速的示例代码:
```matlab
% 电动车的功率P,重量m,空气阻力系数Cd,轮胎滚动阻力系数Crr
P = 50; % kW
m = 1500; % kg
Cd = 0.3;
Crr = 0.01;
% 车辆的前面积A和空气密度rho
A = 2.5; % m^2
rho = 1.2; % kg/m^3
% 计算最高车速
options = simset('SrcWorkspace', 'current');
sim('pos', [], options);
fprintf('电动车的最高车速为%.2f km/h。\n', v_max);
```
在使用pos函数之前,需要先下载pos函数所在的MATLAB工具箱,并将其添加到MATLAB的搜索路径中。在上面的示例代码中,我们使用了MATLAB自带的sim函数,来调用pos函数。在调用sim函数时,我们使用了一个options参数,用来指定模拟时使用的设置。具体来说,我们将SrcWorkspace设置为current,这样可以将当前的工作区作为模拟的输入。然后,我们调用sim函数,将模拟结果存储在v_max变量中。最后,我们使用fprintf函数输出计算结果。
需要注意的是,使用pos函数计算电动车最高车速时,需要提供的参数与上面使用的方法是相同的。pos函数的计算方法是基于一个更为复杂的模型,它考虑了更多的因素,如车辆的气动性能、转向阻力、制动力等。因此,使用pos函数可以得到更加准确的计算结果。
用matlab绘制电动汽车各档驱动力和行驶阻力图,并输出最高车速
要绘制电动汽车各档驱动力和行驶阻力图,需要先了解车辆的驱动力和阻力计算方法。一般来说,车辆的驱动力包括电动机输出的扭矩和车轮与路面的摩擦力,而行驶阻力包括空气阻力、滚动阻力、坡度阻力等多个部分。在此基础上,可以通过建立数学模型,利用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。