2015-10-16 10 views
7

以下の表は、平均10と分散1の正規分布から乱数を生成します。乱数の固定セットを常に得るように修正シードを設定する方法はありますか?私は、あなたがのRnd()関数に基づいてVBAUDFを()使用することができますエクセル2010Excelの乱数を設定するシードを設定する

=NORMINV(RAND(),10,1) 
+0

このような方法がないことを示唆する参考文献があります。 http://answers.microsoft.com/en-us/office/forum/office_2003-excel/what-define-the-random-seed-within-excel/49085e19-3a63-4191-92db-27da5428b435 – EngrStudent

+0

乱数の不揮発性セットを取得するには、または本当に種を制御する必要がありますか? –

答えて

12

あなたはスプレッドシート関数を使用して、独自の乱数ジェネレータを実装することができます。例えば、C++ 11はあなたのシード値を置くことができ、再発A1

X = X*g (mod m) 

g = 48271m = 2^31-1

することによって得られるminstd_randと呼ばれるLehmer random number generatorを持っています。 A2で式を入力します。

=MOD(48271*A1,2^31-1) 

としかしこれまであなたが必要とするそれをコピーします。

B2=A2/(2^31-1)およびC2には、必要に応じてコピーを入力してください。=NORM.INV(B2,10,1)あなたは背中に揮発性のランダム性を有効にする場合は、必ず

=RANDBETWEEN(0,2^31-2) 

によってA1でシード値を置き換えることができることに注意してください。あなたは分布がおおよそ通常のようだヒストグラムから言うことができるように

enter image description here

次のスクリーンショットは、この方法で生成された25個のランダム通常の変数を示しています。