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 送给学长毕业祝福语简短