- ベストアンサー
ランダム関数の足し算とかけ算
検索しても情報が見つからなかったので教えてください。 Excelには、-1~+1までの間でランダムに数値を返す、RND関数がありますが、 RND + RND が返す値は-2~+2までの間でランダムな数となるのでしょうか? また、RND × RND が返す値はどのような分布になるのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
数学的にはどうなるか。0~1の一様乱数になっているx, yであって、しかもxとyが互いに独立(一方は、他方が幾らであるか、ということとは無関係である)とします。 「0~1の一様乱数」ってのは、その確率密度関数をφ1(t)とすると、 φ1(t) = (0≦t<1のとき1, さもなくば 0) となっているということ。つまり、ヒストグラムを描けば「0≦t<1のとき一定値1であり、それ以外のtについては0である」ということです。(Fig 1赤) x + y の確率密度関数をφa(t)とすると φa(t) = (0≦t<1のときt, 1≦t<2のとき1-t, さもなくば 0) になります。ヒストグラムを描けば二等辺三角形になっている。(Fig1青) x × y の確率密度関数をφm(t)とすると φm(t) = -ln(t) となります。ここにln( )は自然対数です。(Fig1緑) それぞれの分布関数 Φ(x) = ∫{t=0~x} φ(t) dt を計算すると、 Φ1(x) = (x<0のとき0, 0≦x<1のときx, 1≦xのとき1) (Fig 2赤) Φa(x) = (x<0のとき0, 0≦x<1のとき(x^2)/2, 0≦x<1のとき(2-(x-2)^2)/2, 2≦xのとき1) (Fig 2青) Φm(x) = (x<0のとき0, 0≦x<1のとき(1-ln(x))x, 1≦xのとき1) (Fig 2緑)
その他の回答 (3)
- satoron666
- ベストアンサー率28% (171/600)
http://www.relief.jp/itnote/archives/001183.php ここらへんが参考になるのかもしれないです。
- Gotthold
- ベストアンサー率47% (396/832)
> Excelには、-1~+1までの間でランダムに数値を返す、RND関数がありますが、 手元のExcel 2007で試してみましたが、そんな関数は無かったです。 0以上1未満の乱数を返す、RAND関数なら有りましたが。 (Excel VBAにならRND関数がありますが、こちらも返す値は0以上1未満で、-1~+1ではありません。) > RND + RND が返す値は-2~+2までの間でランダムな数となるのでしょうか? 仮にそういうRND関数があったとして、範囲は-2~+2になります。 ただし、確率密度関数は一様分布になりません。 (0付近が出現しやすく、-2や+2付近は出現しにくい。) > RND × RND こっちの範囲は0~+1になるでしょうね。2乗するのだから負の数は出現しないので。 確率密度関数はやっぱり一様分布にはなりません。
- vivace152
- ベストアンサー率55% (91/165)
まず、RND関数(ワークシート関数だとRAND関数)の返す値は、-1~+1ではなく、0~1未満(1は含まない)です。Rnd関数はVBAで使用する場合ですね。返す値は同じです。 なので、RAND+RANDが返す値は0~2未満の範囲になります。 RAND関数は、擬似乱数を返す関数なので値の分布は一様分布です。要は0.1が出る確率と0.9が出る確率とは理論的には同じということです。 また、RAND×RANDが返す値の範囲は0~1未満の範囲になりますが、ご想像されてる通り分布は一様分布ではなくなります。下記リンク先にヒストグラムが有りますので見てください。 一様乱数の積は一様乱数にはならない http://kashino.exblog.jp/12885005/