Represents a Curve that can be used for a non-linear regression calculation.

Namespace: Extreme.Mathematics.Curves
Assembly: Extreme.Numerics (Extreme.Numerics)

Syntax

Visual Basic (Declaration)
Public MustInherit Class NonlinearCurve _
	Inherits Curve
C#
public abstract class NonlinearCurve : Curve
C++
public ref class NonlinearCurve abstract : public Curve

Methods

IconTypeDescription
Clone()
Constructs an exact copy of this instance.
Equals(Object)
Determines whether the specified Object is equal to the current Object.
FillPartialDerivatives(Double, GeneralVector)
Fills a GeneralVector with the partial derivatives of the curve with respect to each of the curve parameters.
Finalize()
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
FindRoots()
Gets the set of X-coordinates where the curve crosses the X-axis.
GetCurveFitter()
Returns a CurveFitter object that can be used to fit the curve to data.
GetDerivative()
Returns a Curve that represents the derivative of this Curve.
GetHashCode()
Serves as a hash function for a particular type.
GetType()
Gets the Type of the current instance.
Integral(Double, Double)
Gets the definite integral of the curve between the specified X-coordinates.
MemberwiseClone()
Creates a shallow copy of the current Object.
OnParameterChanged(Int32, Double)
Called after a Curve parameter has been changed.
OnParameterChanging(Int32, Double)
Called before the value of a curve parameter is changed.
SetInitialValues(Vector, Vector)
Sets the curve parameters to initial values based on the specified data.
SlopeAt(Double)
Gets the slope of the curve at the specified X-coordinate.
TangentAt(Double)
Gets the tangent Line to the curve at the specified X-coordinate.
ToString()
Returns a String that represents the current Object.
ValueAt(Double)
Gets the Y-value of the curve at the specified X-coordinate.

Constructors

IconTypeDescription
NonlinearCurveNew(Int32)
Constructs a new NonlinearCurve object.

Properties

IconTypeDescription
Parameters
Gets the collection of parameters that determine the shape of this Curve.

Remarks

Use the NonlinearCurve class to represent a curve suitable for use in a non-linear curve fitting. The NonlinearCurveFitter class works only with curves that derive from NonlinearCurve. See this class for details on how to perform a least squares fit.

NonlinearCurve is an abstract class and cannot be instantiated directly. Instead, derive your own class from NonlinearCurve, or use one of the predefined classes listed in the following table:

ClassDescription
ExponentialCurveA sum of exponential terms.
FourParameterLogisticCurveA standard 4-parameter logistic curve.
FiveParameterLogisticCurveA 5-parameter logistic curve that includes an asymmetry factor.
GaussianCurveA 4-parameter Gaussian 'bell' curve.
LorentzCurveA 4-parameter Lorentz peak curve.
RationalCurveA quotient of two polynomials.
SineCurveA 4-parameter periodic curve.

Note to inheritors: You must override the ValueAt(Double) method. If possible, you should also override the FillPartialDerivatives(Double, GeneralVector) and SlopeAt(Double) methods. By default, a numerical approximation is used as the derivative.

Inheritance Hierarchy

System.Object
  Extreme.Mathematics.Curves.Curve
    Extreme.Mathematics.Curves.NonlinearCurve