1. rand()函數用於生成取值在(0~1)之間均勻分布的偽隨機數。
rand(n):生成n*n的0~1之間的滿足均勻分布的偽隨機矩陣;
rand(m,n):生成m*n的偽隨機數;
rand(m,n,'double'):生成m*n的雙精度偽隨機數;
rand(m,n,'single'):生成m*n的單精度偽隨機數;
注:‘double’和‘single’單引號不能省。
2. randn()函數用於生成標准正態分布的偽隨機數。
randn:產生均值為0,方差σ^2 = 1,標准差σ = 1的正態分布的隨機數或矩陣的函數。
用法:
Y = randn(n):返回一個n*n的隨機項的矩陣。如果n不是個數量,將返回錯誤信息。
Y = randn(m,n) 或 Y = randn([m n]):返回一個m*n的隨機項矩陣。
Y = randn(m,n,p,...) 或 Y = randn([m n p...]):產生隨機數組。
Y = randn(size(A)):返回一個和A有同樣維數大小的隨機數組。
randn
返回一個每次都變化的數量。
s = randn('state')
舉例
Example 1. R = randn(3,4) 將生成矩陣
R =
1.1650 0.3516 0.0591 0.8717
0.6268 -0.6965 1.7971 -1.4462
0.0751 1.6961 0.2641 -0.7012
For a histogram of the randn distribution, see hist.
Example 2. 產生一個隨機分布的指定均值和方差的矩陣:將randn產生的結果乘以標准差,然后加上期望均值即可。例如,產生均值為0.6,方差為0.1的一個5*5的隨機數方式如下:
x = .6 + sqrt(0.1) * randn(5)
x =
0.8713 0.4735 0.8114 0.0927 0.7672
0.9966 0.8182 0.9766 0.6814 0.6694
0.0960 0.8579 0.2197 0.2659 0.3085
0.1443 0.8251 0.5937 1.0475 -0.0864
0.7806 1.0080 0.5504 0.3454 0.5813
3. randi()函數用於生成均勻分布的偽隨機整數,范圍為(imin~imax)(開區間),若imin缺省,默認為1.
randi(imax,1) 或 randi(imax):生成1*1的小於imax的偽隨機整數 ;
randi(imax,n):生成n*n的小於imax的偽隨機矩陣;
randi(imax,m,n) 或 randi(imax,[m,n]]):生成m*n的偽隨機矩陣;
randi(imax,m,n,p,...) 或 randi(imax,[m,n,p,...]):生成m*n*p*...的偽隨機矩陣;
randi(imax,size(A)):生成和A同維的偽隨機矩陣;
randi([imin,imax],n):生成n*n的,元素取值范圍為[imin,imax]的偽隨機矩陣。
注:前面若有imin,則[imin,imax]方括號不可缺省。
源自:https://blog.csdn.net/weixin_40583722/article/details/79165966