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!

 Respuesta aceptada

John D'Errico
John D'Errico el 22 de Feb. de 2015

0 votos

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.

Más respuestas (0)

Categorías

Más información sobre Interpolation en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 21 de Feb. de 2015

Editada:

el 2 de Mzo. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by