2

我目前有三个 1D numpy 数组,如下所示:

#X     Y     Z
 0     1     2.9
 0     3     2.1
 0     5     1.753
 .     .     .
 .     .     .
 0     99    3.82
 0.1   1     4.1
 0.1   3     5.3
 0.1   5     2.65
 .     .     .
 .     .     .
 0.1   99    5.21    

每个 z 对应于同一索引处的 (x,y) 对。我正在尝试在我的网格上执行线性插值,以便我能够看到 Z 的值是多少(57.3、33.1)。

我的问题是我的 X 值以 0.1 的增量一直上升到几乎 100,而我的 Y 值以 2 递增。当我尝试使用 interp2d 或 bisplrep 进行插值时,我总是遇到分段错误。(我假设是因为数据点的数量?)。

感谢您提供的任何帮助。我的 X 坐标增加了一个足够小的量,以至于我永远不会尝试检查 Z 值(50.53,y)。不过,我确实需要能够检查那个增量的 Y 值。例如 (50.1, 33.6)。

如果有用的话,我建立了一个 (x,y) 坐标及其对应的 z 值的字典。

编辑:

由于我已经为每个 (x,y) 对设置了 Z 值,所以我不明白为什么下面的代码不起作用(大约 20 秒后它会出现故障)。

f = interpolate.interp2d(X, Y, Z, kind='linear')

由于我已经有这样的 X 和 Y 结构,我不需要使用 np.meshgrid 来构建网格。那是对的吗?

4

0 回答 0