乌龟颜色报告

Color of turtles report

我用随机浮点颜色声明制作代理

ask turtles [set color random-float 100 ]

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

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

但是我不知道怎么算。

编辑:。而不是,

首先,做科普的时候,一定要用点作为小数点分隔符。

其次,您需要说出 "specific category" 的意思。如果您的意思是 specific(在您的示例中为 213.45),那么答案是每个类别出现一次。 (否则 random-float 有问题。)所以您真正需要做的是对数据进行直方图绘制,在其中指定 bin。不幸的是,NetLogo 没有内置此功能。参见 https://github.com/NetLogo/NetLogo/issues/367

这是我的做法。构建一个报告程序,将每种颜色放入一个类别并报告该类别。 (最简单的方法是四舍五入为整数。)每次遇到类别时,使用 table 扩展将计数递增 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