How to interpolate gridded data for a single point?

I have a 3-d grid (lon,lat,sigma) of data. I would like to interpolate this data for specific location that I specify with lon,lat,sigma to get a sinlge value for the gridded variable. I have created a meshgrid using the dimensions that matches the dimensions of my variable arrays. I thought using interp3 would be the appropriate function to call for this but I get an error saying my specified vectors are not the same dimension as the rest of the arrays. What is the method I should be using? I can't seem to find a more appropriate function to solve this seemingly simple task.

Answers (2)

griddata maybe?

1 Comment

This sounds like it should work but it does not. The data is already gridded on a regular grid. The variables have dimensions 151x156x39. I created dimensional variables (x,y,z) that match that grid. I am looking for data at xi,yi,zi. When I specify uu=interp3(x,y,z,u,xi,yi,zi) it tells me x,y,z must be matrices from meshgrid (which they are) and to use triscatteredinterp. When I specify uu=griddata3(x,y,z,u,xi,yi,zi) there appears to be an issue with the DelaunayTri function which I am totally unfamiliar with.

Sign in to comment.

I realized shortly after this post that I had mixed my dimensions up, when corrected I got the appropriate answer.

Categories

Find more on Interpolation in Help Center and File Exchange

Asked:

on 13 Jan 2014

Answered:

on 30 Jan 2014

Community Treasure Hunt

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

Start Hunting!