【问题标题】:How to set a minimum limit for a by-tick counter?如何为逐个计数器设置最小限制?
【发布时间】:2015-10-30 16:29:23
【问题描述】:

我创建了一个补丁自己的变量,每次代理登陆特定补丁时,该变量都会增加“1”。

它也每刻减少 0.1。

到目前为止,代码看起来像这样

to go-predation-risk
  ask patch-here [
    set predation-risk predation-risk + 1]
end

to deduct-predation-risk
  ask patches [
    set pcolor scale-color green predation-risk 0 10
    set predation-risk predation-risk - 0.01
    if predation-risk <= 0 [
      set predation-risk 0]
  ]
end

有没有办法为补丁变量设置上限和/或下限而无需指定例如;

predation-risk <= 0 [
    set predation-risk 0]

我“假设”不断调用此过程来阻止变量低于 0 或高于 10 会在扩大规模时导致一些性能问题。

干杯

【问题讨论】:

    标签: model netlogo agent-based-modeling


    【解决方案1】:

    您希望扩大多少,例如多少个补丁?这是一个相当便宜的操作,通常没有大量的补丁。不过,您可以将减少和测试与if predation-risk &gt;= 0.1 [set predation-risk predation-risk - 0.1] 结合起来。不确定它会快得多。

    只是让您知道,如果放大时速度太慢,您应该查看分析器扩展以识别慢点。然后你就可以专注于重要的事情了。

    【讨论】:

      猜你喜欢
      • 2014-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-07
      • 1970-01-01
      • 1970-01-01
      • 2013-07-12
      • 2020-11-08
      相关资源
      最近更新 更多