FYI this is covered in the README:

https://github.com/tlycken/Interpolations.jl#gridded-interpolation

--Tim

On Saturday, February 27, 2016 07:57:07 AM Matt Bauman wrote:
> Interpolations is very similar, but it currently only supports linear and
> nearest-neighbor schemes for gridded interpolations:
> 
> using Interpolations
> 
> itp = interpolate((P_NOM,), ETA, Gridded(Linear())) # You pass the x-values
> as a tuple, since this generalizes to multi-dimensional coordinates
> println(itp[3.5])
> 
> x = linspace(1.5, 14.9, 1024)
> y = itp[x]
> 
> plot(x,y)
> 
> On Saturday, February 27, 2016 at 10:10:28 AM UTC-5, Uwe Fechner wrote:
> > Thanks. The following code works:
> > 
> > using Dierckx
> > 
> > P_NOM = [1.5, 2.2, 3.7, 5.6, 7.5, 11.2, 14.9]
> > ETA   = [93., 94., 94., 95., 95., 95.5, 95.5]
> > calc_eta = Spline1D(P_NOM, ETA, k=1)
> > 
> > println(calc_eta(3.5))
> > 
> > Nevertheless I would be interested how to do that with Interpolations.jl.
> > Sometimes you don't have Fortran available.
> > 
> > Best regards:
> > 
> > Uwe
> > 
> > On Saturday, February 27, 2016 at 3:58:11 PM UTC+1, Yichao Yu wrote:
> >> On Sat, Feb 27, 2016 at 9:40 AM, Uwe Fechner <uwe.fec...@gmail.com>
> >> 
> >> wrote:
> >>> Hello,
> >>> 
> >>> I don't think, that this works on a non-uniform grid. The array xg is
> >>> evenly spaced, and it
> >>> is NOT passed to the function InterpGrid.
> >> 
> >> I've recently tried Dierckx which support non-uniform interpolation. I
> >> only need very basic functions so I don't know if it has all the
> >> flexibility you need but it's probably worth a look if you haven't.
> >> 
> >>> Uwe
> >>> 
> >>> On Saturday, February 27, 2016 at 3:33:06 PM UTC+1, Cedric St-Jean 
wrote:
> >>>> Hi Uwe,
> >>>> 
> >>>> Have you tried Grid.jl? I haven't tried it, but this example looks like
> >>>> it might work with a non-uniform grid.
> >>>> 
> >>>> # Let's define a quadratic function in one dimension, and evaluate it
> >>>> on an evenly-spaced grid of 5 points: c = 2.3  # center
> >>>> a = 8.1  # quadratic coefficient
> >>>> o = 1.6  # vertical offset
> >>>> qfunc = x -> a*(x-c).^2 + o
> >>>> xg = Float64[1:5]
> >>>> y = qfunc(xg)
> >>>> yi = InterpGrid(y, BCnil, InterpQuadratic)
> >>>> 
> >>>> On Saturday, February 27, 2016 at 9:21:53 AM UTC-5, Uwe Fechner wrote:
> >>>>> Hello,
> >>>>> 
> >>>>> I am trying to port the following function from python to julia:
> >>>>> 
> >>>>> # -*- coding: utf-8 -*-
> >>>>> from scipy.interpolate import InterpolatedUnivariateSpline
> >>>>> import numpy as np
> >>>>> from pylab import plot
> >>>>> 
> >>>>> P_NOM = [1.5, 2.2, 3.7, 5.6, 7.5, 11.2, 14.9]
> >>>>> ETA   = [93., 94., 94., 95., 95., 95.5, 95.5]
> >>>>> 
> >>>>> calc_eta = InterpolatedUnivariateSpline(P_NOM, ETA, k=1)
> >>>>> 
> >>>>> # plotting code, only for testing
> >>>>> 
> >>>>> if __name__ == "__main__":
> >>>>>     X = np.linspace(1.5, 14.9, 1024, endpoint=True)
> >>>>>     ETA = []
> >>>>>     
> >>>>>     for alpha in X:
> >>>>>         eta = calc_eta(alpha)
> >>>>>         ETA.append(eta)
> >>>>>     
> >>>>>     plot(X, ETA)
> >>>>> 
> >>>>> The resulting plot is shown at the end of this posting.
> >>>>> 
> >>>>> How can I port this to Julia?
> >>>>> 
> >>>>> I am trying to use the package "Interpolations.jl", but I do not see
> >>>>> any
> >>>>> example, that shows the interpolation on a non-uniform grid.
> >>>>> 
> >>>>> For now I need only linear interpolation, but I want to use B-Splines
> >>>>> later.
> >>>>> 
> >>>>> Any hint appreciated!
> >>>>> 
> >>>>> Uwe Fechner
> >>>>> 
> >>>>> 
> >>>>> 
> >>>>> <https://lh3.googleusercontent.com/-8OofwCQWohg/VtGwKR-1BOI/AAAAAAAAAQ
> >>>>> I/UTLksCCMIPo/s1600/LinearInterpolation.png>

Reply via email to