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