| MultiVariableFunctionFitterM Class |
Class MultiVariableFunctionFitter fits a generalized multivariable function to a set of points.
Inheritance Hierarchy Namespace: CenterSpace.NMath.CoreAssembly: NMath (in NMath.dll) Version: 7.4
Syntax public class MultiVariableFunctionFitter<M> : ICloneable
where M : new(), INonlinearLeastSqMinimizer
Public Class MultiVariableFunctionFitter(Of M As {New, INonlinearLeastSqMinimizer})
Implements ICloneable
generic<typename M>
where M : gcnew(), INonlinearLeastSqMinimizer
public ref class MultiVariableFunctionFitter : ICloneable
type MultiVariableFunctionFitter<'M when 'M : new() and INonlinearLeastSqMinimizer> =
class
interface ICloneable
end
Type Parameters
- M
[Missing <typeparam name="M"/> documentation for "T:CenterSpace.NMath.Core.MultiVariableFunctionFitter`1"]
The MultiVariableFunctionFitterM type exposes the following members.
Constructors | Name | Description |
---|
| MultiVariableFunctionFitterM(Boolean) |
For internal use only.
|
| MultiVariableFunctionFitterM(DoubleParameterizedFunctional) |
Constructs a MultiVariableFunctionFitter instance with the given generalized function.
|
| MultiVariableFunctionFitterM(DoubleParameterizedFunctional, M) |
Constructs a MultiVariableFunctionFitter instance with the given generalized function and minimizer.
|
| MultiVariableFunctionFitterM(FuncDoubleVector, DoubleVector, Double, Int32) |
Constructs a MultiVariableFunctionFitter instance for the given parameterized delegate.
|
| MultiVariableFunctionFitterM(FuncDoubleVector, DoubleVector, Double, ActionDoubleVector, DoubleVector, DoubleVector, Int32) |
Constructs a MultiVariableFunctionFitter instance for the given parameterized delegate.
|
TopProperties | Name | Description |
---|
| Function |
Gets and sets the parameterized function.
|
| Minimizer |
Gets and sets the function minimizer.
|
TopMethods | Name | Description |
---|
| Clone |
Creates a deep copy of this MultiVariableFunctionFitter.
|
| Fit |
Fits a function to the specified points.
|
| ResidualVector |
Computes the residual vector from the given data points and solution.
|
TopFields | Name | Description |
---|
| f_ |
The parameterized function.
|
| minimizer_ |
The minimizer.
|
TopRemarks
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.
You must supply at least
as many data points to fit as your function has parameters.
For example, the following code fits a function of the form
data to the following function:
F(p, x) = p[0]x[0]x[1]^2 + p[1]sin(x[0]) + p[2]x[1]^3;
to a set of 10 data points, beginning at point (10, 10, 10) in the parameter space.
DoubleMatrix x = new DoubleMatrix(10, 2);
x[Slice.All, 0] = new DoubleVector("3.6 7.7 9.3 4.1 8.6 2.8 1.3 7.9 10.0 5.4");
x[Slice.All, 1] = new DoubleVector("16.5 150.6 263.1 24.7 208.5 9.9 2.7 163.9 325.0 54.3");
DoubleVector yValues = new DoubleVector("95.09 23.11 60.63 48.59 89.12 76.97 45.68 1.84 82.17 44.47");
DoubleVector initial_parameters = new DoubleVector("10 10 10");
Func<DoubleVector, DoubleVector, double> f = delegate(DoubleVector p, DoubleVector xdata)
{
return Math.Pow(p[0] * xdata[0] * xdata[1], 2.0) + p[1] * Math.Sin(xdata[0]) + Math.Pow(p[2] * xdata[1], 3.0);
};
MultiVariableFunctionFitter<TrustRegionMinimizer> fitter = new MultiVariableFunctionFitter<TrustRegionMinimizer>(f);
DoubleVector solution = fitter.Fit(x, yValues, initial_parameters);
Note that problems can have multiple local minima. Trying different initial parameter points is recommended for
better solutions.
See Also