np.mgrid的用法

功能:返回多维结构,常见的如2D图形,3D图形

np.mgrid[ 第1维,第2维 ,第3维 , …] 

第n维的书写形式为:

a:b:c

c表示步长,为实数表示间隔;该为长度为[a,b),左开右闭

或:

a:b:cj

cj表示步长,为复数表示点数;该长度为[a,b],左闭右闭

举例说明:

1)生成1D数组:

a=np.mgrid[-4:4:3j]
a

在[-4,4]区间内取3个值

返回:

array([-4.,  0.,  4.])

2)生成个2D矩阵:

mgrid[[1:3:3j, 4:5:2j]]

生成的是3*2的矩阵

import numpy as np
x, y = np.mgrid[1:3:3j, 4:5:2j]
x

x返回:

array([[1., 1.],
       [2., 2.],
       [3., 3.]])

输出y:

array([[4., 5.],
       [4., 5.],
       [4., 5.]])

所以表示的结果是:

[[(1,4),(1,5)]
 [(2,4),(2,5)]
 [(3,4),(3,5)]
]

结果值先y向右扩展,再x向下扩展

3)生成3D立方体

b = np.mgrid[-1:1:2j,-2:2:2j,-3:3:5j]
b

返回:

array([[[[-1. , -1. , -1. , -1. , -1. ],
         [-1. , -1. , -1. , -1. , -1. ]],

        [[ 1. ,  1. ,  1. ,  1. ,  1. ],
         [ 1. ,  1. ,  1. ,  1. ,  1. ]]],


       [[[-2. , -2. , -2. , -2. , -2. ],
         [ 2. ,  2. ,  2. ,  2. ,  2. ]],

        [[-2. , -2. , -2. , -2. , -2. ],
         [ 2. ,  2. ,  2. ,  2. ,  2. ]]],


       [[[-3. , -1.5,  0. ,  1.5,  3. ],
         [-3. , -1.5,  0. ,  1.5,  3. ]],

        [[-3. , -1.5,  0. ,  1.5,  3. ],
         [-3. , -1.5,  0. ,  1.5,  3. ]]]])

猜你喜欢

转载自www.cnblogs.com/wanghui-garcia/p/10763103.html