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隨機函式
- R產生隨機數隨機
- c++產生隨機數C++隨機
- Math類產生隨機數後保留一位小數隨機
- Random 專案總結 -11 產生隨機數字random隨機
- 【筆記】如何產生隨機數筆記隨機
- matlab 生成隨機數序列Matlab隨機
- MATLAB設定隨機數Matlab隨機
- 隨機變數函式的分佈隨機變數函式
- Matlab 隨機生成兩個數值之間的隨機數Matlab隨機
- 如何產生指定範圍的隨機數隨機
- Oracle 隨機函式Oracle隨機函式
- Rust中如何產生隨機數或密碼?Rust隨機密碼
- 函式小結函式
- matlab表示函式Matlab函式
- Python產生20個隨機整數的方法詳解!Python隨機
- 隨機範圍小數和隨機範圍整數隨機
- openresty及lua的隨機函式REST隨機函式
- mysql迴圈插入資料、生成隨機數及CONCAT函式MySql隨機函式
- matlab畫sigmoid函式和其一階倒數MatlabSigmoid函式
- 約瑟夫問題,輸入總人數,自動產生大於0小於n的隨機數隨機
- php陣列函式小結PHP陣列函式
- 關於如何產生隨機數的幾種方法彙總!(2018.07.08)隨機
- Python隨機函式random使用詳解Python隨機函式random
- MATLAB中linspace函式使用Matlab函式
- js中windows的函式(隨機數,計時器的實現)JSWindows函式隨機
- matlab如何給未知數及包含未知數的函式賦值Matlab函式賦值
- 微信小程式生成隨機數微信小程式隨機
- MATLAB中如何生成指定範圍的隨機整數向量Matlab隨機
- 利用MATLAB產生COE檔案Matlab
- 蒙特卡洛——使用CDF反函式生成非均勻隨機數函式隨機
- Matlab中erf函式的用法Matlab函式
- MATLAB巢狀函式練習Matlab巢狀函式
- Python函式引數總結Python函式
- 數學建模中常用的30個MATLAB程式和函式Matlab函式
- matlab生成0,1隨機序列Matlab隨機
- 介面測試-使用 mock 生產隨機資料Mock隨機