1

我创建了一个补丁自己的变量,每次代理登陆特定补丁时,该变量都会增加“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 会在扩大规模时导致一些性能问题。

干杯

4

1 回答 1

1

你想要多大的比例,比如多少个补丁?这是一个相当便宜的操作,通常没有大量的补丁。不过,您可以将减少和测试与if predation-risk >= 0.1 [set predation-risk predation-risk - 0.1]. 不确定它会快得多。

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

于 2015-10-30T17:35:27.133 回答