Netlogo:将补丁变量值设置为相邻补丁变量值
Netlogo: Set patch variable value to neighboring patch variable value
我是 NetLogo 的新手,正在尝试模拟反复暴雨后的洪水。该模型每 20 个刻度在随机斑块上生成洪水龟,并具有随机生成的地形。补丁变量包括[water-level] [elevation] [capacity].
海拔是随机生成的,[water-level] = [elevation] + [flood_no],或者海拔加上每个补丁顶部的洪水龟的数量。到目前为止,我已经能够让洪水龟下山了。我的问题是,我希望它们汇集起来,然后在达到每个补丁的 [容量] 后溢出到适当的相邻补丁。
我试图让每个补丁确定其容量,方法是将其等同于在其邻居中找到的最低水位值。然而,当我 运行 模型时,NetLogo 给我的是具有最低水位值的相邻补丁的补丁坐标,而不是实际水位值本身:
patches-own [elevation water-level capacity]
breed [floods flood]
floods-own [flood_no]
ask patches [set capacity min-one-of neighbors [water-level]] ;this gives me the patch coordinates with the lowest water-level out of each patches' neighbors
有什么办法可以改变它,让它给我补丁变量值,而不仅仅是补丁位置?
min-one-of
是关于识别补丁的,所以你可以分两步完成:
ask patches
[ let low-patch set min-one-of neighbors [water-level]
set capacity [water-level] of low-patch
]
但更直接地说,您可以使用 min
:
找到变量的最小值
ask patches [set capacity min [water-level] of neighbors ]
在内部,NetLogo 使用 of
原语为邻近的补丁创建一个水位值列表,然后 min
只取该列表的最小值。所以在两个步骤中,它看起来像:
ask patches
[ let nbr-levels [water-level] of neighbors
set capacity min nbr-levels
]
我是 NetLogo 的新手,正在尝试模拟反复暴雨后的洪水。该模型每 20 个刻度在随机斑块上生成洪水龟,并具有随机生成的地形。补丁变量包括[water-level] [elevation] [capacity].
海拔是随机生成的,[water-level] = [elevation] + [flood_no],或者海拔加上每个补丁顶部的洪水龟的数量。到目前为止,我已经能够让洪水龟下山了。我的问题是,我希望它们汇集起来,然后在达到每个补丁的 [容量] 后溢出到适当的相邻补丁。
我试图让每个补丁确定其容量,方法是将其等同于在其邻居中找到的最低水位值。然而,当我 运行 模型时,NetLogo 给我的是具有最低水位值的相邻补丁的补丁坐标,而不是实际水位值本身:
patches-own [elevation water-level capacity]
breed [floods flood]
floods-own [flood_no]
ask patches [set capacity min-one-of neighbors [water-level]] ;this gives me the patch coordinates with the lowest water-level out of each patches' neighbors
有什么办法可以改变它,让它给我补丁变量值,而不仅仅是补丁位置?
min-one-of
是关于识别补丁的,所以你可以分两步完成:
ask patches
[ let low-patch set min-one-of neighbors [water-level]
set capacity [water-level] of low-patch
]
但更直接地说,您可以使用 min
:
ask patches [set capacity min [water-level] of neighbors ]
在内部,NetLogo 使用 of
原语为邻近的补丁创建一个水位值列表,然后 min
只取该列表的最小值。所以在两个步骤中,它看起来像:
ask patches
[ let nbr-levels [water-level] of neighbors
set capacity min nbr-levels
]