def __init__(self, scale_list, values, extrapolate=False):
# error checking
if len(values.shape) != 2:
raise ValueError('This class only works for 2D data.')
elif len(scale_list) != 2:
raise ValueError('input and output dimension mismatch.')
nx, ny = values.shape
offset, scale = scale_list[0]
x = np.linspace(offset, (nx - 1) * scale + offset, nx) # type: np.multiarray.ndarray
offset, scale = scale_list[1]
y = np.linspace(offset, (ny - 1) * scale + offset, ny) # type: np.multiarray.ndarray
self._min = x[0], y[0]
self._max = x[-1], y[-1]
DiffFunction.__init__(self, [(x[0], x[-1]), (y[0], y[-1])], delta_list=None)
self.fun = interp.RectBivariateSpline(x, y, values)
self._extrapolate = extrapolate
评论列表
文章目录