JavaScript 高斯分布随机
示例
该函数应提供标准偏差接近0的随机数。从一副纸牌中拾取或模拟骰子掷骰时,这就是我们想要的。Math.random()
但是在大多数情况下,这是不现实的。在现实世界中,随机性倾向于聚集在一个共同的正常值附近。如果将其绘制在图形上,则会得到经典的钟形曲线或高斯分布。
用该功能做到这一点相对简单。Math.random()
var randNum = (Math.random() + Math.random()) / 2; var randNum = (Math.random() + Math.random() + Math.random()) / 3; var randNum = (Math.random() + Math.random() + Math.random() + Math.random()) / 4;
在最后添加一个随机值会增加随机数的方差。除以您添加的次数可以将结果归一化为0-1
由于添加多个随机数比较麻烦,因此一个简单的函数将允许您选择所需的方差。
// v is the number of times random is summed and should be over >= 1
//返回0-1排除之间的随机数
function randomG(v){
var r = 0;
for(var i = v; i > 0; i --){
r += Math.random();
}
return r / v;
}该图显示了v的不同值的随机值分布。左上角是标准单次调用,右下角相加8次。这是使用Chrome的5,000,000个样本Math.random()Math.random()
这种方法最有效v<5
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短