11 个版本

0.5.1 2024年2月26日
0.5.0 2022年12月29日
0.4.4 2022年12月29日
0.4.2 2022年10月22日
0.2.0 2019年11月8日

#509 in 数学

Download history 31/week @ 2024-03-10 13/week @ 2024-03-17 11/week @ 2024-03-24 77/week @ 2024-03-31 1/week @ 2024-04-07 4/week @ 2024-05-05 2/week @ 2024-05-12 28/week @ 2024-05-19 2/week @ 2024-05-26 21/week @ 2024-06-02 7/week @ 2024-06-09 17/week @ 2024-06-16 7/week @ 2024-06-23

52 个每月下载
用于 音高检测器

MIT 许可证

37KB
638

fitting-rs

crates.io docs.rs Build and Test Format and Lint codecov

Rust 的曲线拟合库

更新

查看 CHANGELOG.md

许可证

本项目采用 MIT 许可证。


lib.rs:


此库提供了 fitting::Gaussian,它表示高斯函数


详细信息

使用 Gaussian::new 获取表示高斯函数的结构体。

use fitting::Gaussian;

let gaussian = Gaussian::new(5., 3., 1.);
let x = 5.;
let y = gaussian.value(x);
assert_eq!(&y, gaussian.a());

使用 Gaussian::valueGaussian::values 获取函数的值。

use fitting::Gaussian;

let gaussian = Gaussian::new(5., 3., 1.);
let x = 5.;
let y = gaussian.value(x);
assert_eq!(&y, gaussian.a());

使用 Gaussian::fit 将数组拟合到高斯函数。

use fitting::approx::assert_abs_diff_eq;
use fitting::Gaussian;
use fitting::ndarray::{array, Array, Array1};

let gaussian = Gaussian::new(5., 3., 1.);
let x_vec: Array1<f64> = Array::range(1., 10., 1.);
let y_vec: Array1<f64> = gaussian.values(x_vec.clone());
let estimated = Gaussian::fit(x_vec, y_vec).unwrap();
assert_abs_diff_eq!(gaussian, estimated, epsilon = 1e-9);

依赖关系

~1.7–2.4MB
~49K SLoC