使用 Netlogo "Go" 过程的转换抑制
Transition inhibition with Netlogo "Go" procedure
我有两个程序(Levy Walk 和 Correlated Random Walk 运动策略,每个都有自己的调试按钮,以及在 netlogo 界面上的自己的参数集),但我也嵌入了上述两个程序在单个 "Go" 程序中进行批量模拟处理,代码实现如下:
to setup
clear-all
create-turtles 100 [ setxy random-xcor random-ycor ]
reset-ticks
end
to Correlated-Random-Walk
rt random 360
fd 1
end
to Levy-Walk
rt random 90
fd 2
end
to go
Correlated-Random-Walk
tick
if ticks = 1000 [
setup
stop
Levy-Walk
if ticks = 1000 [
setup
stop
]
]
end
"Go" 程序代码的上述部分应该采用相关的随机游走程序并在模拟的整个持续时间(1000 个刻度)内执行它,然后停止,重置(设置)世界并在整个模拟期间(也是 100 个刻度)执行 levy walk 程序,然后停止。就像现在一样,代码针对相关的随机游走执行,但不会继续执行 levy 游走过程。它只是重复相关随机游走过程。可能是什么问题?
您的 stop
命令将停止 go
程序。 (请参阅文档。)以下是否满足您的需求?
to go1000each
repeat 1000 [Correlated-Random-Walk tick]
setup
repeat 1000 [Levy-Walk tick]
end
如果为此制作一个按钮,它应该而不是永久按钮。
我有两个程序(Levy Walk 和 Correlated Random Walk 运动策略,每个都有自己的调试按钮,以及在 netlogo 界面上的自己的参数集),但我也嵌入了上述两个程序在单个 "Go" 程序中进行批量模拟处理,代码实现如下:
to setup
clear-all
create-turtles 100 [ setxy random-xcor random-ycor ]
reset-ticks
end
to Correlated-Random-Walk
rt random 360
fd 1
end
to Levy-Walk
rt random 90
fd 2
end
to go
Correlated-Random-Walk
tick
if ticks = 1000 [
setup
stop
Levy-Walk
if ticks = 1000 [
setup
stop
]
]
end
"Go" 程序代码的上述部分应该采用相关的随机游走程序并在模拟的整个持续时间(1000 个刻度)内执行它,然后停止,重置(设置)世界并在整个模拟期间(也是 100 个刻度)执行 levy walk 程序,然后停止。就像现在一样,代码针对相关的随机游走执行,但不会继续执行 levy 游走过程。它只是重复相关随机游走过程。可能是什么问题?
您的 stop
命令将停止 go
程序。 (请参阅文档。)以下是否满足您的需求?
to go1000each
repeat 1000 [Correlated-Random-Walk tick]
setup
repeat 1000 [Levy-Walk tick]
end
如果为此制作一个按钮,它应该而不是永久按钮。