为什么scipy的interp2d返回一个二维数组而不是一维列表?

vm0i2vca  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(232)

我正在尝试在2D字段上插入值,例如:

其中内部字段表示值1
如果我使用如下interp2d插值器:


# x: 1D list of x values, length n

# y: 1D list of y values, length m

# z: 2D array of z values, dimensions nxm

interpolator = interpolate.interp2d(x=x, y=y, z=z)

现在,当我用interpolator([0.2, 0.4, 0.6], [0, 0, 0])调用插值器时,我希望得到一个长度为3的一维列表,其中填充了1。然而,我得到了一个填充了1的3x3数组。在example中,实际上只使用了结果的第一行(z[0, :])。但是,结果的其他行代表什么呢?

dgsult0t

dgsult0t1#

根据您指定的内容:z = f(x,y)的维数为n*m。因此,interpolator([0.2, 0.4, 0.6], [0, 0, 0])返回一个3x 3数组是有意义的。
在Scipy示例中,他们只绘制了第一行。
x, y, xnew, ynew-〉一维
z, xx, yy, znew-〉二维

相关问题