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.3
Syntax
[SerializableAttribute]
public class GlobalCurveFitter

The GlobalCurveFitter type exposes the following members.

Constructors
  NameDescription
Public methodGlobalCurveFitter(FuncDoubleVector, Double, Double)
Constructs a GlobalCurveFitter object for the given parameterized function.
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, Double)
Constructs a GlobalCurveFitter object for the given parameterized function and tolerance value for the minimizer.
Public methodGlobalCurveFitter(FuncDoubleVector, Double, Double, Int32)
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)
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 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 paramter 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