6 个版本
0.1.5 | 2021年11月13日 |
---|---|
0.1.4 | 2020年10月5日 |
0.1.3 | 2020年7月25日 |
#305 in 科学
每月50次下载
14KB
505 行
Z 表
此包提供标准正态表的查找函数,也称为 Z 表。因为查找函数是 const fn
,它们可以在编译时评估。此包是
- 小型
- 快速,因为它依赖于简单的表查找并且可以在编译时评估
- 极简主义,仅提供一些基本的表查找函数
请注意,此包不是最精确的,因为它仅依赖于表查找。
如果您需要更精确且功能更强大的东西,请不要使用此包。一个替代方案是 statrs。
示例
use z_table::{lookup_with, reverse_lookup_with};
fn main() {
// Some birth weights of newborns in kg.
let birth_weights: [f32; 5] = [2.5, 2.7, 3.1, 3.4, 3.6];
let n = birth_weights.len() as f32;
// Calculate the average weight of a newborn.
let mean: f32 = birth_weights.iter().sum::<f32>() / n;
// Calculate the variance and standard derivation.
let variance: f32 = birth_weights.iter().map(|x| x.powi(2)).sum::<f32>() / n - mean.powi(2);
let standard_derivation = variance.sqrt();
println!(
"The probability of a newborn to weight less than 3.5 kg is {} %",
lookup_with(3.5, mean, standard_derivation) * 100.0
);
println!(
"The weight of a newborn is with a 90 % probability under {} kg",
reverse_lookup_with(0.9, mean, standard_derivation)
);
}
输出为
The probability of a newborn to weight less than 3.5 kg is 85.54277 %
The weight of a newborn is with a 90 % probability under 3.588379 kg