Matlab產生隨機數函式小結
1.一些常用函式:
(1)rand(······)
它是生成0~1之間(開環,不包含0和1兩個數)均勻分佈的偽隨機數,也就是無窮次試驗其中每個數產生的概率是一樣的。
R = rand(N) % 生成N×N的矩陣隨機數,其中每個元素位於0~1之間
R = rand([M,N,P,…]) % 生成M×N×P×…的矩陣隨機數
R = rand(M,N,P,…) % 同上,中括號不是必須
R = rand(…, CLASSNAME) % 生成CLASSNAME型別的隨機數,如 ‘double’ or ‘single’
(2)randi(······)
randi(N) 是生成(0,N]間均勻分佈的偽隨機數,並且數都是整數,所以每個數是位於1到N之間。
R = randi(iMax) % 生成1:iMax之間的均勻分佈隨機數
R = randi(iMax,m,n) % 生成m×n的1:iMax之間的均勻分佈隨機數
R = randi([iMin,iMax],m,n) % 生成m×n的iMin:iMax之間的均勻分佈隨機數
(3)randn(······)
它生成的隨機數整體概率為正態分佈,均值為0,方差為1;
R = randn(N) % 生成N×N個正態分佈的隨機數
R = randn(M,N) % 生成M×N個正態分佈的隨機數
eg:產生16個均值為0.8,方差為0.4的正態分佈隨機數(即:4階正態分佈矩陣)。
format short %恢復預設輸出格式
y=0.8+sqrt(0.4)*randn(4)
(4)rng(······)
讓每次程式執行生成的隨機數都一樣
eg(1).rng('default');
R = rand(1,5); % 每次程式執行生成恆定的1×5隨機數
eg(2).s = rng;
R1 = rand(1,5);
rng(s);
R2 = rand(1,5); % R1和R2隨機數一樣
(5)linspace(······)
產生線性間隔向量
建立一個從a到b,共n個向量
linspace(a,b,n);
(6)binornd(n,p,[M,N,P,…])
生成的隨機數服從引數為(N,p)的二項分佈,這些隨機數排列成MNP… 階矩陣。如果只寫M,則生成M*M矩陣
(7)exprnd(MU)
服從引數為MU的指數分佈。
2.其他生成隨機數函式
exprnd 指數分佈的隨機數生成器
exprnd(mu,m,n); 在(0,mu)之間有接近70%的資料,越接近0資料越多
geornd 幾何分佈的隨機數生成器
geornd(P,M,N,…) returns an M-by-N-by-… array.
hygernd 超幾何分佈的隨機數生成器
hygernd(M,K,N,MM,NN,…) returns an MM-by-NN-by-… array.
normrnd 正態(高斯)分佈的隨機數生成器
normrnd(MU,SIGMA,M,N,…) returns an M-by-N-by-… array.
poissrnd 泊松分佈的隨機數生成器
poissrnd(LAMBDA,M,N,…) returns an M-by-N-by-… array.
unidrnd 離散均勻分佈的隨機數生成器
unifrnd 連續均勻分佈的隨機數生成器
betarnd 貝塔分佈的隨機數生成器
chi2rnd 卡方分佈的隨機數生成器
frnd f分佈的隨機數生成器
gamrnd 伽瑪分佈的隨機數生成器
lognrnd 對數正態分佈的隨機數生成器
nbinrnd 負二項分佈的隨機數生成器
ncfrnd 非中心f分佈的隨機數生成器
nctrnd 非中心t分佈的隨機數生成器
ncx2rnd 非中心卡方分佈的隨機數生成器
raylrnd 瑞利分佈的隨機數生成器
trnd 學生氏t分佈的隨機數生成器
weibrnd 威布林分佈的隨機數生成器
如果要生成除上面這些之外的隨機數,需要嚴密的數學推導,利用這些分佈進行構造.
如果推導不出,還可以利用大數定律進行生成,通過一組隨機數確定一個隨機數的方式。
相關文章
- matlab中的產生隨機數的rand函式Matlab隨機函式
- matlab產生隨機數或隨機矩陣Matlab隨機矩陣
- matlab生成隨機數小結Matlab隨機
- 【matlab程式設計】matlab隨機數函式Matlab程式設計隨機函式
- Matlab產生特定範圍的隨機數矩陣Matlab隨機矩陣
- MATLAB中如何產生指定範圍的隨機數Matlab隨機
- R產生隨機數隨機
- MATLAB中常用的幾種隨機數生成函式Matlab隨機函式
- vc中產生隨機數隨機
- c++產生隨機數C++隨機
- MATLAB生成隨機數總結Matlab隨機
- Math類產生隨機數後保留一位小數隨機
- Random 專案總結 -11 產生隨機數字random隨機
- 【筆記】如何產生隨機數筆記隨機
- js隨機產生區間數JS隨機
- MATLAB生成服從各種分佈的隨機數函式Matlab隨機函式
- 計算機隨機數的產生 (轉)計算機隨機
- 高效產生不重複的隨機數隨機
- linux生產32位隨機數Linux隨機
- Oracle取隨機數函式Oracle隨機函式
- 如何產生指定範圍的隨機數隨機
- JavaScript產生隨機數例項程式碼JavaScript隨機
- C 語言產生隨機數的方法隨機
- C語言產生隨機數的方法C語言隨機
- 從oracle表中隨機取記錄,產生隨機數和隨機字串Oracle隨機字串
- AS使用Random函式建立隨機數random函式隨機
- MATLAB設定隨機數Matlab隨機
- matlab 生成隨機數序列Matlab隨機
- matlab 隨機數種子Matlab隨機
- Rust中如何產生隨機數或密碼?Rust隨機密碼
- 高效產生一組不重複的隨機數隨機
- 利用arc4random_uniform()產生隨機數randomORM隨機
- 隨機變數函式的分佈隨機變數函式
- javascript隨機數函式Math.random()JavaScript隨機函式random
- MATLAB獲取隨機數——randMatlab隨機
- 關於matlab生成隨機數Matlab隨機
- Matlab 隨機生成兩個數值之間的隨機數Matlab隨機
- 產生0到100內的任意隨機數隨機