最近看到一篇很清晰的讲解mgrid()和meshgrid()函数的文章,收藏并转载于此,原文链接:https://www.cnblogs.com/shenxiaolin/p/8854197.html

一、meshgrid函数

meshgrid函数通常使用在数据的矢量化上。

它适用于生成网格型数据,可以接受两个一维数组生成两个二维矩阵,对应两个数组中所有的(x,y)对。

示例展示:

由上面的示例展示可以看出,meshgrid的作用是:

根据传入的两个一维数组参数生成两个数组元素的列表。

如果第一个参数是xarray,维度是xdimesion,

第二个参数是yarray,维度是ydimesion。

那么生成的第一个二维数组是以xarray为行,共ydimesion行的向量;

而第二个二维数组是以yarray的转置为列,共xdimesion列的向量。

 二、 mgrid函数

用法:返回多维结构,常见的如2D图形,3D图形。对比np.meshgrid,在处理大数据时速度更快,且能处理多维(np.meshgrid只能处理2维) 
ret = np.mgrid[ 第1维,第2维 ,第3维 , …] 
返回多值,以多个矩阵的形式返回,

第1返回值为第1维数据在最终结构中的分布,

第2返回值为第2维数据在最终结构中的分布,以此类推。(分布以矩阵形式呈现)

例如np.mgrid[X , Y] 
样本(i,j)的坐标为 (X[i,j] ,Y[i,j]),X代表第1维,Y代表第2维,在此例中分别为横纵坐标。

例如1D结构(array),如下:

In [2]: import numpy as np

In [3]: pp=np.mgrid[-5:5:5j]

In [4]: pp
Out[4]: array([-5. , -2.5, 0. , 2.5, 5. ])

例如2D结构 (2D矩阵),如下:

>>> pp = np.mgrid[-1:1:2j,-2:2:3j]
>>> x , y = pp
>>> x
array([[-1., -1., -1.],[ 1.,  1.,  1.]])
>>> y
array([[-2.,  0.,  2.],[-2.,  0.,  2.]])

例如3D结构 (3D立方体),如下:

>>> pp = np.mgrid[-1:1:2j,-2:2:3j,-3:3:5j]
>>> print pp
[[[[-1.  -1.  -1.  -1.  -1. ][-1.  -1.  -1.  -1.  -1. ][-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. ][ 0.   0.   0.   0.   0. ][ 2.   2.   2.   2.   2. ]][[-2.  -2.  -2.  -2.  -2. ][ 0.   0.   0.   0.   0. ][ 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. ][-3.  -1.5  0.   1.5  3. ][-3.  -1.5  0.   1.5  3. ]]]] 

三、meshgrid 和 mgrid 的区别

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

  • 步长为复数表示点数,左闭右闭
  • 步长为实数表示间隔,左闭右开

numpy中mgrid()和meshgrid()函数相关推荐

  1. python使用numpy中的np.mean函数计算数组的均值、np.var函数计算数据的方差、np.std函数计算数组的标准差

    python使用numpy中的np.mean函数计算数组的均值.np.var函数计算数据的方差.np.std函数计算数组的标准差 目录

  2. python transpose函数_转载:numpy中transpose和swapaxes函数讲解

    看<利用python进行数据分析>,有些不大清楚numpy中transpose和swapaxes函数的原理,这篇文章写的比较清楚,转载过来方便个人随时阅读和温习 版权声明:本文为CSDN博 ...

  3. 通过一个函数对比 mgrid以及meshgrid函数

    简 介: 利用3D曲面显示可以更好的将三维函数性能可视化展示.利用view_init()设置不同的视角,动态显示曲面的不同方面. 关键词: meshgrid,mgrid,view_init #merm ...

  4. numpy中的random.choice()函数

    介绍 random.choice()函数:从给定的1维数组中随机采样的函数. 参数 numpy.random.choice(a, size=None, replace=True, p=None) a ...

  5. python数组求和_Python NumPy中的数组求和函数sum | 坐倚北风

    在Python中可以使用NumPy中的sum函数来进行数值求和,sum方法的格式如下: numpy.sum(a, axis=None, dtype=None, out=None, keepdims=, ...

  6. Python—Numpy学习之【meshgrid函数】

    meshgrid函数 功能:生成网格点坐标矩阵,返回的是两个矩阵,分别是横坐标矩阵和纵坐标矩阵. 横坐标矩阵的元素和纵坐标矩阵对应位置的元素,共同组成了一个网格点的完整坐标 补充练习

  7. Python Numpy中返回下标操作函数-节约时间的利器

    如果觉得Python慢,那么首先应该想到是不是没有用对. Numpy是Python中自带的一个数值计算库,包含了大量数值计算的常用方法.其底层大量使用C/C++(超过50%的代码量),矩阵计算调用LA ...

  8. numpy中reshape,multiply函数

    multiply(a,b)就是个乘法. 一. 如果a,b是两个数组,那么对应元素相乘. 1. 先来介绍下reshape() >>> from numpy import * >& ...

  9. numpy 中的 random.rand() 函数

    1. random.rand()   这个函数的参数是数组的维度,取值范围是 [0,1) 2. random.randn()   这个函数的参数是数组的维度,返回一组服从正态分布的随机值. 3. ra ...

最新文章

  1. 堆晶结构_橄榄岩的特殊问题
  2. 做产品16年总结9条心得
  3. “SQL 被低估了!”
  4. linux ssh非交互脚本,Linux expect非交互式执行脚本
  5. React-Native 使用自定义IconFont
  6. codeforces 并查集_codeforces 892E 可撤销并查集
  7. RH124 Chapter 2 Managing Files From the Command Line
  8. 什么是java句柄_JAVA中的术语:句柄是啥意思
  9. win10安装打印机驱动的方法,电脑打印机驱动安装教程
  10. JAVAWeb新闻发布系统
  11. 美剧深度扫盲:有线电视台之风起云涌--之一(转载)
  12. BFS算法(广度优先搜索)java
  13. c语言程序设计伴随矩阵,c语言求方阵的行列式、伴随矩阵算法
  14. Android 12/12L 全面升级、微信和“吃鸡”都在用 Flutter,2021 Google 开发者大会你看了吗?
  15. 高老师的架构设计_隽语集(AA_0151)
  16. 901.freeswitch常用命令
  17. sqlmap绕过空格过滤方法
  18. 使用 CSS 追踪用户
  19. uniapp中输入框禁用表情与特殊符号
  20. OpenCV Error: Unspecified error (could not find a writer for the specified extension) in imwrite

热门文章

  1. 网间互联-国家级互联网骨干直联点
  2. 无监督学习的简单统一
  3. win7系统安装信息服务器不可用怎么办,Win7电脑RPC服务器不可用怎么办 RPC服务器不可用解决方法...
  4. 第八章第一节:Java继承之继承概念、语法、成员访问和super关键字
  5. 『重磅』免费无限量下载知网/万方/维普等数据库文献的正规渠道
  6. 用Ultraiso刻录U盘装系统
  7. 产品介绍 | 51LA短链分发平台
  8. Python 网络编程(6)总结【转】
  9. YOLOv5、v7改进之三十一:CrissCrossAttention注意力机制
  10. 编写一个类Shop(商店)、内部类InnerCoupons(内部购物券)