Asked by Adam
on 6 Nov 2013

I have some 2D data that needs to be interpolated to a finer grid. I'm fairly certain that MATLAB can do this with one of it's interpolation functions but I am new to MATLAB and haven't had much practice with the syntax.

My data that needs to be interpolated is essentially a value at an (x,y) coordinate. The grid spacing is not regular and I need to interpret it to a regular grid.

Data:

WC (ncells x 1) = values at each cell location (may contain replicate values)

xpos (ncells x 1) = x coordinate of each cell (contains replicate values)

ypos (ncells x 1) = y-coordinate of each cell (contains replicate values)

I tried using interp2, but it gave me an error about the data not increasing monotonically. Is there any way that MATLAB can interpolate this data to a regular grid?

Thanks in advance

A.

*No products are associated with this question.*

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test

Learn moreOpportunities for recent engineering grads.

Apply Today
## 1 Comment

## Matt J (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/105148#comment_178502

It's not clear from your description whether your data is really "gridded". Maybe you could post a scatter plot of the xpos, ypos data so that we can see what "irregular spacing" means.

Does each point in your WC data have neighbours that are perfectly horizontally/vertically adjacent to them? If no, your data is probably scattered, not gridded.

If yes, did you obtain xpos, ypos from ndgrid() or meshgrid() and then reshape them into column vectors? What process did create them?