我正在尝试设计一个模型,用于将感染从人传播到环境。海龟有一个手污染变量,显示他们的手被污染的百分比。我想把这个数字给他们通过的补丁,但我得到一个错误,说这是一个乌龟唯一的变量。是否有可能给补丁一个手污染数?这是我的代码的一部分:
turtles-own [hand contamination]
patches-own [p-contamination]
ask patches [set p-contamination hand-contamination]

补丁不能直接引用海龟变量:如果那里有不止一只海龟怎么办?
但是,海龟可以访问它所在的补丁的变量。因此,您可能会从海龟的角度进行此操作:我认为这在逻辑上也是有意义的,因为它是海龟访问补丁并污染它。
;; turtles contaminate the patch they are standing on
ask turtles [ set p-contamination hand-contamination]
请注意,如果一个补丁上有多个乌龟,它们将覆盖彼此的值。因此,您可能需要添加数量,或者混合两个值,而不是替换它。
如果有更多的海龟比补丁,或者你真的希望补丁是在控制的东西,补丁可以寻找海龟和 acess 变量与OF
:
ask patches
[ let visitors turtles-here
if any? visitors
[ set p-contamination ..some expression..
所以,这取决于你的需求,你必须决定这个价值是什么。
最多只有一只乌龟:
[ Contamination ] of one-of visitors
即使许多海龟,随机挑选一个:
[ contamination ] of one-of visitors
使用受污染最严重的访客的值:
(max (sentence [ contamination ] of visitors))
平均污染值
(mean (sentence [ contamination ] of visitors))
...或者你选择的其他表达
如果您需要获取该变量的补丁当前值,则需要决定如何:
如果已被污染,应:
独自留下价值
将海龟值添加到 P 污染的当前值
保存两个值的最大值
保存两个值的平均值
以其他方式混合它们
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(41条)