Function peroxide::numerical::spline::cubic_spline
source · pub fn cubic_spline(node_x: &[f64], node_y: &[f64]) -> Result<CubicSpline>
Expand description
Cubic Spline (Natural)
§Description
Implement traits of Natural cubic splines, by Arne Morten Kvarving.
§Type
(&[f64], &[f64]) -> Cubic Spline
§Examples
#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;
fn main() -> Result<(), Box<dyn Error>> {
let x = c!(0.9, 1.3, 1.9, 2.1);
let y = c!(1.3, 1.5, 1.85, 2.1);
let s = cubic_spline(&x, &y)?;
let new_x = c!(1, 1.5, 2.0);
// Generate Cubic polynomial
for t in new_x.iter() {
s.polynomial_at(*t).print();
}
// -0.2347x^3 + 0.6338x^2 - 0.0329x + 0.9873
// 0.9096x^3 - 3.8292x^2 + 5.7691x - 1.5268
// -2.2594x^3 + 14.2342x^2 - 28.5513x + 20.2094
// Evaluation
for t in new_x.iter() {
s.eval(*t).print();
}
Ok(())
}