正態分佈隨機數生成器
u=1800.
q=800.
reslist=[]
for v in xrange(0,3600):
y=math.exp(-((v-u)/q)*((v-u)/q)/2)/(q*math.sqrt(2*3.14159265359))*36000
for d in xrange(0,int(y)):
reslist.append(v)
res2=[]
for v in xrange(0,36000):
res2.append(reslist[random.randint(0,len(reslist))])
for r in res2:
print r
相關推薦
正態分佈隨機數生成器
import math,random u=1800. q=800. reslist=[] for v in xrange(0,3600): y=math.exp(-((v-u)/q)*((v-u)/q)/2)/(q*math.sqrt(2*3.14159265359)
np.random.rand均勻分佈隨機數和np.random.randn正態分佈隨機數函式使用方法
np.random.rand用法 覺得有用的話,歡迎一起討論相互學習~Follow Me 生成特定形狀下[0,1)下的均勻分佈隨機數 np.random.rand(a1,a2,a3…)生成形狀為(a1,a2,a3…),[0,1)之間的 均勻分佈 隨機數 np
正態分佈隨機數的產生
最近平凡聽到關於正態分佈取樣相關的內容,突然想到一個問題: 到底如何利用正態分佈取樣? 正好近期模式識別課程上也有一個相關的內容,整理了一下查到的資料。 一。柱狀圖估計分佈 假設樣本 x N(u,θ) x~N(u, \theta), 其pdf圖如下:
Matlab中產生正態分佈隨機數的函式normrnd-----用來產生高斯隨機矩陣
>> help normrnd NORMRND Random arrays from the normal distribution. R = NORMRND(MU,SIGMA) returns an array of random numbers chosen from a normal
【matlab】Matlab中產生正態分佈隨機數的函式normrnd
Date: 2018.8.5 功能:生成服從正態分佈的隨機數 語法: R=normrnd(MU,SIGMA) R=normrnd(MU,SIGMA,m) R=normrnd(MU,SIGMA,m,n) 說 明: R=normrnd(MU
正態分佈隨機數生成演算法
最近在學習基於蒙特卡羅的強化學習方法時遇到 生成服從正態分佈的隨機數的演算法,因此做一個回顧和總結。要程式設計得到服從均勻分佈的偽隨機數是容易的,C、Python、Java語言等都提供了相應的函式。但是要想生成服從正態分佈的隨機數就沒那麼容易了,生成服從正態分佈的隨機數的基本
產生服從正態分佈隨機數(轉載)
一、為什麼需要服從正態分佈的隨機函式 一般我們經常使用的隨機數函式 Math.random() 產生的是服從均勻分佈的隨機數,能夠模擬等概率出現的情況,例如 扔一個骰子,1到6點的概率應該相等,但現實生活中更多的隨機現象是符合正態分佈的,例如20歲成年人的體重分佈等。
如何用均勻分佈隨機數生成正態分佈隨機數
前言 在Monte Carlo模擬技術中,許多地方都需要用到符合標準正態分佈(高斯)的隨機數來設計取樣方案,因此瞭解如何用均勻分佈隨機數(實際上是均勻分佈的偽隨機數)來生成標準正態分佈的隨機數十分重要。本文將對這個最基本的問題做討論,並提供c++11程式
JAVA自定義演算法產生正態分佈隨機數
一、為什麼需要服從正態分佈的隨機函式 一般我們經常使用的隨機數函式 Math.random() 產生的是服從均勻分佈的隨機數,能夠模擬等概率出現的情況,例如 扔一個骰子,1到6點的概率應該相等,但現實生活中更多的隨機現象是符合正態分佈的,例如20歲成年人的體重分佈等。 假如我們在製作一個遊戲,要
C產生正態分佈隨機數寫入檔案並讀出後用快速排序法排序
基於快速排序法的正態隨機數排序 使用中心極限定理產生正態分佈隨機數 使用快速排序法進行排序 讀寫資料到記事本 程式計時 #include <stdio.h> #include <stdlib.h> #include <mat
課堂練習--計算陣列的最大值,最小值,平均值,標準差,中位數;numpy.random模組提供了產生各種分佈隨機數的陣列;正態分佈;Matplotlib
#計算陣列的最大值,最小值,平均值,標準差,中位數 import numpy as np a=np.array([1, 4, 2, 5, 3, 7, 9, 0]) print(a) a1=np.max(a) #最大值 print(a1) a2=np.min(a) #最小值 print(a2) a3
C#產生正態分佈、泊松分佈、指數分佈、負指數分佈隨機數(原創)
http://blog.sina.com.cn/s/blog_76c31b8e0100qskf.html 在程式設計過程中,由於資料模擬模擬的需要,我們經常需要產生一些隨機數,在C#中,產生一般隨機數用Random即可,但是,若要產生服從特定分佈的隨機數,就需要一定的演
一種用C++自帶的類生成服從正態分佈的隨機數。
今天寫關於深度學習的程式碼時,裡面要用服從標準正態分佈的隨機數初始化權值,就是matlab裡面那個randn函式,網上找了很多方法,最後發現C++本身就有自帶的方法生成服從正態分佈的隨機數序列。下面給出C++程式碼: C++程式碼: #include &
C++生成隨機數:高斯/正態分佈(gaussian/normal distribution)
常用的成熟的生成高斯分佈隨機數序列的方法由Marsaglia和Bray在1964年提出,C++版本如下: #include <stdlib.h> #include <math.h> double gaussrand() { static double V1, V2, S
使用rand()產生服從高斯/正態分佈的隨機數
我們藉助於rand()去生成高斯/正態分佈。 當然,rand是偽隨機的問題在此先不考慮。 (1)用Box-Muller方法,隨機抽出兩個從均勻分佈的數字和。然後 那和都是正態分佈的。 證明可用極座標,請參考教科書中的Box-Muller方法。 C程式碼: #
正態分佈的隨機數發生器 in C#
Box 和 Muller 在 1958 年給出了由均勻分佈的隨機變數生成正態分佈的隨機變數的演算法。設 U1, U2 是區間 (0, 1) 上均勻分佈的隨機變數,且相互獨立。令X1 = sqrt(-2*log(U1)) * cos(2*PI*U2);X2 = sqrt(-2*log(U1)) * sin(2*
如何用JAVA產生符合正態分佈的隨機數
正態分佈 java.util.Random裡的nextGaussian(),生成的數值符合均值為0方差為1的高斯/正態分佈,即符合標準正態分佈。 產生數字的範圍:任何數都有可能,不過在0左右的數字較多。 產生N(a,b)的數:Math.sqrt(b)*random.nextGaussian()+a; 即
python+numpy 隨機數的生成,正態分佈,0-1分佈,均勻分佈及隨機數種子
#! usr/bin/env python # coding: utf-8 # 使用numpy中的隨機函式 學習筆記 # 2018年06月04日11:38:43 北京昌平 import numpy.matlib import numpy as np # 說明,每塊程
java隨機數產生- 正態分佈
正態分佈 java.util.Random裡的nextGaussian(),生成的數值符合均值為0方差為1的高斯/正態分佈,即符合標準正態分佈。 產生數字的範圍:任何數都有可能,不過在0左右的數字較多。 產生N(a,b)的數:Math.sqrt(b)*random.next
randn:產生正態分佈的隨機數或矩陣的函式
randn:產生均值為0,方差σ^2 = 1,標準差σ = 1的正態分佈的隨機數或矩陣的函式。用法:Y = randn(n):返回一個n*n的隨機項的矩陣。如果n不是個數量,將返回錯誤資訊。Y = randn(m,n) 或 Y = randn([m n]):返回一個m*n的隨