# Curve Fitting

Whether you’re using C#, Visual Basic (VB.NET), F#, IronPython, Numerics.NET makes it easy to include curve fitting functionality in your .NET applications. Numerics.NET is a complete math, vector/matrix data analysis, and statistics package for the Microsoft .NET platform. Curve fitting features include:

• Interpolation using polynomials, cubic splines, piecewise constant and linear curves.
• Linear least squares fit using polynomials, Chebyshev polynomials, or arbitrary functions.
• Nonlinear least squares using predefined functions or your own.
• Predefined nonlinear curves: exponential, rational, Gaussian, Lorentz, 4 and 5 parameter logistic.
• Weighted least squares, with 4 predefined weight functions.
• Scaling of curve parameters.
• Constraints on curve parameters.
• Confidence and prediction bands New!

## Curve fitting classes

The classes that implement the curve fitting functionality live in the Extreme.Mathematics.Curves namespace. The principal classes are:

### Curve Fitting Algorithms

• LinearCurveFitter Represents an algorithm that calculates a linear least squares fit of a curve.
• NonlinearCurveFitter Represents an algorithm that fits a nonlinear curve to data.
• LevenbergMarquardtOptimizer Implements the Levenberg-Marquardt algorithm for non-linear least-squares.
• WeightFunctions Contains a set of standard weight functions that can be used in linear and nonlinear curve fitting.

### Curve objects

• Curve Represents a curve in two-dimensional space. This is the abstract base class of all curve objects.
• ParameterCollection Represents the set of parameters that determine the shape of a particular type of Curve.
• Polynomial Represents a polynomial.
• ChebyshevSeries Represents a Chebyshev polynomial series.
• CubicSpline Represents a cubic spline curve.
• GeneralCurve Represents a curve in two-dimensional space whose value is defined by a RealFunction delegate.
• NonlinearCurve Represents a Curve that can be used for a non-linear regression calculation.

The Curve Fitting section of the Mathematics Library User’s Guide explains their use in detail.

## Curve Fitting Sample Application

 With only a few lines of code, you can fit data points to a set of arbitrary functions. This sample shows you how. For more information, click on the image to the right. This sample is also part of our trial version.

## Curve fitting QuickStart Samples

Our library comes with a large number of QuickStart samples that help you to get started in minutes. The following samples illustrate how to use the curve fitting functionality:

Project Description View source
LinearCurveFitting Illustrates curve fitting of polynomials and arbitrary linear functions using linear least squares. C# VB.NET
NonlinearCurveFitting Illustrates curve fitting of nonlinear functions using nonlinear least squares. C# VB.NET

## Trial version

If you would like to evaluate Extreme Numercs.NET, you can download a free, fully functional 60-day trial version. In addition to the code samples discussed here, it includes about 70 other samples as well as complete documentation for the entire library.