MATLAB隨機數生成器

2021-08-15 05:40:58 字數 2802 閱讀 5453

1、rand()

生成(0,1)區間上均勻分布的隨機數

基本語法:rand([m,n,p…])

生成排列成m*n*p*…多維向量的隨機數。如果只寫m,則生成m*m矩陣;如果引數為[m,n]可以省略方括號。

2、randn()

生成服從標準正太分布(均值為0,方差為1)的隨機數

基本語法:randn([m,n,p,…])

解釋同1

若安裝了統計工具箱(statistic toolbox),除了以上兩種基本分布外,還可以用matlab內部函式生成符合以下分布的隨機數。

3、unifrnd()

生成某個區間內均勻分布的隨機數

基本語法:unifrnd(a,b,[m,n,p,…])

生成的隨機數在區間(a,b)內,排列成m*n*p…多維向量。如果只寫m,則生成m*m矩陣;如果引數為[m,n]則中括號可以省略。

4、normrnd()

生成指定均值為、標準差的正態分佈的隨機數

基本語法:normrnd(mu,sigma,[m,n,p,…])

5、chi2rnd()

生成服從卡方分布的隨機數,卡方分布只有乙個引數:自由度v

基本語法:chi2rnd(v,[m,n,p,…])

6、frnd()

生成服從f分布的隨機數,f分布有兩個引數:v1,v2

基本語法:frnd(v1,v2,[m,n,p,…])

7、trnd()

生成服從t(student』s t distribution,這裡student不是學生的意思,而是cosset.w.s.的筆名)分布的隨機數。t分布只有乙個引數:自由度v

基本語法:trnd(v,[m,n,p,…])

t分布比正太分布要「瘦」,隨著自由度v的增大,t分布逐漸變胖,當自由度為正無窮時,它就變成標準正態分佈了。

8、betarnd()

生成服從beta分布的隨機數。beta分布有兩個引數分別是a和b。下圖是a=2,b=5的beta分布的pdf圖形。

基本語法:betarnd(a,b,[m,n,p,…])

9、exprnd()

此函式生成服從指數分布的隨機數。指數分布只有乙個引數:mu,下圖是mu=3時指數分布的pdf圖形。

基本語法:exprnd(mu,[m,n,p,…])

10、gamrnd()

生成服從gamma分布的隨機數。gamma分布有兩個引數:a和b。下圖是a=2,b=5,gamma分布的pdf圖形

基本語法:gamrnd(a,b,[m,n,p,…])

11、logrnd()

生成服從對數正態分佈的隨機數。其有兩個引數:mu和sigma,服從這個分布的隨機數取對數後均服從均值為mu,標準差為sigma的正態分佈。下圖是mu=1,sigma=1/1.2的對數正態分佈的pdf圖形。

基本語法:logrnd(mu,sigma,[m,n,p,…])

12、raylrnd()

生成服從瑞利(rayleigh)分布的隨機數。其分布有1個引數:b。下圖是b=2的瑞利分布的pdf圖形

基本語法:raylrnd(b,[m,n,p,…])

13、wblrnd()

生成服從威布林(weibull)分布的隨機數。其分布有2個引數:scale引數a和shape引數b。下圖是a=3,b=2的weibull分布的pdf圖形。

基本語法:wblrnd(a,b,[m,n,p,…])

還有非中心卡方分布(ncx2rnd)、非中心f分布(ncfrnd)、非中心t分布(nctrnd)

14、unidrnd()

生成服從離散均勻分布的隨機數。unifrnd是在某個區間內均勻選取實數(可為小數或整數),unidrnd是均勻選取整數隨機數。離散均勻分布隨機數有1個引數:n,表示從這n個整數中以相同的概率抽樣。

基本語法:unidrnd(n,[m,n,p,…])

15、binornd()

此函式生成服從二項分布的隨機數。二項分布有2個引數:n,p

基本語法:binornd(n,p,[m,n,p,…])

16、geornd()

生成服從幾何分布的隨機數。幾何分布只有乙個引數p

基本語法:geornd(p,[m,n,p,…])

17、poissrnd()

生成服從possion分布的隨機數。possion分布的引數只有乙個:lambda,此引數要大於零

基本語法:poissrnd(lambda,[m,n,p,…])

附: betarnd 貝塔分布的隨機數生成器

binornd 二項分布的隨機數生成器

chi2rnd 卡方分布的隨機數生成器

exprnd 指數分布的隨機數生成器

frnd f分布的隨機數生成器

gamrnd 伽瑪分布的隨機數生成器

geornd 幾何分布的隨機數生成器

hygernd 超幾何分布的隨機數生成器

lognrnd 對數正態分佈的隨機數生成器

nbinrnd 負二項分布的隨機數生成器

ncfrnd 非中心f分布的隨機數生成器

nctrnd 非中心t分布的隨機數生成器

ncx2rnd 非中心卡方分布的隨機數生成器

normrnd 正態(高斯)分布的隨機數生成器

poissrnd 泊松分布的隨機數生成器

raylrnd 瑞利分布的隨機數生成器

trnd 學生氏t分布的隨機數生成器

unidrnd 離散均勻分布的隨機數生成器

unifrnd 連續均勻分布的隨機數生成器

weibrnd 威布林分布的隨機數生成器

隨機數生成器

標頭檔案 內容 rand,srand函式和rand max常量 rand max 在windows系統中為32767 在類unix系統中為2147483647 rand 函式返回乙個0 rand max的隨機整數 srand seed 函式 接受unsigned int 型別的引數seed,以see...

隨機數生成器,隨機種子

遊戲中經常要用到隨機數,但如果乙個沒有隨機種子的的生成器,就沒法重複之前的隨機數了。js的math.random就用不了隨機種子,只好自己弄了乙個,有了隨機種子,每次只要傳入相同的種子,都會得到同樣的隨機數。直接 function seededrandom seed,min,max 這是一種偽隨機數...

Matlab隨機數生成器中的小技巧

最近在伺服器端使用matlab時,發現每次執行生成的隨機數序列都一樣,這讓人十分吃驚。跟其他程式語言類似,matlab產生的隨機數是偽隨機數,實際上是根據乙個隨機數序列生成的,不具有真實的隨機性,但可以模擬隨機數生成過程,因此從原理上來講,每次執行生成的隨機數序列不應該完全相同。那麼我遇到的問題是怎...