我需要使用randn
函數生成一個高斯隨機樣本的n
數字,均值爲0,方差爲1。如何從具有特定均值和方差的正態分佈生成隨機數?
一般情況下,我將如何產生高斯隨機抽樣n
數X
,平均mu
和方差v
,使用randn
功能?
我需要使用randn
函數生成一個高斯隨機樣本的n
數字,均值爲0,方差爲1。如何從具有特定均值和方差的正態分佈生成隨機數?
一般情況下,我將如何產生高斯隨機抽樣n
數X
,平均mu
和方差v
,使用randn
功能?
一個standard normal distribution已經均值爲0,方差爲1
如果你想改變的意思,只是「翻譯」分佈,即你的平均值添加到每個生成的號碼。同樣,如果您想更改差異,只需「縮放」分佈,即將所有數字乘以sqrt(v)
即可。例如,
v = 1.5; % variance
sigma = sqrt(v); % standard deviation
mu = 2; % mean
n = 1000
X = sigma .* randn(n, 1) + mu;
stats = [mean(X) std(X) var(X)]
請參閱以下文章:
https://ch.mathworks.com/help/matlab/math/random-numbers-with-specific-mean-and-variance.html
獲取更多信息。
你也可以撥打
normrnd(0,1,[M,N])
或
random('Normal',0,1,[M,N])