我正在尝试实现一些插值技术-特别是使用scipy pchip例程。在
我想确定的是,是否可以通过分别插值每个坐标来执行规则空间二维数据的插值。在
例如,如果我有:
(1 x m) vector of X coordinates
(1 x n) vector of Y coordinates
(m x n) matrix of Z coordinates //Z value corresponding to (x,y) pair
是否可以连续对每个维度执行pchip插值,从而创建插值曲面?在
Pchip期望数据以Pchip(X,Z)的形式存在,其中X和Z都是1D数组。那么,插值每个维度的最佳方法是什么?例如,我应该为Z矩阵的每一列做pchip(X,Z)?然后对第一次插值得到的矩阵的每一行进行pchip(Y,Z*)?在
谢谢你的帮助。我看过pv-post关于用pchip执行张量rpouct插值的文章,但是它导致了一个令人讨厌的除数为零的错误,我无法摆脱,即使他在github上进行了更新。在
编辑:
我发现这张罚单是关于我使用pchip发出的警告: http://projects.scipy.org/scipy/ticket/1838
有谁能告诉我这是什么意思吗 这样生成的inf/nan通过应用布尔条件掩码过滤掉,但该掩码可以在除法之前应用,以完全避免警告在
我怎样才能避免警告呢?在
请看中最上面的图片 Bilinear interpolation。
找到最接近y的y1、y2行,
pchip
x中的R1 R2(蓝色),然后线性插值得到P(绿色)。
(也可以按另一个顺序进行,然后求x-y,y-then-x的平均值。)
但是如果
pchip
在结之间几乎是线性的(这是您的数据吗?),那么直接做双线性会更简单, 或者 scipy BivariateSpline
或与 scipy.ndimage.interpolation.map_coordinates(。。。顺序=1) 还有包装纸 Intergrid。在
相关问题 更多 >
编程相关推荐