#standard-deviation #list #largest #smallest #average #math #operations

list_math

一个用于在列表上进行数学运算的crate,包括平均值、最小值、最大值和标准差

8个版本

新发布 0.3.4 2024年8月18日
0.3.3 2024年3月20日
0.2.1 2024年3月17日
0.1.0 2021年3月18日

#312算法

Download history • Rust 包仓库 2/week @ 2024-05-20 • Rust 包仓库 134/week @ 2024-08-12 • Rust 包仓库

134 每月下载量

MIT 许可证

9KB
79

GitHub Actions Workflow Status Crates.io Downloads (version) GitHub Issues or Pull Requests Crates.io Version

list_math

此crate提供在Rust中对列表执行基本数学运算的函数。

安装

将以下行添加到您的Cargo.toml文件中

[dependencies]
list_math = "0.3.4"

然后运行cargo build安装crate。

使用方法

最大值函数

最大值函数用于找到isize值列表中的最大元素。

use list_math::largest;

fn main() {
let numbers = vec![ 3 , 10 , - 1 , 5 ];
let biggest = largest(&numbers);
println!("The largest number is: {}", biggest);
}

此代码将打印

The largest number is: 10

最小值函数

最小值函数用于找到isize值列表中的最小元素。

use list_math::smallest;

fn main() {
let numbers = vec![ 3 , 10 , - 1 , 5 ];
let biggest = smallest(&numbers);
println!("The smallest number is: {}", biggest);
}

此代码将打印

The smallest number is: -1

AverageList结构体

AverageList结构体可以帮助您跟踪i32值的运行平均值。

use list_math::AverageList;

fn main() {
let mut avg_list = AverageList::new();
avg_list.add( 2 );
avg_list.add( 8 );
avg_list.add( 4 );
println!("Current average: {}", avg_list.average()); // Output: 4.
avg_list.remove(); // Removes last element (4)
println!("Average after removal: {}", avg_list.average()); // Output: 5.
}

此代码将打印

Current average: 4.
Average after removal: 5.

方法:● new:创建一个具有初始平均值为0的新AverageList。● add(value):向列表添加新值并更新平均值。● remove:从列表中移除最后添加的值并更新平均值(如果列表为空则返回None)。● average:返回当前平均值的f64。

函数:standard_deviation

描述

此函数计算浮点数列表的标准差。标准差是衡量数据从其平均值(平均数)偏离程度的一个指标。

参数

data:类型为&[f64]的切片。这表示对浮点数切片的引用。

返回类型

Option<f64>:该函数返回一个类型为f64的Option。Option类型可以持有Some(value),其中value是计算出的标准差,或者None(如果有错误,例如空数据列表)。

错误处理

该函数通过返回None处理空数据列表的情况。

该函数首先检查输入数据是否为空。如果不为空,它计算数据的平均值。然后,它遍历数据并计算每个元素相对于平均值的平方偏差。通过将平方偏差之和除以数据长度(data.len())减去1.0作为f64值,应用贝塞尔校正。这调整了从样本中估计总体均值时引入的偏差。最后,函数返回方差的平方根(平方偏差之和除以调整后的元素数量),即标准差。

示例用法

fn main() {
  let numbers = vec![1.0, 3.0, 5.0, 7.0, 9.0];
  let std_dev = standard_deviation(&numbers);

  if let Some(std_dev) = std_dev {
    println!("Standard deviation: {}", std_dev);
  } else {
    println!("Empty data list");
  }
}

注意:此函数假定数据类型为f64浮点数。

贡献

我们欢迎对此crate做出贡献!有关如何参与的详细信息,请发邮件至 piscitello284@gmail.com

问题

如果您遇到任何奇怪的问题,请在此 https://github.com/jameson-pi/list_math 提交问题。

许可协议

此crate采用MIT许可证。

无运行时依赖