2016-07-25 47 views
0

关于我的最后一篇文章,我试图用netlogo的rngs扩展来绘制一个随机-β分布,但没有一个原语似乎对我有用。这个扩展(build for netlogo 4.1)是否适用于新版本?如果没有,是否有新的扩展可以帮助我绘制分布?netlogo扩展rngs是否在新版本中工作?

如果是这样,那么我不得不认为这是我的代码错误。按照指导在: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,但这对我是个什么指南说做...

总结错误: 对于上面的代码,我得到“什么叫随机数发生器已被定义为” 如果我删除了“:”我知道“什么叫INIT已被定义“,所以它看起来像它不是正确读取原语,还是我用错了?

+0

这将构建关闭后在: http://stackoverflow.com/questions/38493122/draw-a-random-beta-distribution-in-netlogo – Jesse001

回答

2

它看起来像你有一个语法错误:

rngs: init应该rngs:init。请注意,冒号后没有空格。

“无 - 空间 - 后 - 结肠规则”调用它们的程序(即table:makearray:item)时应当是所有扩展的情况。

+2

它总是小事! – Jesse001

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 
相关问题