对numpy.meshgrid()最简洁且清晰的解释就是:把两个数组的笛卡尔积内的元素的第一二个坐标分别放入两个矩阵中。
xx, yy = np.meshgrid(np.linspace(-1,1,3),np.linspace(-1,1,3))
xx
array([[-1., 0., 1.],
[-1., 0., 1.],
[-1., 0., 1.]])
yy
array([[-1., -1., -1.],
[ 0., 0., 0.],
[ 1., 1., 1.]])
np.linspace(-1,1,3)
array([-1., 0., 1.])
做[-1., 0., 1.]与[-1., 0., 1.]的笛卡尔积:
(-1, -1), (-1, 0), (-1, 1)
( 0, -1), ( 0, 0), ( 0, 1)
( 1, -1), ( 1, 0), ( 1, 1)
取所有点的第一个坐标(yy):
[-1., -1., -1.],
[ 0., 0., 0.],
[ 1., 1., 1.]]。
取所有点的第二个坐标(xx):
[-1., 0., 1.],
[-1., 0., 1.],
[-1., 0., 1.]。