时间:2021-05-20
高斯分布也称为正态分布(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;
}
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了C++抽奖程序实现方法。分享给大家供大家参考。具体实现方法如下:一、intrand()可以生成从[0,65536)之间均匀分布的随机数。现要求实现
因为概率问题,所以需要测试一下python的随机数分布。到底是平均(均匀)分布,还是正态(高斯)分布。测试代码如下:#!/usr/bin/envpython#c
因为概率问题,所以需要测试一下python的随机数分布。到底是平均(均匀)分布,还是正态(高斯)分布。测试代码如下:#!/usr/bin/envpython#c
本文分享了C语言/C++如何生成随机数的具体实现方法,供大家参考,具体内容如下C语言/C++怎样产生随机数:这里要用到的是rand()函数,srand()函数,
importnumpyasnpimportmatplotlib.pyplotaspltimportmath#Python实现正态分布#绘制正态分布概率密度函数u