【发布时间】:2012-03-28 05:28:22
【问题描述】:
我正在尝试 scipy.interpolation.griddata 帮助文件中给出的 2d 示例。 它适用于“最近”的插值。但它在使用任何其他插值(如“线性”或“三次”)时给出了一个充满 nan 的矩阵。如果我给出参数 fill_value=5 ,它会给出填充 5 的矩阵。
这是由于某些安装问题造成的吗?
我正在尝试他们在帮助文档中给出的完全相同的东西。 但不知何故,它给出的结果好像我要求插值的点位于输入点之外。 (这不是!我按照例子)
我将发布示例以重现错误(采用文档格式)
def func(x, y):
return x*(1-x)*np.cos(4*np.pi*x) * np.sin(4*np.pi*y**2)**2
grid_x, grid_y = np.mgrid[0:1:10j, 0:1:10j]
points = np.random.rand(100, 2)
values = func(points[:,0], points[:,1])
from scipy.interpolate import griddata
grid_z0 = griddata(points, values, (grid_x, grid_y), method='nearest')
grid_z1 = griddata(points, values, (grid_x, grid_y), method='linear')
grid_z2 = griddata(points, values, (grid_x, grid_y), method='cubic')
我让 grid_z1 和 grid_z2 成为一个用 nan 填充的矩阵。
更新:我在另一台 Ubuntu 11.10 机器上安装了所有软件包。同样的脚本给出了完全正确的答案。以前我正在尝试使用 Porteus 发行版(live slackware 系列)。因此,我认为我可以安全地得出结论,这是我的安装中的一些问题。有人知道可能出了什么问题吗?是否有任何库冲突导致这种行为?由于我的主机是 Portues,除了修复其中的 scipy,我别无选择。
【问题讨论】:
-
您能否提供您所指的帮助文档的链接?
-
@Hooked 我指的是我们在输入 griddata 时得到的帮助文档?在 IPython 中。 (代码本身内部的文档字符串)
标签: python scipy interpolation