Python:InterpolatedUnivariateSpline的2D替代品

时间:2015-10-21 06:21:19

标签: python scipy interpolation

InterpolatedUnivariateSpline允许外推:

  

ext :int或str,optional控制不在结节序列定义的区间内的元素的外推模式。

     
      
  • 如果ext = 0或'extrapolate',则返回外推值。
  •   
  • 如果ext = 1或'zeros',则返回0
  •   

我有一维网格,但我需要外推,这就是为什么我使用这个功能,尽管存在专门为网格编写的插值方法。我按如下方式使用它:

interpolateMe = InterpolatedUnivariateSpline(
    np.hstack((0, x[:, idx)),
    np.hstack((0, c[:, idx)), k=1)

现在,我有一个类似的问题,但我有一个矩阵

而不是矢量
zeros2d = np.zeros((1, x.shape[1],))
interpolateMe = InterpolatedUnivariateSpline(
    np.hstack((0, x[:, :])),
    np.hstack((0, c[:, :])), k=1)

然而,这不起作用,因为该功能仅适用于矢量输入:

too many axes: 2 (effrank=2), expected rank=1

所以现在我想知道该怎么做。这是瓶颈的一部分,因此效率很重要。

我做了2次连续的1D插值,如果这是最有效的话。我看了SmoothBivariateSpline,但它缺乏处理外推的能力是一个主要的缺点。

0 个答案:

没有答案