🦀
Rustで正規分布からサンプリングする
Rustの乱数ライブラリであるrandで正規分布を作る方法が変わっていたのでメモを兼ねて書いておく。
サンプリングするコード
rand_distrを利用する必要がある。
use rand::prelude::{Distribution, thread_rng};
use rand_distr::Normal;
fn main() {
let mut rng = thread_rng();
let dist = Normal::<f64>::new(20.0, 5.0).unwrap();
for i in 0..10 {
println!("{}", dist.sample(&mut rng));
}
}
どのように変わったのか
昔はrand::distributions
以下に配置されていたので以下のように利用できた。
use rand::prelude::{Distribution, thread_rng};
use rand::distributions::Normal;
fn main() {
let mut rng = thread_rng();
let dist = Normal::<f64>::new(20.0, 5.0).unwrap();
for i in 0..10 {
println!("{}", dist.sample(&mut rng));
}
}
ちなみに
rand_distrにはかなり多くの分布が実装されているので使ってみてください。
Discussion