【发布时间】:2018-08-06 22:49:06
【问题描述】:
我正在 NetLogo 中为蜜蜂的食物交换编写一个简单的模型。我绘制了一个直方图,以显示蜜蜂在每个刻度上具有不同食物量的分布。现在我想绘制一条覆盖直方图的正态分布曲线,每次我运行我的模型时,即一条适合直方图条的曲线。我用一支笔用这个命令来绘制我的直方图:histogram [food] of turtles
并且还写了一个这样的函数来添加另一支笔:
to draw-PDF
set-current-plot "OVERALL FOOD DISTRIBUTION"
create-temporary-plot-pen "normal"
set-plot-pen-color red
plot-pen-down
let distsd sqrt ( variance ([food] of turtles) )
let distmean mean [food] of turtles
let multconst Number_of_bees / distsd / sqrt(2 * pi)
let expconst 2 * distsd ^ 2
let b 0
while [ b < Number_of_bees]
[
let f foodofeachbee b
let exparg (- ((f - distmean) ^ 2)) / expconst
let y multconst * exp(exparg)
plotxy f y ]
end
foodofeachbee 是我单独定义的记者。但是运行这个,我得到一个错误,说“你的模型太大而无法运行!”
有什么建议吗?
【问题讨论】:
-
欢迎来到 StackOverFlow 请看stackoverflow.com/help/how-to-ask
-
使用第二支绘图笔,您可以在同一绘图中绘制 PDF,您可以找到 here。但是您的直方图不会被标准化。
-
感谢您的回答,艾伦。我将尝试按照您的建议绘制概率分布。但是您知道在 NetLogo 中实际标准化直方图的任何函数吗?
标签: plot histogram netlogo normal-distribution agent-based-modeling