文件目录
- 01 作用
- 02 语法
- 03 举例说明
- 04 主要用途
01 作用
np.mgrid
用与生成具备“空间布局 ”的等差三维数组 ,例如下边编码,生成维度为 (2, 5, 5)
。:
array三d = np.mgrid[-4: 0: 5j,
0: 4: 5j]
print(array三d.shape)
print(array三d)
(2, 5, 5)
[[[-4. -4. -4. -4. -4.]
[-3. -3. -3. -3. -3.]
[-2. -2. -2. -2. -2.]
[-1. -1. -1. -1. -1.]
[ 0. 0. 0. 0. 0.]]
[[ 0. 1. 2. 3. 4.]
[ 0. 1. 2. 3. 4.]
[ 0. 1. 2. 3. 4.]
[ 0. 1. 2. 3. 4.]
[ 0. 1. 2. 3. 4.]]]
02 语法
语法格式以下:
np.mgrid[第一维,第二维,...]
dim = [start: end: step]
维度间用分号隔开 ,第 i 维的书写存有二种状况:
-
a: b: c
-
c
表明生成的数组原素中间的步幅; - 数组区间为
[a, b)
(左闭右开);
-
-
a: b: cj
-
cj
表明生成的数组原素的数量; - 数组区间为
[a, b]
(左闭又闭);
-
实际的使用方法 ,我们在后边案例一部分解读。
03 举例说明
-
一维数组
# 在[0, 4)区间内生成数组,间距为1 -> [0, 1, 2, 3] array1D = np.mgrid[0: 4: 1] # 在[0, 4]区间内生成数组,数量为5 -> [0, 1, 2, 3, 4] array1Dj = np.mgrid[0: 4: 5j] print(array1D) print(array1Dj)
[0 1 2 3] [0. 1. 2. 3. 4.]
必须留意的是 ,当
c > b - a
时,其不容易生成合理的数组,默认设置为0:array1D = np.mgrid[0: 4: 5] print(array1D)
[0]
-
2个二维数组
针对生成的高维空间数组 ,大家应当那样看来:
- 其会对数组沿别的维度开展拷贝扩展(x->y,y->x)
-
2个数组再层叠起來
x,y = np.mgrid[-4: 0: 5j, 0: 4: 5j] print("x: \t", x.shape, "\n", x) print("y: \t", y.shape, "\n", y)
x: (5, 5) [[-4. -4. -4. -4. -4.] [-3. -3. -3. -3. -3.] [-2. -2. -2. -2. -2.] [-1. -1. -1. -1. -1.] [ 0. 0. 0. 0. 0.]] y: (5, 5) [[0. 1. 2. 3. 4.] [0. 1. 2. 3. 4.] [0. 1. 2. 3. 4.] [0. 1. 2. 3. 4.] [0. 1. 2. 3. 4.]]
生成的数组将其开展分拆即2个
5 x 5
的引流矩阵,其沿令外一个维度的方位开展拷贝扩展。
04 主要用途
针对更高维空间的数组 ,大家融合它普遍的运用三维制图,实际的参照:<python手记:np.mgrid
的使用方法> 。