How to find the values of a function at any desired point given its value at some arbitrary points??

7 views (last 30 days)
If my function u(x,y,z) values is given at say 5 points (x,y,z).....now I want to find the value of the function at the meshgrid points [x,y,z]=meshgrid (0:.1:1,0:.1:1,0:.1:1) ,x=[1 2 3 4 5],y=[1 2 3 4 5],z=[1 2 3 4 5] u=[1 8 27 64 125]

Accepted Answer

Bjorn Gustavsson
Bjorn Gustavsson on 24 Jun 2019
Five points worth of information is not a lot for interpolation in 3-D - plot the points and all their connections and see how utterly little it is.
You can try scatteredInterpolant and hope that your points are inside the convex hull of your 5 points and that your function is "very nice".
HTH
  3 Comments
Bjorn Gustavsson
Bjorn Gustavsson on 24 Jun 2019
That's much better! For a 3-D grid 3000 points would be approximately 14.5^3 points - i.e. you could have a regular grid with 14.5 points per dimension. If your function is not too meanspirited over your domain you might get a rather good interpolation. The curse of dimensionality are "lurking at the horizon" - if you had an additional dimension or two the number of points-per dimension in a regular grid would go down to 7.4 then ~5.
It would still be scatteredInterpolant.
HTH

Sign in to comment.

More Answers (0)

Categories

Find more on Interpolation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!