- 締切済み
C++ による指数乱数発生プログラムを書きたいのですが。。。
平均値(期待値)が、例えば30の指数乱数発生プログラムを、C++を使って書いてみたいのですが、どうやったらいいのかよく分かりません。いろいろなサイトを見て回ったのですが、これといったものが見付かりませんでした。 どなたか、大変申し訳ありませんが、ソースコードをご存知の方がいましたら教えていただけないでしょうか?
- starground
- お礼率28% (101/354)
- C・C++・C#
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- junneko
- ベストアンサー率38% (7/18)
次のようにしてはいかがでしょう。 double exprand(double t,double r) { return t * -log(1.0-r); } ここで、tは指数分布の平均、rには0以上1未満の疑似一様乱数を与えます。
関連するQ&A
- 乱数を発生させるプログラムを教えてください。
タイトルのままなのですが、1から100までの乱数を発生させるプログラムを知りたいです。 乱数をxとおくと、xの値は、0<x<1の範囲内でお願いします。 C言語で、rand関数を用いて、どうかお願いします。
- ベストアンサー
- C・C++・C#
- 乱数発生プログラムについて教えて下さい。
わからない問題があるのですが、わかる方がいれば教えていただきたいです。問題は ・乱数発生プログラムによって次のような個数のデータを発生させる。 500個から3000個までは500個刻み 3000個から10000個までは1000個刻み ・各データについてヒープソートについてソーティングを行いソーティングに要する時間を計測する。 ・各データについて3回のソーティングを行い、その平均時間を各データのソーティング時間とする。 大変困っているので誰か教えて下さい。お願いします!!
- ベストアンサー
- その他(ソフトウェア)
- 発生乱数の偏りを無くしたい
エクセルで=RAND()を用いてA1~A100のセルに100個乱数を発生させたときに(乱数は0~1の幅)、0~1の値を偏り無く発生させることは可能でしょうか?? 発生した100個の乱数をコピーして形式を“値”にして貼り付けてその100個の乱数の平均や中央値をみてみると0.5にはならないことから疑問に思いました・・・。 ご存知の方アドバイスよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 乱数の発生確率(c++)
0,1の2値の乱数を発生させるとき、1の発生確率を例えば20%にするにはどのようにすればよいのでしょうか。 発生乱数を除算して余りを求めて・・・・の方法など試したのですが、うまいこといきませんでした。(プログラムが動かないのではなく結果が) 私の確率の認識が間違っているのかもしれませんが、この場合、1000個発生させた場合、300近く1が出れば良いということですよね。
- ベストアンサー
- C・C++・C#
- 乱数 メルセンヌツイスターについて
メルセンヌツイスター法(MT法)について少し調べることになったのですが、メルセンヌツイスターのサイトにC言語のソースがあったので動かしてみました。 確かに乱数が発生するのですが、ソースをみてもどういう動きで乱数を生成してるのかがわかりません。 メルセンヌツイスターはどうやって乱数をつくりだしているのでしょうか? わかる方がいらっしゃいましたら、教えてください。
- 締切済み
- C・C++・C#