3D Data Interpolation

3D interpolation using modified 4-point vector Newton interpolation
6.6K Downloads
Updated 12 Nov 2008

No License

Syntax: ui=NewtFit(x,y,z,u,xi,yi,zi)

3D interpolation. It may be used where griddata3 fails to find a triangularization of the datagrid (x,y,z). The function uses a modified 4 point Newton interpolation formula for vector arguments in 3D instread of scalars used in 1D. The interpolation is performed for the 4 nearest neighbors for each point in the (xi,yi,zi).

u=u(x,y,z) is the data from which ui(xi,yi,zi) is interpolated x,y,z,u are vectors of same size and xi,yi,zi are also vectors. The fit is exact (u=ui) for points (xi,yi,zi) that coinside with data points (x,y,z). Note: NewtFit also delivers result for points outside the domain (i.e., extrapolation), but results may be inaccurate then.

%Example: Prepare data in random non-uniform grid
xyz=rand(10003,3);
x=xyz(:,1);y=xyz(:,2);z=xyz(:,3);
u=x.^3+sin(pi*y).^2.*z.^2;

%Gridpoints to fit:
xyz=rand(8007,3);
xi=xyz(:,1);yi=xyz(:,2);zi=xyz(:,3);

%Interpolate
ui=NewtFit(x,y,z,u,xi,yi,zi);

%compare and plot
uui=xi.^3+sin(pi*yi).^2.*zi.^2;%exact
plot(uui,ui,'.');pause(4)
hist(uui-ui,60);
standard_deviation=std(uui-ui)

Cite As

Per Sundqvist (2024). 3D Data Interpolation (https://www.mathworks.com/matlabcentral/fileexchange/8970-3d-data-interpolation), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R13
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Interpolation of 2-D Selections in 3-D Grids in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.1.0.0

Bug fixed. Have some ideas to improve it a bit more, but it will come later...

1.0.0.0