0

我试图计算 netlogo 中受感染海龟的累积平均值我不知道我应该使用什么代码以及将它放在 netlogo 代码中的什么位置我做了一些测试并尝试计算节点的平均值,但那是不正确的。我也尝试创建一个列表,但我也没有成功。我应该在代码中的哪个位置放置这些行?

这里有一些代码:

observer> show mean [num-infected] of turtles
observer: 198
observer> show mean [num-infected] of turtles / length num-infected
observer> show mean [num-infected] of turtles / length [num-infected] of turtles
observer: 0.99
observer> show sum [num-infected] of turtles / length [num-infected] of turtles
observer: 197
observer> show count [num-infected] of turtles / length [num-infected] of turtles
observer> show mean [num-infected] of turtles / length [num-infected] of turtles
observer: 0.955
observer> show sum [num-infected] of turtles / length [num-infected] of turtles
observer: 191
observer> show sum [mean num-infected] of turtles
observer> show mean [ num-infected] of turtles
observer: 191
observer> show mean [ num-infected] of turtles
observer: 1
observer> show mean [ num-infected] of turtles
observer: 198
observer> show mean [ num-infected] of turtles
observer: 198
observer> show mean [ num-infected] of turtles
observer: 198
observer> show  [ num-infected] of turtles
observer> show count turtles with [infected? = true]
observer: 198
observer> show count turtles with [infected? = true] / length [num-infected] of turtles
observer: 0.99
observer> show count num-infected / count turtles with [infected? = true] 
ERROR: Expected an agentset here, rather than a list or block. 

谢谢。

4

1 回答 1

0

请参阅http://groups.yahoo.com/neo/groups/netlogo-users/conversations/topics/16345上的 netlogo-users 组的答案

特拉维斯欣克尔曼写道:

如果我对您的理解正确,那么您的报告程序应如下所示:

to-report cumul-av-sum
;; drop the first member of the list, but not until there are at least 200 items in the list
if (length cumul-av-list > 200) [ set cumul-av-list but-first
cumul-av-list ]
;; add the number of raindrops created in last tick to the end of the list
set cumul-av-list lput num-infected cumul-av-list
report sum cumul-av-list
end

这个报告程序需要在每个刻度上调用(可能是图的一部分)才能正确更新列表。

于 2013-10-27T15:09:09.417 回答