假设一辆列车在水平轨道上运行,从站台A运行至站台B,其间距为5144.7m,运行的速度上限为100km/h,列车质量为176.3t,列车电机的最大牵引力为310KN,机械制动部件的最大制动力为760KN。列车受到的阻力满足Davis阻力方程f = 2.0895 + 0.0098*v + 0.006v*v,该公式中的速度单位为m/s,阻力单位为KN,matlab通过建模方法编写程序以获得列车运行过程的速度-距离曲线
时间: 2023-06-18 07:04:34 浏览: 227
以下是一个简单的 MATLAB 代码,用于计算列车在水平轨道上从站台A到站台B的速度-距离曲线:
```matlab
% 初始参数
v0 = 0; % 初始速度为0
s0 = 0; % 初始距离为0
s_end = 5144.7; % 终点距离为5144.7m
m = 176.3 * 1000; % 列车质量,单位kg
F_max = 310000; % 最大牵引力,单位N
F_brk = 760000; % 最大制动力,单位N
v_max = 100 / 3.6; % 速度上限,单位m/s
% Davis阻力方程
f = @(v) 2.0895 + 0.0098*v + 0.006*v.^2;
% 时间步长,单位s
dt = 0.1;
% 初始化曲线数据
v = v0;
s = s0;
v_data = v;
s_data = s;
% 计算曲线
while s < s_end
% 计算阻力
F_resist = f(v) * m;
% 根据阻力和最大牵引力计算加速度
if v <= v_max && F_max > F_resist
a = (F_max - F_resist) / m;
elseif v > v_max || F_max <= F_resist
a = -F_resist / m;
end
% 根据加速度和时间步长计算速度和距离
v = v + a * dt;
s = s + v * dt;
% 计入曲线数据
v_data(end+1) = v;
s_data(end+1) = s;
end
% 绘制速度-距离曲线
plot(s_data, v_data);
xlabel('距离(m)');
ylabel('速度(m/s)');
title('列车运行过程的速度-距离曲线');
```
该程序首先定义了问题的初始参数和Davis阻力方程。然后,它使用一个while循环来计算列车在轨道上的运行过程。在每个时间步长中,程序计算列车受到的阻力、最大牵引力和最大制动力,并根据这些力计算列车的加速度。然后,程序使用加速度和时间步长计算列车在距离和速度上的变化,并将这些值添加到速度-距离曲线数据中。最后,程序绘制速度-距离曲线。
阅读全文