建立我的上一篇文章,我试图使用netlogo的rngs扩展来绘制随机beta版本,但没有一个原语似乎对我有效。此扩展(netlogo 4.1的构建)是否适用于新版本?如果没有,是否有新的扩展可以帮助我绘制分布?
如果确实如此,那么我必须假设这是我的代码错误。根据以下指南:https://github.com/NetLogo/NetLogo/wiki/Extensions我的代码目前是:
extensions [rngs]
to setup
make_turtles
end
to make_turtles
create-turtles 10000
ask turtles
[
rngs: init
rngs: set-seed
let dist rngs: rnd-beta random-float 999 0.9 0.5
set target_Factor dist
]
end
这是我第一次使用扩展程序,所以我很可能会对它们的工作方式感到困惑,即使我有RTFM,但对我来说这就是指南要做的......
错误摘要: 对于上面的代码,我得到“没有任何名为RNGS的定义” 如果我删除“:”我得到“没有定义任何命名的init”,所以它看起来像是没有正确读取原语,或者我使用它错了?
答案 0 :(得分:2)
看起来你有语法错误:
rngs: init
应为rngs:init
。请注意冒号后面没有空格。
调用他们的程序(即table:make
或array:item
)时,所有扩展名应为“无空格后冒号规则”。< / p>
答案 1 :(得分:1)
对于那些试图将来这样做的人来说,这里是正确的代码(我已经使用直方图插图对其进行了双重检查)。我希望随机数种子和流ID变化,所以我将它们设置为任意大数的随机浮点数。
extensions [rngs]
turtles-own [target_factor]
to setup
clear-all
make_turtles
end
to make_turtles
create-turtles 1000
ask turtles
[
rngs:init
let stream_id random-float 999
let seed random-float 999
rngs:set-seed stream_id seed
let dist rngs:rnd-beta stream_id 0.8 0.5
set target_Factor dist
]
set-current-plot "plot 1"
histogram [target_factor] of turtles
end