• 締切済み

C++ による指数乱数発生プログラムを書きたいのですが。。。

平均値(期待値)が、例えば30の指数乱数発生プログラムを、C++を使って書いてみたいのですが、どうやったらいいのかよく分かりません。いろいろなサイトを見て回ったのですが、これといったものが見付かりませんでした。 どなたか、大変申し訳ありませんが、ソースコードをご存知の方がいましたら教えていただけないでしょうか?

みんなの回答

  • junneko
  • ベストアンサー率38% (7/18)
回答No.1

次のようにしてはいかがでしょう。 double exprand(double t,double r) { return t * -log(1.0-r); } ここで、tは指数分布の平均、rには0以上1未満の疑似一様乱数を与えます。

関連するQ&A

  • Excel2007 一様乱数 指数乱数を用いてポアソン乱数を発生させる

    指数乱数を用いてポアソン乱数を発生させるにはどうすれば良いのでしょうか。

  • 乱数を発生させるプログラムを教えてください。

    タイトルのままなのですが、1から100までの乱数を発生させるプログラムを知りたいです。 乱数をxとおくと、xの値は、0<x<1の範囲内でお願いします。 C言語で、rand関数を用いて、どうかお願いします。

  • 乱数発生プログラムについて教えて下さい。

    わからない問題があるのですが、わかる方がいれば教えていただきたいです。問題は ・乱数発生プログラムによって次のような個数のデータを発生させる。 500個から3000個までは500個刻み 3000個から10000個までは1000個刻み ・各データについてヒープソートについてソーティングを行いソーティングに要する時間を計測する。 ・各データについて3回のソーティングを行い、その平均時間を各データのソーティング時間とする。 大変困っているので誰か教えて下さい。お願いします!!

  • 乱数について

    こんばんは。 何度も申し訳ありませんが、今回は乱数について教えてください。 LinuxでCを勉強しているんですが、 randで乱数を発生させることはできたんですが、 そのプログラムを何度実行させても 出てきた乱数は同じ値なんです。 プログラム内で例えば10こ乱数を発生させたとすると 違うものが出ます。 しかし、もう一度そのプログラムをはしらせると 前回と全く同じ並びで同じ数が出るのはどうしてでしょうか? 言ってる意味わかっていただけましたでしょうか? 宜しくお願いします。

  • 発生乱数の偏りを無くしたい

    エクセルで=RAND()を用いてA1~A100のセルに100個乱数を発生させたときに(乱数は0~1の幅)、0~1の値を偏り無く発生させることは可能でしょうか?? 発生した100個の乱数をコピーして形式を“値”にして貼り付けてその100個の乱数の平均や中央値をみてみると0.5にはならないことから疑問に思いました・・・。 ご存知の方アドバイスよろしくお願いします。

  • 乱数の発生確率(c++)

    0,1の2値の乱数を発生させるとき、1の発生確率を例えば20%にするにはどのようにすればよいのでしょうか。 発生乱数を除算して余りを求めて・・・・の方法など試したのですが、うまいこといきませんでした。(プログラムが動かないのではなく結果が) 私の確率の認識が間違っているのかもしれませんが、この場合、1000個発生させた場合、300近く1が出れば良いということですよね。

  • c言語乱数について

    トランプのシャッフルと同様な操作をコンピュータで行いたい。52枚のトランプを配列に置き換え、1~52の乱数を割り当てる。ただし発生した乱数はすでに割り当て済みの数である場合は、まだ割り当てていない乱数が出るまで繰り返すものとする。 というプログラムをC言語でつくりたいのですがまったくわからないので誰か教えてください。お願いします。

  • 乱数発生

    自分でC++で乱数を発生させたいのですが、どのようなアリゴリズムで発生させればいいか教えてください。(時間を使うといいと聞きましたがどのように使うのでしょう)

  • C++で乱数発生

    C++で[0,1]区間を100等分した値、つまり0.00以上始まり1.00以下の乱数を発生させ、値ごとに何個現れたかをカウントするには、どうしたらよいのか教えて下さい。私はプログラミングの知識や本等一切ありません。できるだけ詳しく教えてほしいです。

  • 乱数 メルセンヌツイスターについて

    メルセンヌツイスター法(MT法)について少し調べることになったのですが、メルセンヌツイスターのサイトにC言語のソースがあったので動かしてみました。 確かに乱数が発生するのですが、ソースをみてもどういう動きで乱数を生成してるのかがわかりません。 メルセンヌツイスターはどうやって乱数をつくりだしているのでしょうか? わかる方がいらっしゃいましたら、教えてください。

専門家に質問してみよう