如何从具有特定均值和方差的正态分布生成随机数?

时间:2013-04-08 17:07:19

标签: matlab gaussian

我需要使用n函数生成randn个数的高斯随机样本,均值为0且方差为1。

一般情况下,如何使用X函数生成nmu个数的高斯随机样本v,平均randn和方差{{1}} ?

2 个答案:

答案 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])