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!

 채택된 답변

John D'Errico
John D'Errico 2015년 2월 22일

0 개 추천

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.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Interpolation에 대해 자세히 알아보기

질문:

2015년 2월 21일

편집:

2015년 3월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by