我目前有三个 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 来构建网格。那是对的吗?