| OneVariableFunctionFitterM Class |
Class OneVariableFunctionFitter fits a parameterized one variable function to a set of points.
Inheritance Hierarchy Namespace: CenterSpace.NMath.CoreAssembly: NMath (in NMath.dll) Version: 7.4
Syntax public class OneVariableFunctionFitter<M> : ICloneable
where M : new(), INonlinearLeastSqMinimizer
Public Class OneVariableFunctionFitter(Of M As {New, INonlinearLeastSqMinimizer})
Implements ICloneable
generic<typename M>
where M : gcnew(), INonlinearLeastSqMinimizer
public ref class OneVariableFunctionFitter : ICloneable
type OneVariableFunctionFitter<'M when 'M : new() and INonlinearLeastSqMinimizer> =
class
interface ICloneable
end
Type Parameters
- M
[Missing <typeparam name="M"/> documentation for "T:CenterSpace.NMath.Core.OneVariableFunctionFitter`1"]
The OneVariableFunctionFitterM type exposes the following members.
Constructors Properties | Name | Description |
---|
| Function |
Gets and sets the parameterized function.
|
| Minimizer |
Gets and sets the function minimizer.
|
TopMethods Fields 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.
OneVariableFunctionFitter<TrustRegionMinimizer>; fitter = new OneVariableFunctionFitter<TrustRegionMinimizer>(NMathFunctions.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.
See Also