MATLAB Function Reference | ![]() ![]() |
Multidimensional data interpolation (table lookup)
Syntax
VI = interpn(X1,X2,X3,...,V,Y1,Y2,Y3,...) VI = interpn(V,Y1,Y2,Y3,...) VI = interpn(V,ntimes) VI = interpn(...,method)
Description
VI = interpn(X1,X2,X3,...,V,Y1,Y2,Y3,...)
interpolates to find VI
, the values of the underlying multidimensional function V
at the points in the arrays Y1
, Y2
, Y3
, etc. For an N
-D V
, interpn
is called with 2*N+1
arguments. Arrays X1
, X2
, X3
, etc. specify the points at which the data V
is given. Out of range values are returned as NaN
s. Y1
, Y2
, Y3
, etc. must be arrays of the same size, or vectors. Vector arguments that are not the same size, and have mixed orientations (i.e. with both row and column vectors) are passed through ndgrid
to create the Y1
, Y2
, Y3
, etc. arrays. interpn
works for all N-D arrays with 2 or more dimensions.
VI = interpn(V,Y1,Y2,Y3,...)
interpolates as above, assuming X1 = 1:size(V,1)
, X2 = 1:size(V,2)
, X3 = 1:size(V,3)
, etc.
VI = interpn(V,ntimes)
expands V
by interleaving interpolates between each element, working recursively for ntimes
iterations. interpn(V,1)
is the same as interpn(V)
.
VI = interpn(...,method)
specifies alternative methods:
'linear' |
Linear interpolation (default) |
'cubic' |
Cubic interpolation |
'spline' |
Cubic spline interpolation |
'nearest' |
Nearest neighbor interpolation |
Discussion
All the interpolation methods require that X1
,X2
, and X3
be monotonic and have the same format ("plaid") as if they were created using ndgrid
. X1
,X2
,X3
,... and Y1
, Y2
, Y3
, etc. can be non-uniformly spaced. For faster interpolation when X1
, X2
, X3
, etc. are equally spaced and monotonic, use the methods '*linear
', '*cubic
', or '*nearest
'.
See Also
interp1
, interp2
, interp3
, ndgrid
![]() | interpft | interpstreamspeed | ![]() |