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
curve_fit()- Fit anyy = f(x, params)model to datacurve_fit_weighted()- Weighted nonlinear least squarespolyfit()- Fit polynomial of given degreepolyval()- Evaluate polynomial at given points
§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.