选择补丁分析neighboors netlogo
Choosing patch analysing neighboors netlogo
我正在尝试为一个从事轮耕的社区建模。为此,我希望每个家庭每年都更换补丁。每个家庭可以有不同的作物面积,这取决于工作的时间和人数。我希望他们能够选择一个补丁,该补丁具有打开作物所需的森林补丁数量。例如,一个家庭的作物面积为 3,因此新位置需要是一个森林斑块,并且有另外两个森林斑块邻居。知道我该如何指定吗?
谢谢
这是一个可能的解决方案:
patches-own [ patch-type ]
breed [ households household ]
to setup
clear-all
ask patches [ set patch-type one-of ["forest" "rock" "sand"] ]
let forest-neighbors-needed 2
create-households 100 [
let candidate-locations patches with [
not any? households-here and
patch-type = "forest" and
count neighbors with [ patch-type = "forest" ] >= forest-neighbors-needed
]
ifelse any? candidate-locations [
move-to one-of candidate-locations
] [
error "No suitable location found!"
]
]
end
这种方法不是最有效的,因为它会为它创建的每个家庭重建可能的位置集,但如果你的模型不是两个大的,它应该不会有太大的不同。
请注意,您没有向我们详细说明您的模型是如何组织的,因此我不得不做出一些假设。下次,请告诉我们更多信息:您有哪些品种,它们的变量是什么等。理想情况下,post 一些代码显示您已经尝试过的内容。
我正在尝试为一个从事轮耕的社区建模。为此,我希望每个家庭每年都更换补丁。每个家庭可以有不同的作物面积,这取决于工作的时间和人数。我希望他们能够选择一个补丁,该补丁具有打开作物所需的森林补丁数量。例如,一个家庭的作物面积为 3,因此新位置需要是一个森林斑块,并且有另外两个森林斑块邻居。知道我该如何指定吗?
谢谢
这是一个可能的解决方案:
patches-own [ patch-type ]
breed [ households household ]
to setup
clear-all
ask patches [ set patch-type one-of ["forest" "rock" "sand"] ]
let forest-neighbors-needed 2
create-households 100 [
let candidate-locations patches with [
not any? households-here and
patch-type = "forest" and
count neighbors with [ patch-type = "forest" ] >= forest-neighbors-needed
]
ifelse any? candidate-locations [
move-to one-of candidate-locations
] [
error "No suitable location found!"
]
]
end
这种方法不是最有效的,因为它会为它创建的每个家庭重建可能的位置集,但如果你的模型不是两个大的,它应该不会有太大的不同。
请注意,您没有向我们详细说明您的模型是如何组织的,因此我不得不做出一些假设。下次,请告诉我们更多信息:您有哪些品种,它们的变量是什么等。理想情况下,post 一些代码显示您已经尝试过的内容。