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
其他類似函式:
rand, randperm, sprand, sprandn
均勻分布的隨機數或矩陣
語法y = rand(n)
y = rand(m,n)
y = rand([m n])
y = rand(m,n,p,...)
y = rand([m n p...])
y = rand(size(a))
rand
s = rand('state')
描述rand
函式產生由在
(0, 1)
之間均勻分布的隨機數組成的陣列
y = rand(n)
返回乙個
n x n
的隨機矩陣如果
n不是數量,則返回錯誤資訊
y = rand(m,n)
或y = rand([m n])
返回乙個
m x n
的隨機矩陣
y = rand(m,n,p,...)
或y = rand([m n p...])
產生隨機數組
y = rand(size(a))
返回乙個和
a有相同尺寸的隨機矩陣1,
rand(3)*-2 rand(3
)是乙個
3*3的隨機矩陣(數值範圍在
0~1之間)
然後就是每個數乘上-22
,用matlab
隨機產生60個
1到365之間的正數
1+fix
(365*rand(1
,60));3
,用rand
函式隨機取
100個從-1到
1的數x1,
x2,...,
x = rand(1,100) * 2 - 1
對數正態分佈的隨機數
產生對數正態分佈的隨機數。對數正態分佈的概率密度函式為 f x left frac sigma exp left frac right x 0 0 x leqslant 0 end right.對數正態分佈的均值為 e 2 方差為 e 1 e 首先產生正態分佈的隨機變數 y 然後通過變換 x e 產...
C語言產生標準正態分佈或高斯分布隨機數
c語言 產生標準正態分佈或高斯分布 隨機數 產生正態分佈或高斯分布的三種方法 1.運用中心極限定理 大數定理 1 include 2 include 34 define nsum 2556 double gaussrand 714 15 x nsum 2.0 16 x sqrt nsum 12.0 ...
C語言 產生標準正態分佈或高斯分布 隨機數
c語言 產生標準正態分佈或高斯分布 隨機數 產生正態分佈或高斯分布的三種方法 1.運用中心極限定理 大數定理 1 include 2 include 3 4 define nsum 25 5 6 double gaussrand 7 14 15 x nsum 2.0 16 x sqrt nsum 1...