matlab產生隨機數或隨機矩陣
Matlab中隨機數生成器主要有:
betarnd 貝塔分佈的隨機數生成器
binornd 二項分佈的隨機數生成器
chi2rnd 卡方分佈的隨機數生成器
exprnd 指數分佈的隨機數生成器
frnd f分佈的隨機數生成器
gamrnd 伽瑪分佈的隨機數生成器
geornd 幾何分佈的隨機數生成器
hygernd 超幾何分佈的隨機數生成器
lognrnd 對數正態分佈的隨機數生成器
nbinrnd 負二項分佈的隨機數生成器
ncfrnd 非中心f分佈的隨機數生成器
nctrnd 非中心t分佈的隨機數生成器
ncx2rnd 非中心卡方分佈的隨機數生成器
normrnd 正態(高斯)分佈的隨機數生成器,normrnd(a,b,c,d):產生均值為a、方差為b大小為cXd的隨機矩陣
poissrnd 泊松分佈的隨機數生成器
rand:產生均值為0.5、幅度在0~1之間的偽隨機數,rand(n):生成0到1之間的n階隨機數方陣,rand(m,n):生成0到1之間的m×n的隨機數矩陣
randn:產生均值為0、方差為1的高斯白噪聲,使用方式同rand
注:rand是0-1的均勻分佈,randn是均值為0方差為1的正態分佈
randperm(n):產生1到n的均勻分佈隨機序列
raylrnd 瑞利分佈的隨機數生成器
trnd 學生氏t分佈的隨機數生成器
unidrnd 離散均勻分佈的隨機數生成器
unifrnd 連續均勻分佈的隨機數生成器
weibrnd 威布林分佈的隨機數生成器
計算機不可能產生真正的隨機數,只是偽隨機數。matlab中rand和randn是產生隨機數的命令,x=rand(1,N) 產生(0,1)區間均勻分佈的長度為N的隨機訊號,x=randn(1,N)產生長度為N且具有零均值和單位方差的正態分佈的隨機訊號。
以下介紹利用Matlab產生均值為0,方差為1的符合正態分佈的高斯隨機數。
我們利用的函式為normrnd(a,b,c,d):產生均值為a、標準為b大小為cXd的隨機矩陣,它有如下三種引數形式:
R=normrnd(μ,σ)
R=normrnd(μ,σ):生成服從正態分佈(μ引數代表均值,σ引數代表標準差)的隨機數。輸入的向量或矩陣μ和σ必須形式相同,輸出R也和它們形式相同。標量輸入將被擴充套件成和其它輸入具有相同維數的矩陣。
R=normrnd(μ,σ,m)
R=norrmrnd(μ,σ,m):生成服從正態分佈(μ引數代表均值,σ引數代表標準差)的隨機數矩陣,矩陣的形式由m定義。m是一個1×2向量,其中的兩個元素分別代表返回值R中行與列的維數。
R=normrnd(μ,σ,m,n)
R=normrnd(μ,σ,m,n): 生成m×n形式的正態分佈的隨機數矩陣。其中μ為均值,σ為標準方差,m、n為矩陣大小;
>> R = normrnd(0,1,4,4) %產生4×4的標準正態分佈矩陣
R =
0.5377 0.3188 3.5784 0.7254
1.8339 -1.3077 2.7694 -0.0631
-2.2588 -0.4336 -1.3499 0.7147
0.8622 0.3426 3.0349 -0.2050
>> var(R) %預設方差公式
ans =
3.0868 0.6085 5.1253 0.2465
>> var(R,0) %預設方差公式(N-1)
ans =
3.0868 0.6085 5.1253 0.2465
>> var(R,1) %方差公式(N)
ans =
2.3151 0.4564 3.8440 0.1849
>> var(R,0,1) %列操作,第二引數為方差方式,第三引數為行、列標記
ans =
3.0868 0.6085 5.1253 0.2465
>> var(R,0,2) %行操作,第二引數為方差方式,第三引數為行、列標記
ans =
2.3549
3.3782
1.6184
2.0146
>> var(R') %check the ans
ans =
2.3549 3.3782 1.6184 2.0146
>> var(R(:)) %矩陣所有元素的方差
ans =
2.6020
參考:http://www.ilovematlab.cn/thread-172789-1-1.html
http://blog.sina.com.cn/s/blog_4c78d3fb01012c6f.html
相關文章
- 隨機矩陣隨機矩陣
- Matlab產生隨機數函式小結Matlab隨機函式
- matlab中的產生隨機數的rand函式Matlab隨機函式
- R產生隨機數隨機
- Rust中如何產生隨機數或密碼?Rust隨機密碼
- c++產生隨機數C++隨機
- MATLAB設定隨機數Matlab隨機
- matlab 生成隨機數序列Matlab隨機
- 【筆記】如何產生隨機數筆記隨機
- Matlab 隨機生成兩個數值之間的隨機數Matlab隨機
- 如何產生指定範圍的隨機數隨機
- bzoj2875: [Noi2012]隨機數生成器(矩陣乘法)隨機矩陣
- python生成隨機數、隨機字串Python隨機字串
- 求任意矩陣的伴隨矩陣矩陣
- Random 專案總結 -11 產生隨機數字random隨機
- 隨機數隨機
- Math類產生隨機數後保留一位小數隨機
- Python產生20個隨機整數的方法詳解!Python隨機
- Linux Shell 生成隨機數和隨機字串Linux隨機字串
- matlab生成0,1隨機序列Matlab隨機
- matlab標量或矩陣比較Matlab矩陣
- 隨機範圍小數和隨機範圍整數隨機
- Python如何隨機生成1到100的隨機數?Python隨機
- MATLAB中如何生成指定範圍的隨機整數向量Matlab隨機
- 介面測試-使用 mock 生產隨機資料Mock隨機
- 介面測試-使用mock生產隨機資料Mock隨機
- 關於如何產生隨機數的幾種方法彙總!(2018.07.08)隨機
- 隨機數漫談隨機
- Js Math隨機數JS隨機
- 明明的隨機數隨機
- JavaScript 生成隨機數JavaScript隨機
- C++ 隨機數C++隨機
- 伴隨矩陣和逆矩陣的關係證明矩陣
- matlab 從某個範圍內隨機取出一個整數Matlab隨機
- MATLAB生成服從各種分佈的隨機數函式Matlab隨機函式
- 偽隨機數是什麼?偽隨機數生成方法有哪些?隨機
- JavaScript 陣列隨機不重複元素JavaScript陣列隨機
- C++生成隨機數C++隨機
- java隨機數生成原理Java隨機