Interpolation
InverseDistanceWeightedInterpolation
interpolate N-D scattered data using the inverse distance weighted interpolation method
Calling Sequence
Parameters
Description
Examples
Compatibility
InverseDistanceWeightedInterpolation(points,values)
InverseDistanceWeightedInterpolation(points,values,r)
f:=InverseDistanceWeightedInterpolation(...)
f(x1,...,xn)
f(M)
points
-
listlist, Array, Matrix, Vector, or list of m n-dimensional sample points where each inner list or row represents one point. For a Vector or plain list, n is 1.
values
list, Array, or Vector of sample values
r
(optional) the radius parameter; the default is infinity
x1,...,xn
evaluate f at (x1,...,xn)
M
a k x n Matrix of points at which to evaluate f
The InverseDistaneWeightedInterpolation command creates a function f⁡x1,...,xn=value which can then be evaluated at arbitrary points in Rn.
This interpolant is defined at the point x as the weighted average of the values valuesi, where each value is weighted by the inverse of the distance between pointsi and x, and only points at distance at most r of x are used.
By default, r is infinity, so all sample points will be used to interpolate a query point.
If no points lie within distance r, the interpolated value will be Float⁡undefined.
For sufficiently large r, this interpolation method produces a C1 continuous interpolant.
This interpolation method does not introduce local minima or maxima which are not already present in the input data.
f can be evaluated at every point in Rn, but results for points far away from the sample points may not be meaningful.
As with all interpolation methods, the interpolant f always passes through all of the sample values.
Input sample points must not contain duplicates. The presence of duplicate points can lead to unexpected results.
In order to evaluate f at k points, you can put each point in a row of a Matrix M and call f(M) to obtain the k values of f in a k-element Vector. This will be most efficient if M's options are such that its datatype is float[8], its order is C_order, and its storage is rectangular.
XY≔0,0,1,0,2,0,0,1,1,1,2,1,0,2,1,2,2,2
Z≔0,0,0,0,1,0,0,0,0
f≔Interpolation:-InverseDistanceWeightedInterpolation⁡XY,Z,1.5
f≔Invⅇrsⅇ Dⅈstancⅇ Wⅇⅈghtⅇⅆ ⅈntⅇrpolatⅈon obȷⅇct wⅈth 9 samplⅇ poⅈntsRaⅆⅈus of ⅈnfluⅇncⅇ: 1.5
f can be polled at specific points.
f⁡0.5,0.5
0.250000000000000000
M≔Matrix⁡1.5,0.3,0.7,1.4,1.2,1.8,datatype=float8,order=C_order
M≔1.500000000000000.3000000000000000.7000000000000001.400000000000001.200000000000001.80000000000000
f⁡M
0.09139916994783180.5991095777352200.0335025560440729
Use plot3d to plot the interpolated surface.
plot3d⁡x,y↦f⁡x,y,0..2,0..2,labels=x,y,z
The Interpolation[InverseDistanceWeightedInterpolation] command was introduced in Maple 2018.
For more information on Maple 2018 changes, see Updates in Maple 2018.
See Also
Download Help Document