0
我正在模拟一条与双车道道路合并的单车道道路,所有道路都沿相同方向行驶。未合并的汽车(汽车1)检查半径为2的汽车是否需要更换到左侧车道,如果他们这样做,汽车会检查左侧车道以确定它是否安全。Netlogo汽车合并
ask cars1[
if (not any? turtles-at -2 4) and (not any? turtles-at -1 4)
and (not any? turtles-at 0 4) and (not any? turtles-at 1 4)
and (not any? turtles-at 2 4) and (not any? turtles-at 3 4)
and (any? merging-cars in-radius 3)
[ set ycor 2]]
我试图让如果不是在最近的车道cars1切换到左侧车道安全合并汽车停下来。
ask merging-cars[
loop[
if[any? cars1 in-radius 2]
[stop]
]]
这是不工作的代码。我还没有想出一种方法来让合并的汽车在不安全的情况下停下来,并在安全的时候停下来。
谢谢
有没有看过模型库中的“Traffic 2 Lanes”模型?它可以作为合并行为的一个例子 - 模型中的汽车不会发生碰撞,但是只有在他们试图进入的车道中有空间时才会改变车道。 –
是的,我已经看过它,它在我的模拟的某些部分中有很多帮助,但是在这种情况下它并没有帮助。我需要合并汽车检查是否安全,如果不合适,他们需要停下来等到合并安全。 – Emory
没错。你可以编辑你的问题,包括一个可重复的例子(如在[MCVE准则](http://stackoverflow.com/help/mcve))?有几种方法可以满足您的需求,但如果没有看到更多细节和上下文,则很难提出最佳选择。 –