#interpolation #array #dimensional #values #coordinates #grid #interp

libreda-interp

Interpolation of one and two dimensional arrays

1 unstable release

0.0.3 Jun 4, 2024

#2070 in Algorithms


Used in libreda-sta

GPL-3.0-or-later

25KB
426 lines

1D & 2D Interpolation

interp provides functions for interpolation of one dimensional and two dimensional array.

Example

use interp::interp2d::Interp2D;

// Create 2D array of values.
let grid = ndarray::array![
    [0.0f64, 0.0, 0.0],
    [0.0, 1.0, 0.0],
    [0.0, 0.0, 0.0]
];

// Create grid coordinates.
let xs = vec![0.0, 1.0, 2.0];
let ys = vec![3.0, 4.0, 5.0];

// Create interpolator struct.
let interp = Interp2D::new(xs, ys, grid);

// Evaluate the interpolated data at some point.
assert!((interp.eval_no_extrapolation((1.0, 4.0)).unwrap() - 1.0).abs() < 1e-6);

lib.rs:

Interpolation of one and two dimensional data.

Dependencies

~1.5MB
~26K SLoC