MATLAB: Interpolation for 3D volume

3d interpolation

Hi, I've points in a 3D space which are my volume coordinates(X,Y,Z) and the value for each node is given in f:
[X, Y, Z]=[0,0.003,0.0021,0,0.0066,0.01,0.007,0.0049,0,0.0022;0,0,0.0022,0.0033,0,0,0.002,0.0028,0.006,0.004;0,0.003,0.0021,0,0.00662,0.01000,0.084,0.00495,0,0.0022]
f=[341720,342073,341892,341970,342073,341720,341892,341910,341915,341873]
I want to interpolate a function within [X, Y, Z] and f. How can I do?
Thank You!

Best Answer

You have 8 data points that essentially lie in a plane, and a 9th point that lies reasonably far away, out of plane.
Any interpolation will be, how do I say this tactfully, poor. As well, you will be pretty much limited to the convex hull of those points. Anything beyond that will be extrapolation, and that extrapolation would be just a computational wild guess.
You simply have too poor data in terms of information content to do any intelligent interpolation. Feel free to try using scatterInterpolant (the tool one would normally use here) but expect very little from the result. What is that saying? Garage in, garbage out.
If you want to see better results, then get better data. Mainly get more data, sampled from places that are not currently explored by what you have already.