我正在尝试让 NetLogo 按照 stackoverflow 中上一个问题中的建议从有界随机正态分布中绘制值
NetLogo:如何确保变量保持在定义的范围内? https://stackoverflow.com/questions/20230685/netlogo-how-to-make-sure-a-variable-stays-in-a-defined-range/20233830#20233830
具体来说,我要求模型创建一个圆形家庭范围,其大小根据经验数据而变化
set homerange patches in-radius ((sqrt (( random-normal-in-bounds [ 54.4 35.8 19 151 ] * 1000000)/ pi))/ 100)
to-report random-normal-in-bounds [mid dev mmin mmax]
let result random-normal mid dev
if result < mmin or result > mmax
[ report random-normal-in-bounds mid dev mmin mmax ]
report result
end
然而,我不断收到 random-normal-in-bounds 期望 4 个输入的错误。我确信我正在做的事情很愚蠢,但对我来说它看起来像是 4 个输入(54.4、35.8、19、151)。关于我做错了什么有什么建议吗?提前致谢!
我认为你的错误是由 [] 引起的,你不需要这些括号。
Update:
to test
clear-all
let homerange nobody
let radius sqrt (( random-normal-in-bounds 54.4 35.8 19 151 * 1000000)/ pi) / 100
crt 1 [
set homerange patches in-radius radius
]
ask homerange [set pcolor violet]
end
to-report random-normal-in-bounds [mid dev mmin mmax]
let result random-normal mid dev
if result < mmin or result > mmax
[ report random-normal-in-bounds mid dev mmin mmax ]
report result
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)