圈时模拟器车(MATLAB)

时间:2019-11-14 20:36:07

标签: matlab simulation

我目前正在尝试制作一个单圈时间模拟器来提高汽车的点质量。我为引擎及其速度制作了一个模型,如下所示。但是我遇到了一个问题,即转速(engine_speed)高于14000时,转速不会下降,这将导致变速。我该如何改善

car.torque = [4 7 10 12.5 14.5 25 30.5 30.5 35.5 45.6 44.8 39.4 33.8 34 13 4];
car.engine_speed = [1 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 12000 13000 14000 15000] .* 2 * pi / 60;
car.torque_spline = spline(car.engine_speed, car.torque);

%This is within a while loop
    model.wheel_speed = model.vx(idx-1) ./ car.wheel_radius;
    model.engine_speed = model.wheel_speed .* (car.gearbox .* car.gear_ratio);
    model.engine_speed = min(14000 * (2 * pi / 60), max(0, model.engine_speed));

1 个答案:

答案 0 :(得分:0)

从您的代码段中可以看出,当wheel_speed增加时,仅当gear_ratio或gear_box更改时,engine_speed才能降低。齿轮变量在哪里设置或建模?

评论:我认为您不需要在第2或4行中使用。*或./。。*和./仅在按元素对数组进行乘法/除法时才需要。在这种情况下,您要将数组的每个元素乘以/除以一个数字。