[SciPy-user] spline interpolation
Nils Wagner
nwagner at iam.uni-stuttgart.de
Fri Nov 10 02:42:03 EST 2006
Christian Kristukat wrote:
> Robert Kern wrote:
>
>> Jordan Dawe wrote:
>>
>>> I've been looking at scipy's interpolation routines and I can't make
>>> heads or tails of them. I just want to do a spline interp1d like matlab
>>> does. Is there any way to do this?
>>>
>> I don't know exactly what features you want from Matlab's interp1d, but you
>> probably want scipy.interpolate.UnivariateSpline.
>>
>
> I just noticed that UnivariateSpline.derivatives() seems to be broken:
>
> import numpy as N
> from scipy.interpolate import UnivariateSpline as spline
> x=N.arange(10,dtype=float)
> y=x**2
> a=N.linspace(2,5,100)
> sp=spline(x,y)
> b=sp(a)
> der=sp.derivatives(a)
>
> fails with:
>
> 0-th dimension must be fixed to 8 but got 4
> ---------------------------------------------------------------------------
> dfitpack.error Traceback (most recent call last)
>
> /mnt/home/ck/<console>
>
> /usr/local/lib/python2.4/site-packages/scipy/interpolate/fitpack2.py in
> derivatives(self, x)
> 179 def derivatives(self, x):
> 180 """ Return all derivatives of the spline at the point x."""
> --> 181 d,ier = dfitpack.spalde(*(self._eval_args+(x,)))
> 182 assert ier==0,`ier`
> 183 return d
>
> error: failed in converting 2nd argument `c' of dfitpack.spalde to C/Fortran array
>
> with numpy 1.0rc2, scipy 0.5.1 on linux
>
> Christian
>
>
> _______________________________________________
> SciPy-user mailing list
> SciPy-user at scipy.org
> http://projects.scipy.org/mailman/listinfo/scipy-user
>
Works fine for me.
>>> der
array([ 4.00000000e+00, 4.00000000e+00, 2.00000000e+00,
-1.92438658e-15])
>>> N.__version__
'1.0.1.dev3432'
>>> scipy.__version__
'0.5.2.dev2314'
Nils
More information about the SciPy-User
mailing list