org.apache.commons.math3.analysis.function

## Class StepFunction

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

- All Implemented Interfaces:
    UnivariateFunction

      public class StepFunction
      extends java.lang.Object
      implements UnivariateFunction

  Step function.
  Since:
    3.0
  Version:
    $Id: StepFunction.java 1379218 2012-08-30 23:18:57Z erans $

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private double[]` | `abscissa` Abscissae.
    `private double[]` | `ordinate` Ordinates.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StepFunction(double[] x, double[] y)` Builds a step function from a list of arguments and the corresponding values.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `double` | `value(double x)` Compute the value of the function.

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

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

- - ### Field Detail

    - #### abscissa

          private final double[] abscissa

      Abscissae.

    - #### ordinate

          private final double[] ordinate

      Ordinates.

  - ### Constructor Detail

    - #### StepFunction

          public StepFunction(double[] x,
                      double[] y)
                       throws NullArgumentException,
                              NoDataException,
                              DimensionMismatchException

      Builds a step function from a list of arguments and the corresponding values. Specifically, returns the function h(x) defined by

           h(x) = y[0] for all x < x[1]
                  y[1] for x[1] <= x < x[2]
                  ...
                  y[y.length - 1] for x >= x[x.length - 1]

      The value of `x[0]` is ignored, but it must be strictly less than `x[1]`.
      Parameters:
        `x` - Domain values where the function changes value.
        `y` - Values of the function.
      Throws:
        `NonMonotonicSequenceException` - if the `x` array is not sorted in strictly increasing order.
        `NullArgumentException` - if `x` or `y` are `null`.
        `NoDataException` - if `x` or `y` are zero-length.
        `DimensionMismatchException` - if `x` and `y` do not have the same length.

  - ### 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.

Copyright (c) 2003-2013 Apache Software Foundation