# Interpolation

Interpolation[{f1,f2,}]

constructs an interpolation of the function values fi, assumed to correspond to x values 1, 2, .

Interpolation[{{x1,f1},{x2,f2},}]

constructs an interpolation of the function values fi corresponding to x values xi.

Interpolation[{{{x1,y1,},f1},{{x2,y2,},f2},}]

constructs an interpolation of multidimensional data.

Interpolation[{{{x1,},f1,df1,},}]

constructs an interpolation that reproduces derivatives as well as function values.

Interpolation[data,x]

find an interpolation of data at the point x.

# Details and Options • Interpolation returns an InterpolatingFunction object, which can be used like any other pure function.
• The interpolating function returned by Interpolation[data] is set up so as to agree with data at every point explicitly specified in data.
• The function values fi can be real or complex numbers, or arbitrary symbolic expressions.
• The fi can be lists or arrays of any dimension.
• The function arguments xi, yi, etc. must be real numbers.
• Different elements in the data can have different numbers of derivatives specified.
• For multidimensional data, the n derivative can be given as a tensor with a structure corresponding to D[f,{{x,y,},n}].
• Partial derivatives not specified explicitly can be given as Automatic.
• Interpolation works by fitting polynomial curves between successive data points.
• The degree of the polynomial curves is specified by the option InterpolationOrder.
• The default setting is .
• You can do linear interpolation by using the setting .
• Interpolation[data] generates an InterpolatingFunction object that returns values with the same precision as those in data.
• Interpolation allows any derivative to be given as Automatic, in which case it will attempt to fill in the necessary information from other derivatives or function values.
• Interpolation supports a Method option. Possible settings include "Spline" for spline interpolation and "Hermite" for Hermite interpolation.

# Examples

open allclose all

## Basic Examples(2)

Construct an approximate function that interpolates the data:

Apply the function to find interpolated values:

Plot the interpolation function:

Compare with the original data:

Find the interpolated value immediately:

## Scope(4)

Interpolate between points at arbitrary values:

Create data with Table:

Form the interpolation:

Plot the interpolated function:

Create a list of multidimensional data:

Create an approximate interpolating function:

Plot the interpolating function:

Form an interpolation from data given as a TimeSeries:

Plot the interpolated function:

## Generalizations & Extensions(5)

Create data that includes derivatives at each point:

Construct an interpolation:

Plot the interpolation:

Create 2D data that includes a gradient vector at each point:

Compare with data that does not include gradients:

Also include tensors of second derivatives:

Create a vector-valued InterpolatingFunction of one variable from vector-valued data:

The value is a vector:

Plot will show both components:

Create a vector-valued InterpolatingFunction of two variables from vector-valued data:

The value is a vector:

Plot3D will show all three components:

A single component may be plotted using Part:

Derivatives may also be included for Hermite interpolation:

## Options(5)

### InterpolationOrder(3)

Make a zerothorder interpolation:

Make a linear interpolation:

### Method(1)

Compare splines with piecewise Hermite interpolation for random data:

The curves appear close, but the spline has a continuous derivative:

### PeriodicInterpolation(1)

Make an interpolating function that repeats periodically:

## Applications(2)

Interpolate random data:

Find a continuous interpolation of the GCD function:

## Properties & Relations(2)

The interpolating function always goes through the data points:

Find the integral of an interpolating function:

Plot the interpolating function and its integral: ## Possible Issues(3)

Extrapolation is attempted to go beyond the original data: With the default choice of order, at least 4 points are needed in each dimension: With a lower order, fewer points are needed:

The interpolation function will always be continuous, but may not be differentiable:

## Neat Examples(1)

Interpolate the sequence of primes: