【问题标题】:griddata runtime error -- Python / SciPy (Interpolation)griddata 运行时错误——Python / SciPy(插值)
【发布时间】:2011-09-17 03:44:35
【问题描述】:

我使用 scipy 的 griddate-function 进行插值。

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

【问题讨论】:

    标签: python scipy interpolation


    【解决方案1】:

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

    • 您有二维数据,但所有点都位于一条线上。在这种情况下,没有将数据三角剖分为非退化三角形。
    • 您有 3D 数据,但所有点都位于一个平面上,因此无法分解为非退化四面体。以此类推到更高的维度。

    在这些情况下,插值也没有意义,所以这个失败并不是一个错误的迹象,而是griddata的错误使用。

    通常,Qhull 会打印有关 stderr 出了什么问题的附加信息,因此请检查程序输出以查看其内容。

    【讨论】:

      【解决方案2】:

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

      这种情况总是会发生,还是仅针对某些输入?

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

      【讨论】:

        猜你喜欢
        • 2020-08-19
        • 2012-03-28
        • 2018-08-05
        • 1970-01-01
        • 2016-11-01
        • 2013-03-04
        • 2014-02-17
        • 2015-07-11
        • 1970-01-01
        相关资源
        最近更新 更多