我在道路运输图书馆上建立了模型,在高速公路上有驶出出口的汽车。由于实际高速公路上的速度为70mph,出口处的速度为40mph,因此我想将出口处的汽车速度从70mph降低到40mph。
设置
我有一个cars
人口,这些人口是建立在自定义代理Car
上的。
carSource
的{{1}}和initialSpeed
时速为70英里。 preferredSpeed
与二进制carSource
配对,以40%的概率离开出口,接着是两个selectOutput
节点,一个为出口,另一个为沿高速公路。< / p>
我假设我们可以通过将moveTo
动作指定为moveTo
来更改onEnter
节点中(到出口的)汽车代理商的速度(因为40mph是每英里18米第二)。但是,这似乎并没有影响出口处汽车的速度(当我在模拟中盯上它时)。另外,在模型中花费的时间也不会改变。
关于如何更改car.setPreferredSpeed(18);
退出道路的业务代表速度的任何建议?
答案 0 :(得分:2)
您已经正确开发了模型。但是使用道路交通库时,您应该考虑以下几点:
在道路交通资料库中,汽车的速度会根据汽车的当前速度,首选速度,最大和最小加速度以及道路配置和交通状况逐渐变化。因此,当您根据汽车的减速速度(默认为4.2 mps2)和当前速度(可能为70 MPH)将汽车的首选速度设置为40 MPH时,会花一些时间来降低速度,而且这种速度不会很快发生。为了感觉到汽车的速度降低,您可以执行以下操作之一:a)延长carSorce
中出现汽车的道路的长度,以使汽车有更多的时间在到达出口之前降低速度。 b)增加汽车的减速度。
您可以使用setPreferredSpeed(40, SpeedUnits.MPH)
,而无需将速度单位更改为MPS
PS:为了确保建模没有问题,作为测试,请在onEnter
的{{1}}部分中将汽车的首选速度设置为0,然后检查它们是否停止过一会儿。