我是NetLogo的新手,我仍然在努力寻找补丁和代理之间的联系。我正在建立一个土地使用变化模型,代理商是农民。我的模型中的补丁有一个" lotid-farmer"价值(知道哪个补丁属于哪个农民;所有这些补丁一起对应于农民的农场)和土地用途"值。我想算一下有多少"土地使用= 1"我在每个" lotid-farmer" (农场)并将其分配给代理商调用的变量"森林大小"。我尝试了很多不同的东西,比如这段代码(不起作用):
(foreach lotid-farmer count patches [ land-use = 1 ] set forest-size )
我想知道是否有人可以解释为什么这句话毫无意义并建议其他可行的方法或教程如何使用" foreach&#34 ;?循环使用NetLogo?提前谢谢。
答案 0 :(得分:1)
lotid是一个值。 foreach需要一个列表和一个命令任务。此外,您的集合运算符没有与之关联的值。
实际上,我不会使用foreach而只是要求农民设置变量。我要假设农民是农民的主人。
ask farmers [
set forest-size count patches with [land-use = 1 and lotid-farmer = myself]
]