国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++實現正態隨機分布的方法

2020-01-26 16:17:29
字體:
來源:轉載
供稿:網友

高斯分布也稱為正態分布(normal distribution)

常用的成熟的生成高斯分布隨機數序列的方法由Marsaglia和Bray在1964年提出,C++版本如下:

復制代碼 代碼如下:

#include <stdlib.h>
#include <math.h>

double gaussrand()
{
    static double V1, V2, S;
    static int phase = 0;
    double X;

    if ( phase == 0 ) {
        do {
            double U1 = (double)rand() / RAND_MAX;
            double U2 = (double)rand() / RAND_MAX;

            V1 = 2 * U1 - 1;
            V2 = 2 * U2 - 1;
            S = V1 * V1 + V2 * V2;
        } while(S >= 1 || S == 0);

        X = V1 * sqrt(-2 * log(S) / S);
    } else
        X = V2 * sqrt(-2 * log(S) / S);

    phase = 1 - phase;

    return X;
}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 佛学| 大姚县| 武义县| 勃利县| 泾阳县| 绿春县| 浦北县| 桦川县| 内黄县| 怀来县| 二手房| 郸城县| 措美县| 海口市| 桃江县| 西充县| 西平县| 临安市| 合川市| 西畴县| 宿州市| 沁水县| 攀枝花市| 余姚市| 丰都县| 奎屯市| 柳河县| 阳山县| 尉犁县| 石景山区| 泊头市| 秦皇岛市| 龙川县| 临武县| 临江市| 天峨县| 榕江县| 乐昌市| 平阳县| 兖州市| 建德市|