【问题标题】:extract data on turtle when getting into a specific area进入特定区域时提取海龟数据
【发布时间】:2018-05-23 05:26:50
【问题描述】:

我在从海龟导出数据时遇到问题,我希望有人能帮助我。 我有 9 只海龟,称为“renards”,有两个变量“stress”和“poids”,它们随着移动而变化。一旦海龟进入世界的特定区域(它们越过补丁 xcor -24 和 ycor 39 和补丁 xcor 52 ycor 82 之间的一条线),我想得到这些变量的结果,一旦它们越过这个假想行变量被发送到一个 excel 文件(或其他类型的文件,如果更方便的话)有一个表格,每个 renard 编号和列中每个变量的值。

我希望我的解释足够清楚,并且我的问题有解决方案。以下是我创建海龟的方法:

to creerRenard

  create-Renards 10
  ask Renards
  [
  move-to one-of patches with [ cimetary = 1 ]
  set size 6
  set color red
  ]

  ask renard 1
  [set poids 3
   set stress 25]

    ask renard 2
  [set poids 3.5
   set stress 25]

    ask renard 3
  [set poids 4
   set stress 25]

    ask renard 4
  [set poids 4.5
   set stress 25]

    ask renard 5
  [set poids 5
   set stress 25]

    ask renard 6
  [set poids 5.5
   set stress 25]

    ask renard 7
  [set poids 6
   set stress 25]

    ask renard 8
  [set poids 6.5
   set stress 25]

    ask renard 9
  [set poids 7
   set stress 25]

end

【问题讨论】:

  • 是你的问题是你不知道如何编写指定WHEN创建一行输出的条件,还是你不知道如何创建一行输出的问题?我看不出您提供的代码与这些问题中的任何一个有什么关系,抱歉,所以需要更多细节。如果您的问题与 HOW 有关,请使用typeshowprint 获取正确格式的报告给指挥中心,然后将这些命令更改为 file-type 等。
  • 感谢您的回答,我的问题是我不知道如何创建一行输出以将海龟变量(压力和 poids)放在一个文件中,海龟在第一列以及它旁边的另外两列中的压力和波德

标签: netlogo


【解决方案1】:

我这样做是为了避免在 cmets 中进行持续讨论,即使我并不完全清楚你想要什么。尝试输入这样的一行:

ask turtles
[ if random-float 1 < 0.2
  [ type "I am turtle " type who type ", poids of "
      type poids type ", stress of ", print stress
  ]
]

这不是一个解决方案,但它会让您了解如何实现您想要做的事情。您需要将条件替换为涉及跨越边界的条件。

此代码将打印到命令中心。调整typeprint 直到你在文件中得到你真正想要的格式(csv 通常是最简单的),然后使用file-type 而不是typefile-print 而不是print。您还需要打开和关闭文件。以 NetLogo 字典文件 I/O 部分为例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-08
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    相关资源
    最近更新 更多