Interpolation is a method for estimating the value at a query
location that lies within the domain of a set of sample data points.
A sample data set defined by locations `X`

and corresponding
values `V`

can be interpolated to produce a function
of the form `V`

= `F`

(`X`

).
This function can then be used to evaluate a query point `Xq`

,
to give `Vq`

= `F`

(`Xq`

).
This is a single-valued function; for any query `Xq`

within
the domain of `X`

it will produce a unique value `Vq`

.
The sample data is assumed to respect this property in order to produce
a satisfactory interpolation. One other interesting characteristic
is that the interpolating function passes through the data points.
This is an important distinction between interpolation and curve/surface
fitting. In fitting, the function does not necessarily pass through
the sample data points.

The computation of the value `Vq`

is generally
based on the data points in the neighborhood of the query point `Xq`

.
There are numerous approaches to performing interpolation. In MATLAB^{®} interpolation
is classified into two categories depending on the structure of the
sample data. The sample data may be ordered in a axis-aligned grid
or they may be scattered. In the case of a gridded distribution of
sample points, you can leverage the organized structure of the data
to efficiently find the sample points in the neighborhood of the query.
Interpolation of scattered data on the other hand requires a triangulation
of the data points, and this introduces an additional level of computation.

The two approaches to interpolation are covered in the following sections:

The Interpolating Gridded Data section covers 1-D interpolation, and the N-D (N ≥ 2) interpolation of sample data in axis-aligned grid format:

The Interpolating Scattered Data section covers the N-D (N ≥ 2) interpolation of scattered data:

Was this topic helpful?