Class OneVariableFunctionFitter fits a parameterized one variable function to a set of points.

Namespace:  CenterSpace.NMath.Analysis
Assembly:  NMath (in NMath.dll) Version: 5.1.0.0

Syntax

C#
[SerializableAttribute]
public class OneVariableFunctionFitter<M> : ICloneable
where M : new(), INonlinearLeastSqMinimizer
Visual Basic (Declaration)
<SerializableAttribute> _
Public Class OneVariableFunctionFitter(Of M As {New, INonlinearLeastSqMinimizer}) _
	Implements ICloneable
Visual C++
[SerializableAttribute]
generic<typename M>
where M : gcnew(), INonlinearLeastSqMinimizer
public ref class OneVariableFunctionFitter : ICloneable

Type Parameters

M

[Missing <typeparam name="M"/> documentation for "T:CenterSpace.NMath.Analysis.OneVariableFunctionFitter`1"]

Remarks

In the space of the function parameters, begining at a specified starting point, finds a minimum (possibly local) in the sum of the squared residuals with respect to a set of data points. Uses a nonlinear least squares minimization to compute the solution. You must supply at least as many data points to fit as your function has parameters.
For example, the following code fits a 4-parameter logistic function to a set of 10 data points, beginning at point (0.1, 0.1, 0.1, 0.1) in the parameter space.
CopyC#
OneVariableFunctionFitter<TrustRegionMinimizer>; fitter = new OneVariableFunctionFitter<TrustRegionMinimizer>(AnalysisFunctions.FourParameterLogistic);

DoubleVector xValues = new DoubleVector(55, 64, 70, 76, 80, 90, 72, 65, 86, 75);
DoubleVector yValues = new DoubleVector(338, 328, 308, 225, 180, 142, 283, 325, 143, 250);
DoubleVector initialParameters = new DoubleVector("0.1 0.1 0.1 0.1");
DoubleVector solution = fitter.Fit(xValues, yValues, initialParameters);
Note that problems can have multiple local minima. Trying different initial parameter points is recommended for better solutions.

Inheritance Hierarchy

System..::.Object
  CenterSpace.NMath.Analysis..::.OneVariableFunctionFitter<(Of <(M>)>)
    CenterSpace.NMath.Analysis..::.BoundedOneVariableFunctionFitter<(Of <(M>)>)

See Also