我在我的模型中建模扩散,但我认为我得到了一个计算工件由于NetLogo顺序更新个别补丁。我不会使用漫射命令(因为扩散不准确)。但是,就像这个命令的工作方式一样,我想同时更新补丁的所有计算,而不是顺序更新。我有点回忆起在tick开头使用值的一些示例代码,但是我现在似乎找不到它。
具体来说,我需要帮助编程一种方法来存储每个滴答的转角处的补丁值,然后根据这些存储的值同时进行计算。
发布于 2014-09-22 17:25:27
问得好。正如您所指出的,基本上您希望在一个ask块中计算变量的新值,但将其存储在单独的变量中,然后在第二个ask块中更新变量的实际值,如下所示:
turtles-own [
value
new-value
]
...
to go
ask patches [
;; Change this line to however you want the diffusion to work
set new-value 0.5 * value + sum [ 0.5 * value / 4 ] of neighbors4
]
ask patches [
set value new-value
]
end这样,所有补丁程序都会根据相同的信息计算它们更新的值,然后实际同时更新它们自己的值。
https://stackoverflow.com/questions/25976846
复制相似问题