# [SciPy-user] Help with 2D interpolation

Ryan May rmay31@gmail....
Sun Jun 22 16:45:38 CDT 2008

```Hi,

Can anyone explain why this won't work:

import numpy as np
import scipy.interpolate as interp
from scipy.interpolate.fitpack2 import SmoothBivariateSpline
import matplotlib.pyplot as plt

x = np.linspace(-10, 10, 25)
y = np.linspace(-15, 15, 50)
X,Y = np.meshgrid(x,y)
Z = 1.5 * X**2 + 0.5 * Y**2

#tck = interp.bisplrep(X, Y, Z)
#z = interp.bisplev(X.flatten(), Y.flatten(), tck)

lut = SmoothBivariateSpline(X.ravel(), Y.ravel(), Z.ravel())
z = lut(X.ravel(), Y.ravel())

fig = plt.figure()
ax1.pcolor(X,Y,Z)
ax1.set_title('Original')
ax2.pcolor(X,Y,z.reshape(Z.shape))
ax2.set_title('Interpolated')
plt.show()

I get this error with scipy 0.6:
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)

/home/rmay/pypkg/scattering/test/test_interp.py in <module>()
14
15 lut = SmoothBivariateSpline(X.ravel(), Y.ravel(), Z.ravel())
---> 16 z = lut(X.ravel(), Y.ravel())
17
18 fig = plt.figure()

/usr/lib64/python2.5/site-packages/scipy/interpolate/fitpack2.py in
__call__(self, x, y, mth)
350             kx,ky = self.degrees
351             z,ier = dfitpack.bispev(tx,ty,c,kx,ky,x,y)
--> 352             assert ier==0,'Invalid input: ier='+`ier`
353             return z
354         raise NotImplementedError

Any takers?

Ryan

--
Ryan May