Documentation |
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: