c++/boost 乱数生成

並列計算への旅vol.1

(投稿日時を見てみたら2012年も半分終わったんですなあということで月日が流れるのは早いものです)

ということでひとまずは目標としてモンテカルロシミュレーションでも並列計算ができたらなあと考えておりますので,
その1つめの道のりということでまずは乱数を発生させてみましょうというコーナー

c++もほとんど初めて触った(もっぱらCをぶん回しているので)ワタクスにとってはおまじないが多いなあという印象なのですがまあ動いているのでよしとしましょう汗

時間も測れるように

目標が並列計算なので,計算速度を計測する必要がありますよねということで

boost/progress.hppを使えば1行で処理速度を計測して出力までしてくるので便利な世の中だなーという印象を受けました笑
特定の処理の部分だけの処理速度を計測したい場合には{}で囲むとよろしいある.

本当に生成されてるん?

本当に意図した分布の乱数が生成されているのかが分からなかったのでcsvで書き出して確認してしましょうという粘着コーナー笑

ということで一様乱数から標準正規乱数に変えるにあたり,

に変えました.
書き出しの仕方が古臭いのはツッコまない方向で汗
この部分も後々boostで書き換えたいと思います(実はその部分で大きくハマったのではありますが汗)

で,書きだされたcsvのヒストグラムや統計値でも眺めてみましょうかということでRにでもぶち込んでみましょう

(今気づいたのですが,シンタックスハイライターにR言語用のものが無い件について)

で,まあ平均0標準偏差1ということで標準正規分布っぽいものが生成されましたと.