8 个稳定版本
1.1.3 | 2020年10月28日 |
---|---|
1.1.1 |
|
1.1.0 | 2020年10月22日 |
1.0.4 | 2020年10月18日 |
1.0.2 | 2020年10月17日 |
#785 in 数学
45 每月下载量
14KB
229 行
makima_spline
修改后的 Akima 插值实现
+ 线性外推
+ 1., 2., 和 3. 阶导数
+ 二次样条插值作为特性
使用方法
use makima_spline::Spline;
你的数据格式如下
let x = vec![1., 2., 3., 4., 5., 6., 7., 8.];
let y = vec![-1., -1., -1., 0.0, 1., 1., 1., 1.];
转换为样条使用的类型 Vec<(f64, f64)>
let points = makima_spline::vec_to_points(&x, &y);
从数据点构建样条
let spline = Spline::from_vec(points);
为了采样,这样做
let y = spline.sample(x);
2D 插值
基于 bicubic crate,可以执行二维插值。
创建点
let x = vec![-1.0, 0.0, 2.0];
let y = vec![-0.0, 1.0];
let f = vec![5.0, 4.0, 5.0, 1.0, 1.0, 1.0];
构建 Bicubic
结构体
let bci = makima_spline::n_dimensional::bicubic_from_grid(&x, &y, &f);
子模块称为 n_dimensional
,以防将来支持更高维度,但当前只支持 2D 插值