gpt4 book ai didi

python - 正确使用 numpy 插值

转载 作者:太空宇宙 更新时间:2023-11-04 06:09:59 24 4
gpt4 key购买 nike

我需要在 python 中对非均匀间隔的网格执行一些过滤。因此,我通过 griddata 将不均匀的网格插入到均匀的网格中:

zi = interpolate.griddata((xin, yin), zin, (xi[None,:], yi[:,None]), method='cubic')

然后,在过滤 zi 之后,我需要将网格反向插值到原始的 xin、yin 点。如果我这样做:

zout = interpolate.griddata((xi, yi), zi, (xin[None,:], yin[:,None]), method='cubic')

我遇到了一些我不明白的错误,这些错误与 Delaunay 三角剖分中的“qhull 精度警告”和“qhull 错误”有关。

有人知道我该如何解决这个问题吗?是否与 (xin,yin) 未被排序有关?谢谢。

[更新]我将尝试阐明输入数据是什么。输入数据是在中心(x 轴和 y 轴)进行细化的笛卡尔网格。只要我想对其进行过滤,我就需要对它的统一采样版本进行插值,然后执行另一个插值以从统一采样返回到细化。

xin、yin、zin 是一维数组,还有 xi 和 yi。 zi(griddata 的输出)是一个二维数组。

最佳答案

您对 griddata 的第二次调用不正确。它期望 xiyi 是每个点的坐标,而 zi[i,:] 是点 对应的值(xi[i], yi[i])

显然,您的 xiyi 数组恰好有相同数量的 N 条目,所以您不会立即收到错误.该函数无法猜测您实际上希望它执行其他操作。

关于python - 正确使用 numpy 插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19421545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com