从NetLogo中的有界正态分布中选择值 [英] Selecting values from bounded normal distribution in NetLogo
问题描述
我正在尝试让NetLogo根据stackoverflow中上一个问题的建议从有界随机正态分布中提取值
I'm trying to have NetLogo draw values from a bounded random normal distribution following the recommendation in a previous question in stackoverflow
具体来说,我要模型创建一个圆形的原始范围,该范围根据经验数据而变化
Specifically I'm asking the model to create a circular home range that varies in size according to empirical data
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
但是,我一直收到错误消息,即随机正态边界"需要4个输入.我敢肯定我在做些愚蠢的事情,但对我来说好像是4个输入(54.4、35.8、19、151).关于我在做什么错的任何建议吗?预先感谢!
However I keep getting the error that random-normal-in-bounds expected 4 inputs. I'm sure it's something silly I'm doing but it looks like 4 inputs (54.4, 35.8, 19, 151) to me. Any suggestions on what I'm doing wrong? Thanks in advance!
推荐答案
我认为您的错误是由[]引起的,您不需要这些括号.
I think your error is caused by [] you don't need these brackets.
更新:
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
这篇关于从NetLogo中的有界正态分布中选择值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!