griddata运行时错误 - Python / SciPy(插值)

时间:2011-06-17 12:17:53

标签: python scipy interpolation

我使用scipy的griddate函数进行插值。

当python执行griddata-function时,以下错误消息意味着什么?

File "C:\Python25\lib\site-packages\scipy\interpolate\ndgriddata.py", line 182, in griddata
ip = LinearNDInterpolator(points, values, fill_value=fill_value)
File "interpnd.pyx", line 192, in interpnd.LinearNDInterpolator.__init__ (scipy\interpolate\interpnd.c:2524)
File "qhull.pyx", line 917, in scipy.spatial.qhull.Delaunay.__init__ (scipy\spatial\qhull.c:4030)
File "qhull.pyx", line 170, in scipy.spatial.qhull._construct_delaunay (scipy\spatial\qhull.c:1269)
RuntimeError: Qhull error

2 个答案:

答案 0 :(得分:7)

这通常意味着您传入的点集无法进行三角测量。可能发生这种情况的一些常见情况:

  • 您有2D数据,但所有点都在一条线上。在这种情况下,没有对非简并三角形的数据进行三角测量。
  • 你有三维数据,但是所有的点都在一个平面上,所以没有分解为非退化的四面体。等等更高的维度。

在这些情况下,插值也没有意义,所以这个失败不是错误的指示,而是错误地使用griddata

通常情况下,Qhull会打印有关stderr出错的其他信息,因此请检查程序输出以查看它的内容。

答案 1 :(得分:1)

这表示函数使用的qhull(http://www.qhull.org)代码由于错误而未返回结果。

这是否总是发生,或仅针对某些输入?

您是否可以发布导致错误的示例输入?