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

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

C++如何實現正態隨機分布

2020-02-24 14:35:04
字體:
來源:轉載
供稿:網友

為了方便各位同學更好的學習C++語言,武林小編特意為大家整理了一批資料,供大家交流學習,下面就跟隨武林技術頻道的編輯一起來看看C++如何實現正態隨機分布吧。

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

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


#include
#include

?

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;
}

小編帶來的這篇C++如何實現正態隨機分布,是不是剛好的幫你解答了難題呢,更多關于C++的內容,可以多多關注下武林技術頻道,我們會不斷的更新。

?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 顺昌县| 洞头县| 太和县| 五大连池市| 桃园县| 乐业县| 陇川县| 乾安县| 南阳市| 松潘县| 云霄县| 泰顺县| 澳门| 应用必备| 广东省| 长宁区| 米林县| 鄂伦春自治旗| 平潭县| 棋牌| 莱州市| 镇巴县| 台南县| 汤原县| 乐至县| 金堂县| 施甸县| 伊金霍洛旗| 达日县| 若尔盖县| 宁陕县| 汉寿县| 萝北县| 龙海市| 同江市| 仪征市| 昌宁县| 徐闻县| 闽侯县| 南阳市| 邵武市|