numpy.meshgrid(),numpy.mgrid()

别说谁变了你拦得住时间么 提交于 2020-01-26 21:12:15

numpy.meshgrid()

当需要网格坐标表示的时候需要给定一定范围的矩阵坐标,分别输入X,Y,Z之类的坐标会很麻烦,比如画一个6个点的网格需要输入

x = numpy.array([[0, 1, 2], [0, 1, 2]])

y = numpy.array([[0, 0, 0], [1, 1, 1]])

当表示大范围矩阵的时候这种做法会很费时,所以可以利用meshgrid()

同样的表示上面的6个点的网格用meshgrid()可以写成:

x = numpy.array([0, 1, 2])

y = numpy.array([0, 1])

X, Y = numpy.meshgrid(x, y)

也可以利用numpy.linspace()生成等差数列更简洁的表示更大数量的矩阵

比如

x = numpy.linspace(0,500,20)      表示从0到500等差生成20个

y = numpy.linspace(0,500,20)      同上

X,Y = numpy.meshgrid(x, y)

numpy.mgrid()

可以更方便的生成矩阵网格

numpy.mgrid[start:end:step]

比如三行三列x,y=numpy.mgrid[-5:5:3j,-2:2:3j],3j表示三个点

x
([[-5., -5., -5.],
  [ 0.,  0.,  0.],
  [ 5.,  5.,  5.]])

y
([[-2.,  0.,  2.],
  [-2.,  0.,  2.],
  [-2.,  0.,  2.]])

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!