首页 文章

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

提问于
浏览
3

我使用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 回答

  • 7

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

    • 您有2D数据,但所有点都在一条线上 . 在这种情况下,没有对非简并三角形的数据进行三角测量 .

    • 您有三维数据,但所有点都位于一个平面上,因此不会分解为非退化四面体 . 等等更高的尺寸 .

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

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

  • 1

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

    这总是会发生,还是只针对某些输入?

    你能发布导致错误的示例输入吗?

相关问题