プロが教えるわが家の防犯対策術!

検索しても情報が見つからなかったので教えてください。


Excelには、-1~+1までの間でランダムに数値を返す、RND関数がありますが、

RND + RND が返す値は-2~+2までの間でランダムな数となるのでしょうか?


また、RND × RND が返す値はどのような分布になるのでしょうか?

A 回答 (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緑)
「ランダム関数の足し算とかけ算」の回答画像4
    • good
    • 0

http://www.relief.jp/itnote/archives/001183.php

ここらへんが参考になるのかもしれないです。
    • good
    • 0

> 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乗するのだから負の数は出現しないので。
確率密度関数はやっぱり一様分布にはなりません。
    • good
    • 0

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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!