Four Parameter Logistic Curve Class
Definition
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.0.0
public class FourParameterLogisticCurve : NonlinearCurve- Inheritance
- Object → Curve → NonlinearCurve → FourParameterLogisticCurve
Remarks
Use the FourParameterLogisticCurve class to fit a four-parameter logistic curve to data. This is the standard dose-response curve used in pharmacology, immunoassays (ELISA), and bioassays. The 4PL curve is characterized by its symmetric S-shape with upper and lower asymptotes.
Equation:
y = A₂ + (A₁ - A₂) / (1 + (x/x₀)^p)
Parameters:
- A₁ – Upper asymptote (maximum response)
- A₂ – Lower asymptote (minimum response, baseline)
- x₀ – Inflection point (EC₅₀, IC₅₀, or ED₅₀ in pharmacology)
- p – Hill slope (steepness factor; positive for increasing, negative for decreasing curves)
Applications:
- Dose-response analysis in pharmacology
- ELISA and immunoassay standard curves
- EC₅₀/IC₅₀ determination
- Bioassay calibration
- Receptor binding studies
The 4PL curve assumes symmetry around the inflection point. When the data shows asymmetry (e.g., different slopes on ascending vs. descending portions), a FiveParameterLogisticCurve with an additional asymmetry parameter may provide a better fit.
Alternative Parameterizations: The 4PL model is sometimes written as y = D + (A - D) / (1 + (x/C)^B), where A = A₁, D = A₂, C = x₀, and B = p. This is equivalent to the form used here.
.
Constructors
| Four | Constructs a new logistic curve. |
Properties
| Center | Gets or sets the center of the logistic curve. |
| Final | Gets or sets the initial value of the logistic curve. |
| Hill | Gets or sets the Hill slope of the logistic curve. |
| Initial | Gets or sets the initial value of the logistical curve. |
| Parameters |
Gets the collection of parameters that determine the shape of this
Curve.
(Inherited from Curve) |
Methods
| Clone |
Constructs an exact copy of this instance.
(Inherited from Curve) |
| Equals | Determines whether the specified object is equal to the current object. (Inherited from Object) |
| Fill |
Fills a dense vector with the partial derivatives of the curve with respect to
each of the curve parameters computed using numerical differentiation.
(Inherited from NonlinearCurve) |
| Fill |
Fills a dense vector with the partial derivatives of the curve with respect to
each of the curve parameters.
(Overrides NonlinearCurve.FillPartialDerivatives(Double, DenseVector<Double>)) |
| Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object) |
| Find |
Gets the set of X-coordinates where the curve crosses
the X-axis.
(Inherited from Curve) |
| Get |
Returns a CurveFitter object that can be used to fit the curve to data.
(Inherited from NonlinearCurve) |
| Get |
Returns a Curve that represents the derivative
of this Curve.
(Inherited from Curve) |
| Get | Serves as the default hash function. (Inherited from Object) |
| Get |
Returns a vector containing initial values for the parameters for a curve fit
through on the specified data.
(Overrides NonlinearCurve.GetInitialFitParameters(Vector<Double>, Vector<Double>)) |
| Get |
Returns a vector with the partial derivatives
of the curve with respect to each of the curve parameters.
(Inherited from NonlinearCurve) |
| Get | Gets the Type of the current instance. (Inherited from Object) |
| Integral |
Gets the definite integral of the curve between the
specified X-coordinates.
(Inherited from Curve) |
| Memberwise | Creates a shallow copy of the current Object. (Inherited from Object) |
| OnParameter |
Called after a Curve parameter has been changed.
(Inherited from Curve) |
| OnParameter |
Called before the value of a curve parameter is changed.
(Inherited from Curve) |
| Set |
Sets a curve parameter to the specified value.
(Inherited from Curve) |
| Slope |
Gets the slopes of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Slope |
Gets the slope of the curve at the specified
X-coordinate.
(Overrides Curve.SlopeAt(Double)) |
| Slope |
Gets the slopes of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Slope |
Gets the slopes of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Slope |
Gets the slopes of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Solve |
Finds the x value where the curve reaches the specified y value.
(Inherited from Curve) |
| Tangent |
Gets the tangent line to the curve at the
specified X-coordinate.
(Inherited from Curve) |
| ToString | Returns a string that represents the current object. (Inherited from Object) |
| Value |
Gets the Y-values of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Value |
Gets the Y-value of the curve at the specified
X-coordinate.
(Overrides Curve.ValueAt(Double)) |
| Value |
Gets the Y-values of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Value |
Gets the Y-values of the curve at the specified X-coordinates.
(Inherited from Curve) |
| Value |
Gets the Y-values of the curve at the specified X-coordinates.
(Inherited from Curve) |