np.mgrid

317 阅读1分钟

np.mgrid 的理解

np.mgrid返回一个点阵坐标。

Example

>>> np.mgrid[1:3:3j]
array([1., 2., 3.])

>>> np.mgrid[1:3:3j, 2:3:2j]
array([[[1., 1.],
        [2., 2.],
        [3., 3.]],
        
       [[2., 3.],
        [2., 3.],
        [2., 3.]]])

>>> np.mgrid[1:3:3j, 2:3:2j, 0:2:2j]
array([[[[1., 1.],
         [1., 1.]],
        [[2., 2.],
         [2., 2.]],
        [[3., 3.],
         [3., 3.]]],
         
       [[[2., 2.],
         [3., 3.]],
        [[2., 2.],
         [3., 3.]],
        [[2., 2.],
         [3., 3.]]],
         
       [[[0., 2.],
         [0., 2.]],
        [[0., 2.],
         [0., 2.]],
        [[0., 2.],
         [0., 2.]]]])

我的理解:

对于np.mgrid[1:3:3j, 2:3:2j],会生成2个矩阵(二维即2个),每个矩阵都是3*2,即这6个点的坐标,第一个矩阵是6个点的X轴坐标,第二个矩阵是6个点的Y轴坐标。(1:3:3j表示在1到3之间生成三个点)

第一个矩阵如下:

1.png

第二个矩阵如下:

2.png

对于np.mgrid[1:3:3j, 2:3:2j, 0:2:2j],会生成3个矩阵,每个矩阵都是322,即这12个点的坐标,第一个矩阵是12个点的X轴坐标,第二个矩阵是12个点的Y轴坐标,第三个矩阵是12个点的Z轴坐标。

(红色是X轴,绿色是Y轴,蓝色是Z轴)

第一个矩阵如下:

3-1.png

第二个矩阵如下:

3-2.png

第三个矩阵如下:

3-3.png