JavaScript 正态分布的一种实现方法
作者:
老邵 | 来源:发表于
2019-05-17 20:18 被阅读0次 function getWeight() {
//正态分布函数
function gaussianRandom(start, end) {
return Math.floor(start + gaussianRand() * (end - start + 1));
//更偏向于中间的值乘以前后的差,加上前面的值,得到更偏向于中间的最终值
}
function gaussianRand() {
var rand = 0;
for (var i = 0; i < 6; i += 1) {
rand += Math.random();
}
return rand / 6;
} // 六个随机数取平均值得一个更偏向于中间的值。
////////////////////////////
let leftWeights = [];
let rightWeights = [];
//形成反向的正态分布
for (let i = 0; i < 10; i++) {
leftWeights.push(gaussianRandom(0, 2000));
rightWeights.push(gaussianRandom(0, 2000));
}
// 得到多个近似于正态分布的值,然后排序。
leftWeights = leftWeights.sort((a, b) => {
return b - a;
});
rightWeights = rightWeights.sort((a, b) => {
return a - b;
});
this.weights = leftWeights.concat(rightWeights);
}
本文标题:JavaScript 正态分布的一种实现方法
本文链接:https://www.haomeiwen.com/subject/tifsaqtx.html
网友评论