# Using CubicSplineInterpolation on a vector (not on a Lazy Array)

**URL:** https://discourse.julialang.org/t/using-cubicsplineinterpolation-on-a-vector-not-on-a-lazy-array/40044
**Category:** New to Julia
**Created:** [May 23, 2020, 8:18pm UTC](https://discourse.julialang.org/t/using-cubicsplineinterpolation-on-a-vector-not-on-a-lazy-array/40044 "2020-05-23T20:18:52Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![jovansam](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jovansam/32/15023_2.png) [@jovansam](https://discourse.julialang.org/u/jovansam)
#### Post date: [May 23, 2020, 8:18pm UTC](https://discourse.julialang.org/t/using-cubicsplineinterpolation-on-a-vector-not-on-a-lazy-array/40044/1 "2020-05-23T20:18:52Z")

</div>

I have a small problem that I can’t seem to solve regarding the use of CubicSplineInterpolation on a vector (rather than lazy array).

```nohighlight
using Interpolations, Plots
function spline_interpolation2()
    #mygrid = range(-1.0, stop=1.0, length=5) # lazy array representation
    mygrid = collect(range(-1.0, stop=1.0, length=5)) # vector representation
    mypoints = abs.(mygrid)

    #itp = interpolate((mygrid,),mypoints, Gridded(Constant()))
    #itp = interpolate((mygrid,),mypoints, Gridded(Linear()))
    #itp = LinearInterpolation(mygrid, mypoints, extrapolation_bc=Flat())
    #itp = LinearInterpolation(mygrid, mypoints)
    #itp = Spline1D(mygrid, mypoints, k=3, bc="nearest", s=0.0)
    itp = CubicSplineInterpolation(mygrid, mypoints; bc=Line(OnGrid()), extrapolation_bc=Throw())

    # interpolate at any point
    myfinergrid = range(-1.0, stop=1.0, length=100)
    itp.(myfinergrid)

    plot(myfinergrid, [abs.(myfinergrid) itp.(myfinergrid)], label=["abs" "interplotion"])
end
spline_interpolation2()

```

When using Spline1D I get what I want. CubicSplineInterpolation returns a method error, though.

FYI: LinearInterpolation works, but it is not what I want to use. I am interested in Cubic Interpolation.

Thanks for the help.

---

<div class="post-metadata">

### Author: ![lungben](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lungben/32/12314_2.png) [@lungben](https://discourse.julialang.org/u/lungben)
#### Post date: [May 23, 2020, 8:46pm UTC](https://discourse.julialang.org/t/using-cubicsplineinterpolation-on-a-vector-not-on-a-lazy-array/40044/2 "2020-05-23T20:46:58Z")

</div>

Cubic Splines is not yet implemented on custom grids, see [Gridded Cubic Splines (WIP) by alexmorley · Pull Request #193 · JuliaMath/Interpolations.jl · GitHub](https://github.com/JuliaMath/Interpolations.jl/pull/193)

---

<div class="post-metadata">

### Author: ![jovansam](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jovansam/32/15023_2.png) [@jovansam](https://discourse.julialang.org/u/jovansam)
#### Post date: [May 24, 2020, 8:23pm UTC](https://discourse.julialang.org/t/using-cubicsplineinterpolation-on-a-vector-not-on-a-lazy-array/40044/3 "2020-05-24T20:23:29Z")

</div>

I see. Thanks. I will stick to Spline1D for the moment then.

---

<div class="post-metadata">

### Author: ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)
#### Post date: [May 25, 2020, 2:12am UTC](https://discourse.julialang.org/t/using-cubicsplineinterpolation-on-a-vector-not-on-a-lazy-array/40044/4 "2020-05-25T02:12:50Z")

</div>

> [@lungben](#):
>
> Cubic Splines is not yet implemented on custom grids

[GitHub - kbarbary/Dierckx.jl: Julia package for 1-d and 2-d splines](https://github.com/kbarbary/Dierckx.jl) supports this.

---

<div class="post-metadata">

### Author: ![jovansam](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jovansam/32/15023_2.png) [@jovansam](https://discourse.julialang.org/u/jovansam)
#### Post date: [May 27, 2020, 6:25am UTC](https://discourse.julialang.org/t/using-cubicsplineinterpolation-on-a-vector-not-on-a-lazy-array/40044/5 "2020-05-27T06:25:34Z")

</div>

Thanks at @stevengj. I indeed resorted to Dierckx.jl
