pub fn cubic_spline(node_x: &[f64], node_y: &[f64]) -> 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() {
    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();
    }
}