Interpolate 2-D or 3-D scattered data
Use scatteredInterpolant
to perform interpolation on a 2-D
or 3-D data set of scattered data.
scatteredInterpolant
returns the interpolant
F
for the given data set. You can evaluate F
at a
set of query points, such as (xq,yq)
in 2-D, to produce interpolated
values vq = F(xq,yq)
.
Use griddedInterpolant
to perform interpolation
with gridded data.
creates an
empty scattered data interpolant object.F
= scatteredInterpolant
specifies an interpolation method: F
= scatteredInterpolant(___,Method
)'nearest'
,
'linear'
, or 'natural'
. Specify
Method
as the last input argument in any of the first
three syntaxes.
specifies both the interpolation and extrapolation methods. Pass
F
= scatteredInterpolant(___,Method
,ExtrapolationMethod
)Method
and ExtrapolationMethod
together as the last two input arguments in any of the first three
syntaxes.
Method
can be: 'nearest'
,
'linear'
, or 'natural'
.
ExtrapolationMethod
can be:
'nearest'
, 'linear'
, or
'none'
.
Use scatteredInterpolant
to create the interpolant,
F
. Then you can evaluate F
at specific points
using any of the following syntaxes:
Vq = F(Pq)
Vq = F(Xq,Yq)
Vq = F(Xq,Yq,Zq)
Vq = F({xq,yq})
Vq = F({xq,yq,zq})
Vq = F(Pq)
specifies the query points in the matrix
Pq
. Each row in Pq
contains the
coordinates of a query point.
Vq = F(Xq,Yq)
and Vq = F(Xq,Yq,Zq)
specify the query points as two or three matrices of equal size.
Vq = F({xq,yq})
and
Vq = F({xq,yq,zq})
specify the query points as grid vectors. Use
this syntax to conserve memory when you want to query a large grid of
points.
It is quicker to evaluate a scatteredInterpolant
object
F
at many different sets of query points than it is to
compute the interpolations separately using the functions
griddata
or griddatan
. For
example:
% Fast to create interpolant F and evaluate multiple times F = scatteredInterpolant(X,Y,V) v1 = F(Xq1,Yq1) v2 = F(Xq2,Yq2) % Slower to compute interpolations separately using griddata v1 = griddata(X,Y,V,Xq1,Yq1) v2 = griddata(X,Y,V,Xq2,Yq2)
To change the interpolation sample values or interpolation method, it is more
efficient to update the properties of the interpolant object
F
than it is to create a new
scatteredInterpolant
object. When you update
Values
or Method
, the underlying
Delaunay triangulation of the input data does not change, so you can compute new
results quickly.
Scattered data interpolation with scatteredInterpolant
uses a Delaunay triangulation of the data, so can be sensitive to scaling issues
in the sample points x
, y
,
z
, or P
. When this occurs, you can
use normalize
to rescale the data and improve the results. See Normalize Data with Differing Magnitudes for more information.
scatteredInterpolant
uses a Delaunay triangulation of the scattered
sample points to perform interpolation [1].
[1] Amidror, Isaac. “Scattered data interpolation methods for electronic imaging systems: a survey.” Journal of Electronic Imaging. Vol. 11, No. 2, April 2002, pp. 157–176.
griddata
| griddatan
| griddedInterpolant
| meshgrid
| ndgrid