NetLogo:死代理=丢失信息?

时间:2016-04-26 10:45:58

标签: netlogo die

我是这个网站和NetLogo的新手。 我试图模拟意大利的百日咳疫情,我想知道他生病时代理人的年龄。

问题是代理商可能会死!所以我丢失了与死去的代理人有关的所有数据!

有没有办法从死龟中检索变量值?

谢谢!

2 个答案:

答案 0 :(得分:1)

不要让他们真正死于[die]命令,只需使用一个变量来表示他们已经死了。你可能有一些东西跟踪他们的感染状态(例如易感,感染,恢复),所以你可以添加另一个状态(易感,感染,恢复,死亡)。然后,您可以使用set VARNAME count turtles with [status = dead]

等命令获取信息

根据下面的评论,如果您需要排除死龟的相互作用,这可能会使您的其他代码变得困难。所以另一种选择是将其他命令添加到相同的代码中,告诉乌龟死亡。那些其他命令可以像递增计数器一样简单,但也可以将值添加到某个列表中。

ask turtles
  [ if ... (whatever your test is to see if the turtle dies)
    [ set deathcounter deathcounter + 1
      die
    ]
  ]

答案 1 :(得分:1)

如果你想存储死龟的所有变量,我会创建一个名为尸体的新品种,它与你的其他品种的死亡具有所有相同的变量,并且当你的品种死亡时将它的品种设置为尸体。 ask turtles [set breed corpse]

如果您没有按状态限制您的海龟命令(例如ask turtles [something]ask turtles with [status = "active"] [something]相比),这是JenB解决方案的替代方案

相关问题