• ベストアンサー

ランダム関数の足し算とかけ算

検索しても情報が見つからなかったので教えてください。 Excelには、-1~+1までの間でランダムに数値を返す、RND関数がありますが、 RND + RND が返す値は-2~+2までの間でランダムな数となるのでしょうか? また、RND × RND が返す値はどのような分布になるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.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)

回答No.3

http://www.relief.jp/itnote/archives/001183.php ここらへんが参考になるのかもしれないです。

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.2

> 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)
回答No.1

まず、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/