How to interpolate gridded data for a single point?

5 visualizzazioni (ultimi 30 giorni)
Andre
Andre il 13 Gen 2014
Risposto: Andre il 30 Gen 2014
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.

Risposte (2)

Paul
Paul il 13 Gen 2014
griddata maybe?
  1 Commento
Andre
Andre il 13 Gen 2014
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.

Accedi per commentare.


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

Categorie

Scopri di più su Interpolation in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by