6 个版本 (稳定版)
1.0.3 | 2023年12月27日 |
---|---|
1.0.2 | 2023年10月19日 |
1.0.1 | 2023年3月11日 |
1.0.0 | 2023年2月20日 |
0.1.1 | 2021年6月6日 |
在 算法 中排名 334
每月下载量 1,003
在 7 个 包(4 个直接使用)中使用
17KB
177 行
interp
线性插值功能的 Matlab interp1
函数的 Rust 重实现。
API 文档可在 docs.rs 上找到。
使用方法
将 interp
添加到您的 Cargo.toml
文件中
[dependencies]
interp = "1.0"
或者,如果您需要 interp_array
功能(仅在 Rust 1.55.0 或更高版本上受支持)
[dependencies]
interp = { version = "1.0", features = ["interp_array"] }
示例
use interp::interp;
let x = vec![0.0, 0.2, 0.5, 0.8, 1.0];
let y = vec![0.0, 1.0, 3.0, 3.5, 4.0];
// Interpolate at a single point
assert_eq!(interp(&x, &y, 0.35), 2.0);
// Interpolate a vec
let xp = vec![0.1, 0.65, 0.9];
assert_eq!(interp_slice(&x, &y, &xp), vec![0.5, 3.25, 3.75]);
// Interpolate an array (requires the interp_array feature and Rust 1.55.0+)
let xp = [0.1, 0.65, 0.9];
assert_eq!(interp_array(&x, &y, &xp), [0.5, 3.25, 3.75]);
完整的 API 文档可在 docs.rs 上找到。
贡献
欢迎提交拉取请求。对于重大更改,请首先创建一个问题来讨论您希望进行的更改。
请确保适当更新测试。
您可以通过运行以下命令安装 pre-commit 插件(它检查格式等):
pip install -U pre-commit
pre-commit install
许可证
以下任一许可证下发布:
- Apache 许可证 2.0 (LICENCE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENCE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
除非您明确声明,否则任何有意提交以包含在此包中的贡献,根据 Apache-2.0 许可证的定义,应按上述方式双重许可,不附加任何额外条款或条件。
依赖项
~600KB
~11K SLoC