在Numpy的官方文章里,meshgrid函数的英文描述也显得文绉绉的,理解起来有些难度。

可以这么理解,meshgrid函数用两个坐标轴上的点在平面上画网格。

用法:

  [X,Y]=meshgrid(x,y)

  [X,Y]=meshgrid(x)与[X,Y]=meshgrid(x,x)是等同的

  [X,Y,Z]=meshgrid(x,y,z)生成三维数组,可用来计算三变量的函数和绘制三维立体图

这里,主要以[X,Y]=meshgrid(x,y)为例,来对该函数进行介绍。

[X,Y] = meshgrid(x,y) 将向量x和y定义的区域转换成矩阵X和Y,其中矩阵X的行向量是向量x的简单复制,而矩阵Y的列向量是向量y的简单复制(注:下面代码中X和Y均是数组,在文中统一称为矩阵了)。

假设x是长度为m的向量,y是长度为n的向量,则最终生成的矩阵X和Y的维度都是 nm (注意不是mn)。

文字描述可能不是太好理解,下面通过代码演示下:

加载数据

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
m, n = (5, 3)
x = np.linspace(0, 1, m)
y = np.linspace(0, 1, n)
X, Y = np.meshgrid(x,y)

查看向量x和向量y

x
out:
array([ 0. , 0.25, 0.5 , 0.75, 1. ])
y
out:
array([ 0. , 0.5, 1. ])

查看矩阵X和矩阵Y

X
out:
array([[ 0. , 0.25, 0.5 , 0.75, 1. ],
[ 0. , 0.25, 0.5 , 0.75, 1. ],
[ 0. , 0.25, 0.5 , 0.75, 1. ]])
Y
out:
array([[ 0. , 0. , 0. , 0. , 0. ],
[ 0.5, 0.5, 0.5, 0.5, 0.5],
[ 1. , 1. , 1. , 1. , 1. ]])

查看矩阵对应的维度

X.shape
out:
(3, 5)
Y.shape
out:
(3, 5)

meshgrid函数的运行过程,可以通过下面的示意图来加深理解:

再者,也可以通过在matplotlib中进行可视化,来查看函数运行后得到的网格化数据的结果

plt.plot(X, Y, marker='.', color='blue', linestyle='none')
plt.show()

当然,我们也可以获得网格平面上坐标点的数据,如下:

z = [i for i in zip(X.flat,Y.flat)]
z
out:
[(0.0, 0.0),
(0.25, 0.0),
(0.5, 0.0),
(0.75, 0.0),
(1.0, 0.0),
(0.0, 0.5),
(0.25, 0.5),
(0.5, 0.5),
(0.75, 0.5),
(1.0, 0.5),
(0.0, 1.0),
(0.25, 1.0),
(0.5, 1.0),
(0.75, 1.0),
(1.0, 1.0)]

Meshgrid函数的一些应用场景

Meshgrid函数常用的场景有等高线绘制及机器学习中SVC超平面的绘制(二维场景下)。

分别图示如下:

(1)等高线

(2)SVC中超平面的绘制:

原博地址:https://zhuanlan.zhihu.com/p/29663486

Meshgrid函数的基本用法(转载)相关推荐

  1. Meshgrid函数的基本用法

    Meshgrid函数的基本用法 meshgrid函数用两个坐标轴上的点在平面上画网格. 用法:  [X,Y]=meshgrid(x,y)  [X,Y]=meshgrid(x)与[X,Y]=meshgr ...

  2. PHP错误处理函数set_error_handler()的用法

    定义和用法 set_error_handler() 函数设置用户自定义的错误处理函数. 该函数用于创建运行时期间的用户自己的错误处理方法. 该函数会返回旧的错误处理程序,若失败,则返回 null. 语 ...

  3. Python语言Numpy包之Meshgrid 函数

    1 Meshgrid 函数的基本用法 在 Numpy 的官方文章里,meshgrid 函数的英文描述也显得文绉绉的,理解起来有些难度.可以这么理解, meshgrid 函数用两个坐标轴上的点在平面上画 ...

  4. Numpy中Meshgrid函数

    Meshgrid函数的基本用法 meshgrid函数用两个坐标轴上的点在平面上画网格. 用法:  [X,Y]=meshgrid(x,y)  [X,Y]=meshgrid(x)与[X,Y]=meshgr ...

  5. MATLAB三维绘图基础meshgrid函数的用法解析

    MATLAB三维绘图基础meshgrid函数的用法解析   MATLAB中meshgrid函数是用来生成网格的,函数用法是:   [X,Y] = meshgrid(x,y);这种是最常用的一种用法.x ...

  6. [MATLAB]中meshgrid函数的用法与实践(学习笔记)

    今天在看点目标成像仿真程序的时候,看到了meshgrid函数,看了matlab的帮助文档后理解了一点,特此记录学习过程. 目录 一.meshgrid函数 二.举例验证 三.创建二维网格绘制曲面图 四. ...

  7. 图像处理之matlab中meshgrid函数用法详解

    一.meshgrid()函数基本调用格式 meshgrid函数用来生成网格矩阵,既可以是二维网格矩阵,又可以是三维网格矩阵. 1.[X,Y] = meshgrid(x,y) :基于向量x和y中包含的坐 ...

  8. python grid函数_详解numpy中的meshgrid函数用法

    numpy中的meshgrid函数的使用 numpy官方文档meshgrid函数帮助文档https://docs.scipy.org/doc/numpy/reference/generated/num ...

  9. MATLAB中meshgrid函数用法

    meshgrid是MATLAB中用于生成网格采样点的函数.在计算机中进行绘图操作时,通常会给出如z=x^2+y^2的表格数据, 涉及到x.y.z三组数据,而x.y这两组数据可以看做是在Oxy平面内对坐 ...

最新文章

  1. 超级 App 手机百度云端架构设计与个性化推荐
  2. HTTP Referer二三事---转
  3. 成功解决NameError: name ‘norm‘ is not defined
  4. 期盼的中国SB秀终于开始了
  5. centos源码安装PHP
  6. 深入源码之Commons Logging[转]
  7. word更改字距调整,让文章更具美感!
  8. 防止ADSL被***的一些技巧
  9. houdini安装哪个linux版本,Houdini18.5安装系统环境要求
  10. python列表常见的5种去重方法
  11. eclipse IED 创建springboot项目教程
  12. 单面打印机打印双面小册子
  13. 编程计算长方形的面积和周长(python)_c语言计算长方形的面积和周长
  14. JVM虚拟机——初识
  15. 【Vue知识点- No7.】路由、vant组件库的使用
  16. linux pam 解锁_linux pam锁定用户
  17. IPFS星际文件系统(中文白皮书)
  18. 雷达干扰样式仿真matlab仿真
  19. 国产超低功耗华大单片机HC32F005开发板上手入门
  20. python 密度图_Python-Matplotlib做二维密度分布图

热门文章

  1. 动态规划之背包类问题详细介绍(代码模板)和例题练习
  2. 大数据技术与实践学习笔记(1 of 3,from hitwh)
  3. 周景世荣慢生活馆+重组自己的7个方法思维导图模板
  4. C# TCPIP编程
  5. python+selenium百度文库ppt(爬虫)
  6. 熊市中只赚不赔的唯一方法
  7. oracle 僵死的进程,【原】杀掉oracle僵死进程
  8. 物联网工程实训——智慧家居开发
  9. 【招聘(上海)】To B数字化营销公司-市场易,直招.NET后端研发工程师
  10. gogs mysql 报错_Gogs 在 Docker 下的部署