【问题标题】:Sprouting turtles in NetLogo based on patch valueNetLogo中基于patch值的发芽乌龟
【发布时间】:2014-02-01 19:51:52
【问题描述】:

我在 NetLogo 中加载了一个 ASCII 文件,其中的值(范围从 0 到 4.6)表示居住在补丁中的海龟的平均数(泊松过程)。我想将模型设置为使用随机泊松在每个补丁上发芽海龟,平均值来自 ASCII 文件。我知道如何ask n-of patches 发芽一定数量的海龟,但我不知道如何要求发芽命令对所有补丁采取行动。任何帮助都会很棒!

【问题讨论】:

  • 不知道我理解的对不对,你需要每个补丁发芽特定数量的海龟吗?

标签: netlogo


【解决方案1】:

如果您的问题是询问所有补丁,您可以使用以下方法:

to setup 
  clear-all
  resize-world 0 10 0 10
  set-patch-size 40
  let ASCII-file-Values   n-values 121 [ random-poisson mean n-values 121[random-float 4.6]]
  let patches_list sort patches


  let i 0 
  foreach patches_list [
    ask ? [

      sprout item i ASCII-file-Values  
      set plabel count turtles-here
    ]
    set i i + 1
  ]

  reset-ticks      
end

回答您问题的唯一部分是foreach patches_list [] 如果您需要分配给补丁的值以供以后使用,另一种方法可能是为每个补丁添加一个变量并在 foreach 循环中设置此值,那么您可以ask patches [ sprout my-value]

【讨论】:

  • 通过同时遍历两个列表也可以不使用循环计数器 (let i ... set i ...),如下所示:(foreach patches-list ascii-file-values [ ask ?1 [ set plabel ?2 ] ])
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多