乱数を使った数値処理は色々ある。暗号の世界では予測出来ないような乱数が重要だったような?また、シェル芸本に数値データを扱う記事があり、そこでモンテカルロ法で円周率を求める方法が記載されていた。gihyo.jp面積を求める時に乱数座標で打ち抜くモンテカルロ法ってのがある。モンテカルロ法では、一様乱数の質が良いことが求められるはず?じゃあ実際にプロットされる乱数座標がどんな感じなのか、アニメーションGIFを作ってみることにした。乱数というかランダムビット生成には/dev/urandomという乱数生成仮想デバイスを使うのがお手軽だが、LinuxやMacでは読み出し速度があんまり速くない。実験した限りではFreeBSDが比較的早い。awkにrand()という0から1の範囲で乱数を生成する関数がある。/dev/urandomから読み出すより処理が速かったので、今回はawkのrand()関数を使うことにする。いうことで、100万の擬似一様乱数座標をプロットし、円周率が収束していくアニメーション作成のシェルスクリプトを作ってみた。実行環境は下記の通り。Tukubai作成したシェルスクリプトは下記の通り。実行するとanimate.gifという名前のアニメーションGIFが出来る。gnuplotスクリプトを、Tukubaiのmojihameコマンドを使って作成している。animate.gif乱数座標の数と円周率を、画像上部のタイトルに表示してある。こんな感じのアニメーションになった。乱数座標は密度のバラツキが多少ある。綺麗にバラついた一様乱数座標があると、精度の高い円周率を求めることが出来るのかもしれない。福岡市内に繰り出すと大勢の人で賑わっていた。はてなブログPro情報処理ってもっとシンプルにならないだろうか?PKI関連、RubyやPHP等のLL、シェルスクリプト、シェル芸、ユニケージ見習い未満。シェルスクリプトとシェル芸はきっと違うんですよ。JPはてなブログをはじめよう!papiroさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。