From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: interopolation with method log, ln, or exp(-x)
Date: Thu, 4 Apr 2013 19:51:06 +0000 (UTC)
Organization: Mitre Corp
Lines: 42
Message-ID: <kjklja$j3m$>
References: <kicmao$ek3$> <kictr5$ajb$> <kjkabm$b68$>
Reply-To: <HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: 1365105066 19574 (4 Apr 2013 19:51:06 GMT)
NNTP-Posting-Date: Thu, 4 Apr 2013 19:51:06 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 2318
Xref: comp.soft-sys.matlab:792684

ime"Jonathan W Smith" wrote in message <kjkabm$b68$>...
> "someone" wrote in message <kictr5$ajb$>...
> > "Jonathan W Smith" wrote in message <kicmao$ek3$>...
> > > Hello
> > > I have 3D gas constituent data from a model.  The gas constituent data is on pressure levels.  The pressure is on the 3D grid as well.  Pressure falls exponentially with height.  However I want to interpolate based on a different set of 3D pressure levels from satellite data.  
> > > 
> > > Is it best to use interp2 or interp3? Just as there is method 'linear' or 'cubic', is there one for ln (natural log) or exponential decay?  If not, what function or set of functions can I use to substitute for this?  
> > 
> > If I understand your question, I don't believe there is a "best" answer.
> > It really depends on your data and what you want to do with it.
> > 
> > If x is a vector, y = exp(x), and you want to interpolate y (by any method) then you could do either:
> > 
> > z = interp(y)
> > 
> > or
> > 
> > z = exp(interp(x))
> > 
> > Its really YOUR choice.
> > > 
> Thanks for your response, but still what if you have an 3D array and you wanted to interpolate along the 3rd dimension?  Just like we have the choice of implementing method 'linear' and 'cubic', is there one for exponential?
> > > Thanks
> > > Jonathan

I'm still not sure what you mean by "The pressure is on the 3D grid as well." But I'll take a stab at it.  The short answer might be to look at the MathWorks Curve Fitting Toolbox.  I am supposing you have collected some gas data where:

g = f(x,y,h)

and you know g varies linearly with x&y but decays exponentialy with h.  Now you want to find g for some x1,y1,h1.  I would define a new function gprime where:

gprime = f(x,y,ln(h))

Now linearly interpolate gprime (using interp2 or interp3) so that:

gprime1 = f(x1,y1,ln(h1))

this shoud give you g at x1,y1,h1.