Skip to main content

Crate numra_fit

Crate numra_fit 

Source
Expand description

§Numra Curve Fitting

Nonlinear curve fitting, polynomial fitting, and evaluation.

This crate provides tools for fitting parametric models to data, built on top of numra-optim’s Levenberg-Marquardt solver and numra-linalg’s SVD-based least squares.

§Key functions

§Example

use numra_fit::{curve_fit, polyfit, polyval};

// Fit an exponential decay: y = a * exp(-b * x)
let x = vec![0.0, 1.0, 2.0, 3.0, 4.0, 5.0];
let y = vec![5.0, 3.03, 1.84, 1.11, 0.67, 0.41];

let result = curve_fit(
    |x: f64, p: &[f64]| p[0] * (-p[1] * x).exp(),
    &x, &y, &[4.0, 0.3], None,
).unwrap();

println!("a = {:.3}, b = {:.3}", result.params[0], result.params[1]);
println!("R^2 = {:.6}", result.r_squared);

Author: Moussa Leblouba Date: 9 February 2026 Modified: 2 May 2026

Re-exports§

pub use curve_fit::curve_fit;
pub use curve_fit::curve_fit_weighted;
pub use curve_fit::curve_fit_with_jacobian;
pub use error::FitError;
pub use polynomial::polyfit;
pub use polynomial::polyval;
pub use types::FitOptions;
pub use types::FitResult;

Modules§

curve_fit
Nonlinear curve fitting via Levenberg-Marquardt.
error
Error types for curve fitting.
polynomial
Polynomial fitting and evaluation.
types
Types for curve fitting results and options.