## Types in MathNet.Numerics.Interpolation

Type StepInterpolation

Namespace MathNet.Numerics.Interpolation

Interfaces IInterpolation

A step function where the start of each segment is included, and the last segment is open-ended. Segment i is [x_i, x_i+1) for i < N, or [x_i, infinity] for i = N. The domain of the function is all real numbers, such that y = 0 where x <.
Supports both differentiation and integration.

### Public Constructors

#### StepInterpolation(Double[] x, Double[] sy)

##### Parameters
###### `Double[]` x

Sample points (N), sorted ascending

###### `Double[]` sy

Samples values (N) of each segment starting at the corresponding sample point.

### Public Static Functions

#### StepInterpolationInterpolate(IEnumerable<double> x, IEnumerable<double> y)

Create a linear spline interpolation from an unsorted set of (x,y) value pairs.

#### StepInterpolationInterpolateInplace(Double[] x, Double[] y)

Create a linear spline interpolation from an unsorted set of (x,y) value pairs. WARNING: Works in-place and can thus causes the data array to be reordered.

#### StepInterpolationInterpolateSorted(Double[] x, Double[] y)

Create a linear spline interpolation from a set of (x,y) value pairs, sorted ascendingly by x.

### Public Methods

#### doubleDifferentiate(double t)

Differentiate at point t.
##### Parameters
###### `double` t

Point t to interpolate at.

##### Return
###### `double`

Interpolated first derivative at point t.

#### doubleDifferentiate2(double t)

Differentiate twice at point t.
##### Parameters
###### `double` t

Point t to interpolate at.

##### Return
###### `double`

Interpolated second derivative at point t.

#### doubleIntegrate(double t)

Indefinite integral at point t.
##### Parameters
###### `double` t

Point t to integrate at.

#### doubleIntegrate(double a, double b)

Definite integral between points a and b.
##### Parameters
###### `double` a

Left bound of the integration interval [a,b].

###### `double` b

Right bound of the integration interval [a,b].

#### doubleInterpolate(double t)

Interpolate at point t.
##### Parameters
###### `double` t

Point t to interpolate at.

##### Return
###### `double`

Interpolated value x(t).