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. ]]]])