我正在尝试使用此处描述的方法 2 和方法 3 生成高斯分布: http://c-faq.com/lib/gaussian.html
问题是我有点困惑,因为我有 sigma 和 Mean 以及 0 到 1 范围内的 100 个数字,但在这些方法中它只返回 0 到 1 区间的值,在这些方法中 sigma 和尚未使用平均值。
谁能帮我如何使用这些方法生成高斯分布?
最佳答案
您链接的例程给出随机数(从高斯(正态)分布中选择),平均值为 0,标准差为 1。这是此类例程的通常工作方式。
将其更改为任何其他平均值和标准差非常容易 - 您只需乘以标准差,然后然后添加平均值。
例如,如果 x
是由上述例程之一生成的,则
y = 0.5 * x + 0.1
标准差为 0.5,平均值为 0.1。
因此您不需要为平均值和标准差的每个组合单独的例程。您只需使用给定的例程,然后进行额外的转换。
关于c - 高斯分布在 C 中帮助不大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20274794/