Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我需要半个高斯钟_Javascript_Arrays_Random_Numbers_Gaussian - Fatal编程技术网

Javascript 我需要半个高斯钟

Javascript 我需要半个高斯钟,javascript,arrays,random,numbers,gaussian,Javascript,Arrays,Random,Numbers,Gaussian,我创建了一个函数,它返回一个高斯数,介于你输入的最小值和最大值之间。随机子函数给出的高斯数介于0和1之间,通常为0.5。我想知道是否有办法使数字趋于0。好像是半高斯钟 function gaussianNumber(min, max, strength) { function random(){ var rand = 0; for (var i = 0; i < strength; i++) { rand += Math.random(); }

我创建了一个函数,它返回一个高斯数,介于你输入的最小值和最大值之间。随机子函数给出的高斯数介于0和1之间,通常为0.5。我想知道是否有办法使数字趋于0。好像是半高斯钟

function gaussianNumber(min, max, strength) {

function random(){
    var rand = 0;
    for (var i = 0; i < strength; i++) {
        rand += Math.random();
    }
    return rand / strength;
}

return Math.floor(random()*(max+1-min)+min);
函数高斯数(最小、最大、强度){
函数随机(){
var-rand=0;
对于(变量i=0;i

}

这可能是应用中心极限定理生成高斯随机数的合理方法,但您得到的
random()
表达式是错误的。如果你想用
G(0,1)
作为高斯
N(0,1)
平均值为0和标准偏差1的近似值,你必须使用以下表达式:

G(0,1) = (Sum_1^n U(0,1) - n/2) / sqrt(n/12)
推荐的
n
以12开头,不过您可以使用较少的样本进行实验

代码

有待进一步讨论。通过使用函数的绝对值,可以从这个函数中得到一半的高斯钟

有点不清楚最小值和最大值之间的wrt高斯是什么意思。你们希望你们的高斯平均值在哪里?你可以把平均值放在最小值和最大值之间,从技术上讲,它仍然在

function G(n) {
    var rand = 0.0;
    for (var i = 0; i != n; ++i) {
        rand += Math.random();
    }
    return (rand - 0.5*n) / Math.sqrt(n/12.0);
}