 | 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 Namespace: CenterSpace.NMath.CoreAssembly: NMath (in NMath.dll) Version: 7.4
Syntax[SerializableAttribute]
public class GlobalCurveFitter
<SerializableAttribute>
Public Class GlobalCurveFitter
[SerializableAttribute]
public ref class GlobalCurveFitter
[<SerializableAttribute>]
type GlobalCurveFitter = class end
The GlobalCurveFitter type exposes the following members.
Constructors | Name | Description |
---|
 | GlobalCurveFitter(FuncDoubleVector, Double, Double, TrustRegionMinimizer) |
Constructs a GlobalCurveFitter object for the given parameterized
function and non-linear least squares minimizer.
|
 | GlobalCurveFitter(FuncDoubleVector, Double, Double, TrustRegionMinimizerCheck) |
Constructs a GlobalCurveFitter object for the given parameterized function.
|
 | GlobalCurveFitter(FuncDoubleVector, Double, Double, Double, TrustRegionMinimizerCheck) |
Constructs a GlobalCurveFitter object for the given parameterized function
and tolerance value for the minimizer.
|
 | GlobalCurveFitter(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.
|
 | GlobalCurveFitter(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 | Name | Description |
---|
 | CentralDifferenceDelta |
Gets and set the central difference delta used by the central difference
algorithm for computing Jacobians.
|
 | CheckParameters |
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.
|
 | DataSets |
Gets the datasets.
|
 | FinalResidual |
Gets the final residual.
|
 | FitFunction |
Gets the residual function which are minimized doing the global fit.
|
 | FixedParameterInfo |
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.
|
 | InitialResidual |
Gets the initial residual.
|
 | InitialStepBound |
Gets and sets the initial step bound. In most cases this should be
between 0.1 and 100.0.
|
 | Iterations |
Gets the number of iterations used in the estimate of the
parameters just computed.
|
 | MaxIterationsMet |
Returns true if the parameters just computed stopped because the
maximum number of iterations was reached; otherwise, false.
|
 | MaxTrialIterations |
Gets and sets the maximum number of iterations of trial step calculation.
|
 | Minimizer |
Gets and sets the TrustRegionMinimizer object used for computing
the least squares parameter estimates.
|
 | MultipleCurveFitParameterEstimates |
Gets the parameter estimates for the MultipleCurveFitFunction minimized
by the global fit.
|
 | NonSharedParameterIndices |
Gets the indices of all the non-shared parameters in the fitting function.
|
 | NumberOfParameters |
Gets the number of parameters in the fitting function.
|
 | ParameterInfo |
Gets the list of parameter information objects.
|
 | ParameterizedFunction |
Gets the parameterized fitting function to fit to the multiple datasets.
|
 | SharedParameterIndices |
Gets the indices of all the shared parameters in the fitting function.
|
 | StopCriterion |
The reason for stopping.
|
 | ToleranceFunctionValue |
Gets and sets the tolerance used to check the function value.
|
 | ToleranceImprovement |
Gets and sets the tolerance used to check the improvement between steps.
|
 | ToleranceJacobian |
Gets and sets the tolerance used to check the Jacobian.
|
 | ToleranceTrialStep |
Gets and sets the tolerance used to check the trial step.
|
 | ToleranceTrustRegionArea |
Gets and sets the tolerance used to check the trust region area.
|
Top
Methods | Name | Description |
---|
 | Fit(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.
|
 | Fit(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.
|
 | Fit(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.
|
 | Fit(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.
|
 | Fit(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.
|
 | GetMultipleCurveFitFunction(IListCurveFitDataSet) |
Constructs the MultipleCurveFitFunction used by the MultipleCurveFit
class to compute parameter estimates.
|
 | GetMultipleCurveFitFunction(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