首页 > 解决方案 > 正态分布发生器的种类

问题描述

我有一个问题。我需要这种正态分布生成器的文档类型。我找到了它并且工作正常。它是什么?这不是分布的反转,也不是蒙特卡洛方法。我不知道这种方法。

double Class::  normal(const double mean, const double std)
{
    static const double pii = 3.1415927;
    static const double r_max = RAND_MAX + 1;
    return std * sqrt(-2 * log((rand() + 1) / r_max))*sin(2      *pii*rand() / r_max) + mean;
}

标签: c++normal-distribution

解决方案


这看起来像一个Box-Mueller 变换,将统一的 RV 转换为普通的


推荐阅读