5 个不稳定版本

0.3.0 2019年7月26日
0.2.1 2019年3月30日
0.2.0 2019年1月5日
0.1.1 2018年11月18日
0.1.0 2018年10月24日

#2045算法

MIT/Apache

13KB
192

混合分布

Build Status mix-distribution mix-distribution

示例

use rand_distr::{Distribution, Normal};
use mix_distribution::Mix;

let mut rng = rand::thread_rng();

// Mixture of two distributions
let mix = {
    let dists = vec![
        Normal::new(0.0, 1.0).unwrap(),
        Normal::new(1.0, 2.0).unwrap(),
    ];
    let weights = &[2, 1];
    Mix::new(dists, weights).unwrap()
};
mix.sample(&mut rng);

// Mixture of three distributions
let mix = {
    let dists = vec![
        Normal::new(0.0, 1.0).unwrap(),
        Normal::new(1.0, 2.0).unwrap(),
        Normal::new(-1.0, 1.0).unwrap(),
    ];
    let weights = &[2, 1, 3];
    Mix::new(dists, weights).unwrap()
};
mix.sample(&mut rng);

// From iterator over (distribution, weight) pairs
let mix = Mix::with_zip(vec![
    (Uniform::new_inclusive(0, 0), 2),
    (Uniform::new_inclusive(1, 1), 1),
])
.unwrap();
mix.sample(&mut rng);

许可证

版权所有 2018 Hidehito Yabuuchi <[email protected]>

许可协议为 MIT 协议 <LICENSE-MIT 或 http://opensource.org/licenses/MIT>,或 Apache 许可协议 2.0 <LICENSE-APACHE 或 http://apache.ac.cn/licenses/LICENSE-2.0>,您可选择其一。所有包含此类声明的项目文件不得复制、修改或分发,除非遵守相关条款。

依赖项

~755KB
~14K SLoC