我需要使用n
函数生成randn
个数的高斯随机样本,均值为0且方差为1。
一般情况下,如何使用X
函数生成n
个mu
个数的高斯随机样本v
,平均randn
和方差{{1}} ?
答案 0 :(得分:10)
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
了解更多信息。
答案 1 :(得分:4)
您也可以致电
normrnd(0,1,[M,N])
或
random('Normal',0,1,[M,N])