org.apache.commons.math3.analysis.function

## Class Logistic

- java.lang.Object
- - org.apache.commons.math3.analysis.function.Logistic

All Implemented Interfaces:
  DifferentiableUnivariateFunction, UnivariateDifferentiableFunction, UnivariateFunction

    public class Logistic
    extends Object
    implements UnivariateDifferentiableFunction, DifferentiableUnivariateFunction

Generalised logistic function.

Since:
  3.0
Version:
  $Id: Logistic.java 1391927 2012-09-30 00:03:30Z erans $

### Nested Class Summary

Nested Classes
`static class` `Logistic.Parametric` Parametric function where the input array contains the parameters of the logit function, ordered as follows: Lower asymptote Higher asymptote

### Field Summary

Fields
`private double` `a` Lower asymptote.
`private double` `b` Growth rate.
`private double` `k` Upper asymptote.
`private double` `m` Abscissa of maximum growth.
`private double` `oneOverN` Parameter that affects near which asymptote maximum growth occurs.
`private double` `q` Parameter that affects the position of the curve along the ordinate axis.

### Constructor Summary

Constructors
Constructor and Description
`Logistic(double k, double m, double b, double q, double a, double n)`

### Method Summary

Methods
`UnivariateFunction` `derivative()` Deprecated. as of 3.1, replaced by `value(DerivativeStructure)`
`DerivativeStructure` `value(DerivativeStructure t)` Simple mathematical function.
`double` `value(double x)` Compute the value of the function.
`private static double` `value(double mMinusX, double k, double b, double q, double a, double oneOverN)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### a

    private final double a

Lower asymptote.

#### k

    private final double k

Upper asymptote.

#### b

    private final double b

Growth rate.

#### oneOverN

    private final double oneOverN

Parameter that affects near which asymptote maximum growth occurs.

#### q

    private final double q

Parameter that affects the position of the curve along the ordinate axis.

#### m

    private final double m

Abscissa of maximum growth.

### Constructor Detail

#### Logistic

    public Logistic(double k,
            double m,
            double b,
            double q,
            double a,
            double n)
             throws NotStrictlyPositiveException

Parameters:
  `k` - If `b > 0`, value of the function for x going towards +∞. If `b < 0`, value of the function for x going towards -∞.
  `m` - Abscissa of maximum growth.
  `b` - Growth rate.
  `q` - Parameter that affects the position of the curve along the ordinate axis.
  `a` - If `b > 0`, value of the function for x going towards -∞. If `b < 0`, value of the function for x going towards +∞.
  `n` - Parameter that affects near which asymptote the maximum growth occurs.
Throws:
  `NotStrictlyPositiveException` - if `n <= 0`.

### Method Detail

#### value

    public double value(double x)

Compute the value of the function.

Specified by:
  `value` in interface `UnivariateFunction`
Parameters:
  `x` - Point at which the function value should be computed.
Returns:
  the value of the function.

#### derivative

    @Deprecated
    public UnivariateFunction derivative()

Deprecated. as of 3.1, replaced by `value(DerivativeStructure)`
Returns the derivative of the function

Specified by:
  `derivative` in interface `DifferentiableUnivariateFunction`
Returns:
  the derivative function

#### value

    private static double value(double mMinusX,
               double k,
               double b,
               double q,
               double a,
               double oneOverN)

Parameters:
  `mMinusX` - `m - x`.
  `k` - `k`.
  `b` - `b`.
  `q` - `q`.
  `a` - `a`.
  `oneOverN` - `1 / n`.
Returns:
  the value of the function.

#### value

    public DerivativeStructure value(DerivativeStructure t)

Simple mathematical function.

`UnivariateDifferentiableFunction` classes compute both the value and the first derivative of the function.

Specified by:
  `value` in interface `UnivariateDifferentiableFunction`
Parameters:
  `t` - function input value
Returns:
  function result
Since:
  3.1