如何分布类似于分布在斑块上的种群的海龟
How to distribute turtles similar to a population distributed across the patches
我有一个模型,其中人口通常分布在各个斑块中。我使用以下代码来做到这一点:
ask patches [
let x1 (pxcor - mean1) / sd-pop1
let y1 (pycor - mean2) / sd-pop1
set popualation ( (pop1) * exp (-0.5 * ( x1 ^ 2 + y1 ^ 2)) / (2 * pi * sd-pop1 ^ 2))
]
我想以类似的方式分发 10 只乌龟。在所附的图像中,就像人口的主要块如何分布在靠近网格中心的斑块上一样 space。类似地,对于要创建的 10 只海龟,我希望一个主要的块随机分布在人口丰富的斑块上,还有一些分布在外围。
to setup-parties
create-parties Num-of-parties
let sp sqrt((((sd-pop1 ^ 2) * (pop1 - 1)) + ((sd-pop2 ^ 2) * (pop2 - 1))) / (pop1 + pop2 - 2))
ask parties [
ifelse (pop2 > 0) [ set heading random-float 360 jump random-float sp ] [ set heading random-float 360 jump random-float sd-pop1 ]
set size 3
set color random 130
set label who + 1
set label-color red
set my-old-size 1
set shape "default"
set old-x xcor
set old-y ycor
update-rule
]
end
我会为此使用 rnd
扩展和 select 10 个补丁(按人口加权)来发芽一只乌龟。类似于 ask rnd:weighted-n-of 10 patches [ population ] [ sprout 1 ]
。如果您使用此方法,您还需要在代码顶部添加 extensions [rnd]
。
我有一个模型,其中人口通常分布在各个斑块中。我使用以下代码来做到这一点:
ask patches [
let x1 (pxcor - mean1) / sd-pop1
let y1 (pycor - mean2) / sd-pop1
set popualation ( (pop1) * exp (-0.5 * ( x1 ^ 2 + y1 ^ 2)) / (2 * pi * sd-pop1 ^ 2))
]
我想以类似的方式分发 10 只乌龟。在所附的图像中,就像人口的主要块如何分布在靠近网格中心的斑块上一样 space。类似地,对于要创建的 10 只海龟,我希望一个主要的块随机分布在人口丰富的斑块上,还有一些分布在外围。
to setup-parties
create-parties Num-of-parties
let sp sqrt((((sd-pop1 ^ 2) * (pop1 - 1)) + ((sd-pop2 ^ 2) * (pop2 - 1))) / (pop1 + pop2 - 2))
ask parties [
ifelse (pop2 > 0) [ set heading random-float 360 jump random-float sp ] [ set heading random-float 360 jump random-float sd-pop1 ]
set size 3
set color random 130
set label who + 1
set label-color red
set my-old-size 1
set shape "default"
set old-x xcor
set old-y ycor
update-rule
]
end
我会为此使用 rnd
扩展和 select 10 个补丁(按人口加权)来发芽一只乌龟。类似于 ask rnd:weighted-n-of 10 patches [ population ] [ sprout 1 ]
。如果您使用此方法,您还需要在代码顶部添加 extensions [rnd]
。