为excel随机数设置种子

use*_*622 13 random excel-2010 random-seed

在excel下面,公式将从正态分布生成随机数,均值为10,方差为1.有没有办法设置修复种子,以便我一直得到一组随机数?我正在使用Excel 2010

=NORMINV(RAND(),10,1)
Run Code Online (Sandbox Code Playgroud)

Joh*_*man 21

您可以使用电子表格函数实现自己的随机数生成器.例如,C++ 11具有莱默随机数发生器称为minstd_rand由所述获得的复发

X = X*g (mod m)
Run Code Online (Sandbox Code Playgroud)

在哪里g = 48271m = 2^31-1

A1你可以放置你的种子价值.在A2输入公式:

=MOD(48271*A1,2^31-1)
Run Code Online (Sandbox Code Playgroud)

然后将它复制到你需要的地方.

B2输入=A2/(2^31-1)C2输入中=NORM.INV(B2,10,1),根据需要进行复制.请注意,您始终可以替换A1by中的种子值

=RANDBETWEEN(0,2^31-2)
Run Code Online (Sandbox Code Playgroud)

如果你想重新开启不稳定的随机性.

以下屏幕截图显示了以这种方式生成的25个随机正常变量:

在此输入图像描述

从直方图可以看出,分布似乎大致正常.