使用Excel生成具有特定分布的随机数字

我想产生100个正态分布的随机数(μ= 10,σ= 7),然后绘制这些数字的数量图。

如何在Excel 2010中生成具有特定分布的随机数字?

还有一个问题:

例如,当我用RANDBETWEEN(Bottom,Top)生成20个随机数时,每次重新计算纸张时数字都会改变。 我怎样才能防止这种情况发生?

7 Solutions collect form web for “使用Excel生成具有特定分布的随机数字”

RAND()一起使用NORMINV函数:

 =NORMINV(RAND(),10,7) 

为了防止随机值发生变化,请select所有值,复制它们,然后将这些值粘贴(特殊)返回到相同的范围。


样本输出(列A),用此公式生成的500个数字:

在这里输入图像说明

正如@osknows在上面的评论中所说的(而不是我为什么要添加这个答案的答案),Analysis Pack具有随机数生成function来生成一组数字。 一个很好的总结链接在http://www.bettersolutions.com/excel/EUN147/YI231420881.htm

如果你有优秀的2007年,你可以使用

 =NORMSINV(RAND())*SD+MEAN 

因为2010年关于Excel的function发生了很大的变化

在维基百科关于随机数字的文章中谈到使用抽样技术时,要拿出一个赃物。 你可以通过插入这个方程来find正态分布的等式

正常发行的pdf

(通过维基百科的方程式)

至于第二个问题,进入圆形办公室图标下的选项,去公式,并将计算更改为“手动”。 这将保持你的工作表,而不是每次重新计算公式。

关于重新计算:

您可以通过调整automatic recalculation来保持每次进行调整时随机值的变化: manual recalculate 。 (重新)计算,然后只有当你按下F9完成。 或者转移F9。

看到这个链接(虽然对于比2013年更旧的Excel版本)有关它的一些信息: https : //support.office.com/en-us/article/Change-formula-recalculation-iteration-or-precision-73fc7dac- 91cf-4d36-86e8-67124f6bcce4 。

Rand()生成0到1之间随机数的均匀分布,但是norminv(或norm.inv)函数将均匀分布的Rand()作为input来生成正态分布的样本集。

生成的数字

 =NORMINV(RAND(),10,7) 

是均匀分布的。 如果你想要的数字是正态分布的,你将不得不写一个函数,我猜。

  • 将每一行从第一行复制到另一行