【问题标题】:How to code turtles avoiding pop. densities at certain patches如何编写避免弹出的海龟代码。某些斑块的密度
【发布时间】:2020-09-27 12:42:53
【问题描述】:

我正在尝试在 NetLogo 中创建一个子模型,在该子模型中,我的海龟代理会避开/逃离人口密度大于代理容忍阈值的城市斑块。此模型的目的是对人类密度变量进行实验,以了解我的海龟如何/是否会响应更高或更低的人口而移动。

我在概念化如何将人口变量实施到各个城市块中并让块计算其自身的人口密度方面遇到了极大的困难。我希望可以选择更改人口变量,以便我可以看到乌龟如何响应城市斑块中不断变化的人口密度。

举一个假设的例子:一个州县有两个城市块(城市),Urban_1的面积为600m,Urban_2的面积为200m。两个城市片区的人口均为 100 人,因此 Urban_1 的人口密度为 0.16 人/m2,Urban_2 的人口密度为 0.5 人/m2。海龟耐受阈值为

如何对人口变量进行编码,以便人口密度可以增加/减少?人口变量是全局变量吗?或者它是城市补丁的代理集?

【问题讨论】:

  • 这很令人困惑。如果您有 100 个补丁,您是否希望界面上有 100 个滑块,每个滑块都为一个补丁提供人口?我假设不是。但是您真正希望滑块控制的是什么?
  • 你好。我为混乱道歉。我想将人口变量应用于所有补丁类型的“城市”,然后能够在界面中调整人口。我的目标是展示回避行为如何随着人类流行而变化。增加/减少。
  • 仍然不够明确。你在你的问题中说海龟特工逃离了人类密度更高的地方。如果人口由一个滑块控制,并且该数字被赋予所有补丁,那么您的某些补丁如何具有更高或更低的密度?您可能需要编辑您的问题,以提供一个示例,说明您希望如何从滑块上的任何内容到补丁所拥有的内容。
  • @JenB 感谢您的反馈。我已经编辑了我的问题,希望它可以澄清我要编写的代码。
  • 没问题。 NetLogo 很容易学习,并且有很多优秀的资源可供使用(例如,参见 NetLogo 主站点的教程)。 StackOverflow 被设置为一个问答网站,可帮助您解决代码中的错误。该格式不适用于(也不打算)用于教学所需的来回讨论。最好的选择是尝试一下,然后在代码无法按预期工作或产生错误时显示您的代码。这就是我们可以提供帮助的事情。

标签: netlogo behavior agent


【解决方案1】:

要查看人口密度或增长,您可以在 GUI 中或多或少地像这样绘制:plot count human。不错的做法是区分具有不同海龟所属组的代理类型。为了避免某些海龟超出特定类型的补丁,您需要创建补丁自己的变量,然后这样做:patches-own [ ... feromone-killer ] ... to wiggle if (feromone-killer >= 0.01) (摆动是一种决定我的特工移动的方法)

【讨论】:

    猜你喜欢
    • 2020-03-03
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    • 2011-03-22
    相关资源
    最近更新 更多