The “scatteredInterpolant” function in MATLAB is used for interpolating scattered data points in 2D or 3D space. When using natural neighbor interpolation, the method is based on Voronoi tessellation.
In Voronoi tessellation the dataset is divided into regions (Voronoi cells), where each region corresponds to one data point. Any location within a region is closer to its corresponding data point than to any other data point.
While in Natural neighbor interpolation query a point, the algorithm temporarily adds this point to the dataset, recalculates the Voronoi diagram, and observes how the existing Voronoi cells are altered. The interpolation value is computed as a weighted average of the values of the neighboring points, with weights based on the areas of overlap between the new and existing Voronoi cells.
For points on the convex hull:
- Unbounded Voronoi Cells: These cells are indeed unbounded, but natural neighbor interpolation assigns weights by considering the finite intersections between the new and existing Voronoi cells.
- Weight Calculation: Weights are based on these finite intersection areas, ensuring meaningful interpolation even with unbounded cells.
- Boundary Handling: The method can extrapolate near boundaries, which may affect accuracy, but it still provides useful interpolation results.
To understand more about “scatteredInterpolant” refer to the following command to access the documentation of the same:
- web(fullfile(docroot, " matlab/ref/scatteredinterpolant.html "))
Hope that helps!