Log Normal Curve Class
Represents a log-normal curve used for modeling skewed distributions with positive support.
Definition
Namespace: Numerics.NET.Curves.Nonlinear
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.0.0
C#
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.0.0
public class LogNormalCurve : NonlinearCurve- Inheritance
- Object → Curve → NonlinearCurve → LogNormalCurve
Remarks
Use the LogNormalCurve class to represent a four-parameter log-normal probability density function commonly used to model skewed distributions in various fields.
The log-normal distribution describes a random variable whose logarithm is normally distributed. It is characterized by its right-skewed shape and is bounded on the left (x > 0). This distribution naturally arises when modeling multiplicative processes or quantities that result from many small multiplicative factors.
The equation is:
y(x) = \frac{A}{x\sigma\sqrt{2\pi}} \exp\left(-\frac{(\ln x - \mu)^2}{2\sigma^2}\right) + CParameters:
- A – Amplitude or scaling factor (total area under the curve minus baseline). See Amplitude.
- μ – Location parameter (mean of the logarithm). See Median.
- σ – Scale parameter (standard deviation of the logarithm). See Scale.
- C – Baseline offset. See Offset.
Applications:
- Particle size distributions
- Income and wealth distributions
- Stock prices and financial returns
- Environmental data (pollutant concentrations)
- Biological measurements (cell sizes, organism weights)
- Reliability and failure time data
For details on how to fit a curve of this type, see the NonlinearCurveFitter class.
Constructors
| Log | Constructs a new log-normal curve. |
Properties
| Amplitude | Gets or sets the amplitude (A). |
| Median | Gets or sets the location parameter (μ). |
| Offset | Gets or sets the baseline offset (C). |
| Parameters |
Gets the collection of parameters that determine the shape of this
Curve.
(Inherited from Curve) |
| Scale | Gets or sets the scale parameter (σ). |
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 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) |