On Wed, Aug 29, 2012 at 3:29 PM, eat <e.antero.tammi@gmail.com> wrote:
Hi,
Apparently I'm somehow misusing the functionality of interp1d(.) or does following behavior imply a bug in scipy. A minimum snippet (with plots) to demonstrate the problem: In []: from scipy.interpolate import interp1d In []: n= 1000 In []: x, y= randn(n), linspace(0, 1, n) In []: x.sort() In []: plot(x, y, lw= 2) Out[]: [<matplotlib.lines.Line2D object at 0x12E190D0>]
In []: f= interp1d(x, y, 'cubic') In []: xi= linspace(x.min(), x.max(), n) In []: plot(xi, f(xi)) Out[]: [<matplotlib.lines.Line2D object at 0x12E20830>]
I guess, some x's are too close to each other to fit a cubic interpolation without a lot of overshooting. Reversing x and y looks fine. Using the splines directly and add a small s>0 might also work. Josef
Regards, -eat
_______________________________________________ SciPy-User mailing list SciPy-User@scipy.org http://mail.scipy.org/mailman/listinfo/scipy-user