interpolate_linear

Function interpolate_linear 

pub fn interpolate_linear(
    times: &[f64],
    values: &[f64],
    time: f64,
) -> Result<f64, ObservationError>
Expand description

Linearly interpolate a value at time. Clamps to boundary values.

use pharmsol::data::auc::interpolate_linear;

let times = [0.0, 2.0, 4.0];
let values = [0.0, 10.0, 6.0];
assert!((interpolate_linear(&times, &values, 1.0).unwrap() - 5.0).abs() < 1e-10);
assert!((interpolate_linear(&times, &values, 3.0).unwrap() - 8.0).abs() < 1e-10);