///|
/// 统计与分布采样示例
/// 演示描述性统计和概率分布采样
fn main raise {
// 初始化随机数生成器
@stats.prng_init(42)
// 生成正态分布样本
let samples = []
for _ in 0..<100 {
samples.push(@stats.gaussian_rvs(0.0, 1.0))
}
// 描述性统计 (stats 函数接受 Array[Double])
let mean = @stats.mean(samples)
let variance = @stats.variance(None, samples)
let std = @stats.std(None, samples)
let min = @stats.min(samples)
let max = @stats.max(samples)
println("正态分布 N(0,1) 采样统计 (n=100):")
println(" 均值: \{mean}")
println(" 方差: \{variance}")
println(" 标准差: \{std}")
println(" 最小值: \{min}")
println(" 最大值: \{max}")
// 其他分布采样
let exp_sample = @stats.exponential_rvs(1.0)
println("\n指数分布 Exp(1) 采样: \{exp_sample}")
let gamma_sample = @stats.gamma_rvs(2.0, 1.0)
println("伽马分布 Gamma(2,1) 采样: \{gamma_sample}")
let bernoulli_sample = @stats.bernoulli_rvs(0.7)
println("伯努利分布 Bern(0.7) 采样: \{bernoulli_sample}")
// 直方图
let hist = @stats.histogram(@stats.BinSpec::N(10), None, samples)
println("\n直方图 (10 bins):")
for i in 0..