我是Netlogo的新手。 我试图创建一个用于交换意见的模型,以便找到一个不受欢迎的设施选址的合适位置。 该模型包含具有不同意见的三个品种的人。 我导入了具有四个不同土地利用类别(建筑物,农业,森林,水)的GIS栅格图层。 所有品种均随机分配到土地利用类别“建筑物”中。 每个滴答通 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
因此,对于我的模型的一部分,我希望我的海龟(在这种情况下为鹿,特别是幼年雌性鹿)根据某些条件“分散”。 这是我到目前为止的内容:
to move-dispersing-femjuvs
ask femjuvs [
let natal-range patches in-radius 5
let density (count femadults-on natal-range + count maleadults-on natal-
range + count femjuvs-on natal-range + count malejuvs-on natal-range +
count infants-on natal-range)
let chance-disperse 1 / (1 + exp(2.051 - (0.002605 * density)))
if (random-float 1.001 < chance-disperse) [
let mean-distance (18.703 + (0.02533 * density))
我认为,这将使我了解到散布的雌性少年的比例以及平均散布距离(取自文献)(我知道if陈述不完整,这就是我要坚持的地方)。 我的问题是,我如何获得分散移动的“ femjuvs”? 他们将移动直到到达空旷的地块,其半径不与“出生范围”重叠。 理想情况下,我希望确实分散的femjuv的所有距离都具有“平均距离”的平均值。 我将“分散距离”作为“ femjuvs拥有的”变量,但尚未将其设置为任何值。
对此问题的任何部分的任何帮助,将不胜感激。 谢谢!
如果目标是随着时间更新鹿的位置,计算其坐标,则setxy可能是一个不错的选择。 这并不是在移动,而是在调整其坐标。
ask femjuvs [ setxy <xcor> <ycor> ] ; example
ask femjuvs [ let x-coordinate <some-long-computation>
let y-coordinate <some-longer-computation>
setxy x-coordinate y-coordinate ]
要移动鹿,有一个称为“前进”的功能,可以由femjuvs(乌龟/繁殖环境)调用:
ask femjuvs [ forward <number> ]
它将femjuvs朝其所面对的方向移动n个空格,此处是指定的数字。
可能的增加:(*-相关功能)
to move-dispersing-femjuvs
ask femjuvs [
let natal-range patches in-radius 5
let density (count femadults-on ...) ; shortened for space
* forward 1 ; move forward one
]
...
end
另外,如果有必要从给定的点或坐标分散,则让鹿面对该点并将其旋转180度是可行的。
ask femjuvs [ face <random-point> ; or facexy <xcor> <ycor>
left 180 ] ; turn the opposite direction
ask femjuvs [ forward 1 ] ; disperse
需要注意的一件事是,如果开发者未设置方向,NetLogo将预先存储一个方向,这可能会或可能不会有帮助。
有关更多详细信息,请参见: https : //ccl.northwestern.edu/netlogo/docs/dictionary.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.