我正在尝试模拟我的代理对其补丁景观的影响,即在一段时间内收获谷物。我有一个补丁 - 拥有penergy
的变量,我想在一段时间内在行为空间中绘制总penergy
。我知道如何做到这一点,但我不认为我这样做是最有效的方式。
为了使问题复杂化,我有多种谷物类型,即ptype
。我想独立地绘制这些类型。
to patch-health
if ptype = 1[
let new-penergy min(list 10 (penergy))
let diff (new-penergy - penergy)
set Wheat-health ((sum ptype1-health) + diff)
]
if ptype = 0 [
let new-penergy min(list 10 (penergy))
let diff (new-penergy - penergy)
set Barley-health ((sum ptype0-health) + diff)
]
end
to-report ptype1-health
if ptype = 1 [
report [penergy] of patches
]
end
to-report ptype0-health
if ptype = 0 [
report [penergy] of patches
]
end
它生成每个补丁penergy
的列表,但我添加了sum pytpe0-health
函数将列表转换为总penergy
。情节有效,但模型陷入困境,运行速度很慢。
我想想这很容易,但似乎无法弄明白。有没有更有效的方法来实现类似的结果?