読者です 読者をやめる 読者になる 読者になる

Rubyで様々な乱数生成 + ruby gemのトラブルについて

Ruby

Rubyで様々な乱数を発生させるライブラリ

学校の演習で、正規分布乱数とかポアソン乱数とか発生させる必要があったので使用しました。

randomext です

randomext | RubyGems.org

Randomを拡張し、様々な乱数を発生させることができます
ex) 正規分布乱数、ポアソン乱数、指数乱数、二項分布など
詳細はドキュメントから

gem install randomext

で、インストールします

たとえば以下のようにすれば、指数分布の乱数を発生させることができます。
コメントアウトしている部分はポアソン乱数です。

require 'randomext'
random = Random.new

a = Array.new(1000,0)

1000.times do
#  a[random.poisson(10)] += 1
  a[random.exponential(15).to_i] += 1
end

100.times do |i|
  printf("%d %s\n", i, '+'*a[i])
end

 

ruby gem のトラブルについて

インストール時のままではruby gemが使えなかったので以下のサイトを参考に対応しました。

プロキシ環境下ではプロキシ登録が必要
 プロキシが邪魔してRubyGemsでインストールできないとき: 猫背ミジンコ
 

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

と表示されてたら、SSL証明書の更新が必要
  Windowsでgem installするとSSLエラーが出る場合の解決策
 

Please update your PATH to include build tools or download the DevKit
from 'http://rubyinstaller.org/downloads' and follow the instructions
at 'http://github.com/oneclick/rubyinstaller/wiki/Development-Kit'

と表示されたら、DivKitのインストールが必要
  Ruby de android ハマったこと(gem install)
ダウンロードサイトには、32bit版と64bit版があるんですが、自分の64bitOSに64bit版をインストールしたらgem installが失敗しました。
32bit版を入れたらうまくいったので、とりあえずOS問わず32bit版を入れたほうがいいと思います。

ruby gemが使えなかったら、おそらく上記のどれかの設定をしていないと思うので、確認してみてください。