龟的颜色报告

时间:2016-03-02 18:38:11

标签: colors netlogo

我用随机浮动颜色语句创建代理

ask turtles [set color random-float 100 ]

我得到的颜色编号如213.45和23.67。这可以。然而,我的问题是如何计算特定类别颜色的频率(例如:213.45:5倍)和颜色总数。我需要一名记者。我知道如何列出颜色:

to-report color-turtles
  report [color] of turtles
end

但我不知道如何算他们。

编辑:。而不是,

1 个答案:

答案 0 :(得分:2)

首先,在做科学时,始终将该点用作小数分隔符。

其次,您需要说出“特定类别”的含义。如果你真的是指特定的(在你的例子中,213.45),那么答案是每个类别出现一次。 (或者随机浮动有问题。)所以你真正需要做的是对你的数据进行直方图,你可以在哪里指定垃圾箱。不幸的是,NetLogo没有构建此功能。见https://github.com/NetLogo/NetLogo/issues/367

我将如何做到这一点。构建一个报告程序,将每种颜色放在一个类别中并报告该类别。 (简单方法是舍入为整数。)每次遇到类别时,使用表扩展将计数增加1.

修改

如果您已经知道颜色,可以使用

计算任何颜色
to-report countColor [#color]
  report count (turtles with [color = #color])
end

例如,

to-report color-count
  let _colors remove-duplicates ([color] of turtles)
  let _cts   map [countColor ?] _colors
  report (map list _colors _cts)
end