Click or drag to resize

GlobalCurveFitter Class

Global fitting in involves fitting multiple datasets with the same fitting function. Parameters in the fitting function can optionally be shared amongst all datasets. If a parameter is shared, the fitting procedure will yield the same value for that parameter for all datasets. If a parameter is not shared, the fitting procedure will yield a unique value for that parameter for each dataset.
Inheritance Hierarchy
SystemObject
  CenterSpace.NMath.CoreGlobalCurveFitter

Namespace: CenterSpace.NMath.Core
Assembly: NMath (in NMath.dll) Version: 7.4
Syntax
[SerializableAttribute]
public class GlobalCurveFitter

The GlobalCurveFitter type exposes the following members.

Constructors
 NameDescription
Public methodGlobalCurveFitter(FuncDoubleVector, Double, Double, TrustRegionMinimizer) Constructs a GlobalCurveFitter object for the given parameterized function and non-linear least squares minimizer.
Public methodGlobalCurveFitter(FuncDoubleVector, Double, Double, TrustRegionMinimizerCheck) Constructs a GlobalCurveFitter object for the given parameterized function.
Public methodGlobalCurveFitter(FuncDoubleVector, Double, Double, Double, TrustRegionMinimizerCheck) Constructs a GlobalCurveFitter object for the given parameterized function and tolerance value for the minimizer.
Public methodGlobalCurveFitter(FuncDoubleVector, Double, Double, Int32, TrustRegionMinimizerCheck) Constructs a GlobalCurveFitter object for the given parameterized function. Sets the limit to the number of iterations performed by the minimizer to the given value.
Public methodGlobalCurveFitter(FuncDoubleVector, Double, Double, Double, Int32, TrustRegionMinimizerCheck) Constructs a GlobalCurveFitter object for the given parameterized function, maximum iterations and tolerance value for the minimizer.
Top
Properties
 NameDescription
Public propertyCentralDifferenceDelta Gets and set the central difference delta used by the central difference algorithm for computing Jacobians.
Public propertyCheckParameters Used to specify the level of input parameter checking done by the solver. During the solve the fitter function is repeatedly evaluated at various points. If one of these evaluation results in a non-real value (NaN, positive or negative infinity) it can cause the solver to hang. Having the solver check each evaluated value can incur significant overhead and so it is not done by default. You can enable checks with the CheckParameter property. The possible values are: TrustRegionMinimizer.Check.None - do no checking. The default TrustRegionMinimizer.Check.Initial - check only the initial starting point and the fitter function evaluated at this point. Do not check parameters on each solver iteration TrustRegionMinimizer.Check.Always - check intial parameters and parameters at each iteration.
Public propertyDataSets Gets the datasets.
Public propertyFinalResidual Gets the final residual.
Public propertyFitFunction Gets the residual function which are minimized doing the global fit.
Public propertyFixedParameterInfo Gets the a dictionary whose key is the fixed parameter index, and the value is another dictionary whose key is the dataset index and the value is is the parameters fixed value for that dataset.
Public propertyInitialResidual Gets the initial residual.
Public propertyInitialStepBound Gets and sets the initial step bound. In most cases this should be between 0.1 and 100.0.
Public propertyIterations Gets the number of iterations used in the estimate of the parameters just computed.
Public propertyMaxIterationsMet Returns true if the parameters just computed stopped because the maximum number of iterations was reached; otherwise, false.
Public propertyMaxTrialIterations Gets and sets the maximum number of iterations of trial step calculation.
Public propertyMinimizer Gets and sets the TrustRegionMinimizer object used for computing the least squares parameter estimates.
Public propertyMultipleCurveFitParameterEstimates Gets the parameter estimates for the MultipleCurveFitFunction minimized by the global fit.
Public propertyNonSharedParameterIndices Gets the indices of all the non-shared parameters in the fitting function.
Public propertyNumberOfParameters Gets the number of parameters in the fitting function.
Public propertyParameterInfo Gets the list of parameter information objects.
Public propertyParameterizedFunction Gets the parameterized fitting function to fit to the multiple datasets.
Public propertySharedParameterIndices Gets the indices of all the shared parameters in the fitting function.
Public propertyStopCriterion The reason for stopping.
Public propertyToleranceFunctionValue Gets and sets the tolerance used to check the function value.
Public propertyToleranceImprovement Gets and sets the tolerance used to check the improvement between steps.
Public propertyToleranceJacobian Gets and sets the tolerance used to check the Jacobian.
Public propertyToleranceTrialStep Gets and sets the tolerance used to check the trial step.
Public propertyToleranceTrustRegionArea Gets and sets the tolerance used to check the trust region area.
Top
Methods
 NameDescription
Public methodFit(IListCurveFitDataSet, IListGlobalFitParameterInfo) Performs the fit with the given datasets and parameter information. An initial value of zero is used for all parameters. The fitted function must be defined (real-valued) for all x when all parameters are zero. If not you must specify initial parameter values where the function is defined.
Public methodFit(IListCurveFitDataSet, IListGlobalFitParameterInfo, Double) Performs the fit with the given datasets and parameter information and starting with the given set of initial parameter values. The fitted function must be defined (real-valued) for all x with the initial parameter values.
Public methodFit(IListCurveFitDataSet, IListGlobalFitParameterInfo, Double, TupleDouble, Double) Performs the fit with parameter upper and lower bound constraints to the given datasets. The fitted function must be defined (real-valued) for all x.
Public methodFit(IListCurveFitDataSet, IListGlobalFitParameterInfo, Double, DoubleVector, DoubleVector) Performs the fit with parameter upper and lower bound constraints to the given datasets. The fitted function must be defined (real-valued) for all x.
Public methodFit(IListCurveFitDataSet, IListGlobalFitParameterInfo, Double, Double, Double) Performs the fit with parameter upper and lower bound constraints to the given datasets. The fitted function must be defined (real-valued) for all x.
Public methodGetMultipleCurveFitFunction(IListCurveFitDataSet) Constructs the MultipleCurveFitFunction used by the MultipleCurveFit class to compute parameter estimates.
Public methodGetMultipleCurveFitFunction(IListCurveFitDataSet, Double) Constructs the MultipleCurveFitFunction used by the MultipleCurveFit class to compute parameter estimates. The given value for central difference delta is used by the central difference algorithm for computing Jacobians.
Top
Remarks
Note that we will get one parameter estimate for each shared parameter and N parameter estimates for each non-shared parameter, where N is the number of data sets. The Fit method returns these values as a jagged array of doubles. For example, p[i][j] is the value of the ith parameter for the jth data set. If the ith parameter is shared only the index j = 0 will be valid since we have only one parameter value. If the ith parameter is shared between the N data sets then indices j = 0, 1,..., N-1 are valid. For example: p[i][0] - value for the ith parameter if shared. p[i][0], p[i][1],..., p[i][N-1] - values for the ith non-shared parameter for data sets 0, 1,..., N-1. Parameter estimates are computed using the MultipleCurveFit after constructing an appropriate MultipleCurveFitFunction object.
See Also