Interpolate scattered values on a regular grid with bi-harmonic interpolation method

1 view (last 30 days)
Hi mates.
I've got an vector with values and Corresponding x, y vectors.
I would like to interpolate values in an entire study area.
This is my approach:
reservoir(:,1) is the Vector with the x-Values, reservoir(:,2) contains y-Values. '"y" is the vector with the actual measured values at the coordinates.
honestly, I don't know, what 'v4' stands for.
That's, what I get:
And I don't know why.
Any guesses or tips?
Best regrades
Felix

Answers (1)

darova
darova on 14 Aug 2021
Create appropriate mesh
x = linspace(min(reservoir(:,1)),max(reservoir(:,1)),20);
y = linspace(min(reservoir(:,2)),max(reservoir(:,2)),20);
[X,Y] = meshgrid(x,y);
Z = griddata(reservoir(:,1),reservoir(:,2),y,X,Y);
surf(X,Y,Z)
  3 Comments
darova
darova on 15 Aug 2021
YOu have wrong mesh (surface) because the data is not ordered. Or you create new mesh (as i did) or you order the data
[XI,YI] = meshgrid(sort(reservoir(:,1)),sort(reservoir(:,2)));

Sign in to comment.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!