文章目录

  • (1)自己理解
  • (2)官方解释
  • (3)参数:
    • 3.1 x1, x2,…, xn:array_like
    • 3.2 sparse:bool, optional 默认false
    • 3.3 copy:bool, optional

(1)自己理解

np.meshgrid(a, b,indexing = "xy") 函数会返回 b.shape() 行 ,a.shape() 列的二维数组。
因此 i, j 都是 b.shape()行 a.shape() 列 的二维数组。

(2)官方解释

参考:https://numpy.org/doc/stable/reference/generated/numpy.meshgrid.html
代码:numpy.meshgrid(*xi, copy=True, sparse=False, indexing='xy')
作用:给定一维坐标数组 x1、x2、…、xn,制作 N 维坐标数组以对 N 维网格上的 N 维标量/矢量场进行矢量化评估。

(3)参数:

3.1 x1, x2,…, xn:array_like

表示网格坐标的一维数组。

indexing:{'xy', 'ij'}, optional
可选参数,用于设置输出的是笛卡尔(‘xy’,默认)还是矩阵(‘ij’)索引。此函数通过索引关键字参数支持两种索引约定。
给出字符串“ij”返回一个带有矩阵索引的网格,而“xy”返回一个带有笛卡尔索引的网格。
在输入长度为 M 和 N 的二维情况下,对于“xy”索引,输出形状为 (N, M),对于“ij”索引,输出形状为 (M, N)。
在输入长度为 M、N 和 P 的 3-D 情况下,对于“xy”索引,输出的形状为 (N, M, P),对于“ij”索引,输出的形状为 (M, N, P)。

简单示例 (python代码)

import numpy as np
x = [1, 2, 3, 4]
y = [7, 8, 9]X, Y = np.meshgrid(x, y)
print("X:")
print(X)
print("Y:")
print(Y)
print("==============================")
X1, Y1 = np.meshgrid(x, y,indexing='xy')
print("X1:")
print(X1)
print("Y1:")
print(Y1)
print("==============================")
X2, Y2 = np.meshgrid(x, y,indexing='ij')
print("X2:")
print(X2)
print("Y2:")
print(Y2)

结果输出:

X:
[[1 2 3 4][1 2 3 4][1 2 3 4]]
Y:
[[7 7 7 7][8 8 8 8][9 9 9 9]]
==============================
X1:
[[1 2 3 4][1 2 3 4][1 2 3 4]]
Y1:
[[7 7 7 7][8 8 8 8][9 9 9 9]]
==============================
X2:
[[1 1 1][2 2 2][3 3 3][4 4 4]]
Y2:
[[7 8 9][7 8 9][7 8 9][7 8 9]]

3.2 sparse:bool, optional 默认false

简单示例 (注:为True的看上面示例)

import numpy as np
x = [1, 2, 3, 4]
y = [7, 8, 9]X, Y = np.meshgrid(x, y,sparse=True)
print("X:")
print(X)
print("Y:")
print(Y)

结果输出:

X:
[[1 2 3 4]]
Y:
[[7][8][9]]

meshgrid 对于评估网格上的函数非常有用。如果函数依赖所有坐标,可以使用参数 sparse=True 来节省内存和计算时间。
简单示例:

import numpy as np
x = [1, 2, 3, 4]
y = [7, 8, 9]X, Y = np.meshgrid(x, y,sparse=True)
zs = np.sqrt(X**2 + Y **2)
print("X.shape,Y.shape,zs.shape",X.shape,Y.shape,zs.shape)
print("==============================")
X1, Y1 = np.meshgrid(x, y,sparse=False)
zz = np.sqrt(X1**2 + Y1 **2)
print("X1.shape,Y1.shape,zz.shape",X1.shape,Y1.shape,zz.shape)
print("==============================")
print(np.array_equal(zz, zs))

结果输出:

X.shape,Y.shape,zs.shape (1, 4) (3, 1) (3, 4)
==============================
X1.shape,Y1.shape,zz.shape (3, 4) (3, 4) (3, 4)
==============================
True

3.3 copy:bool, optional

自己暂时不太需要,贴张官方截图:

np.meshgrid()函数相关推荐

  1. np.meshgrid()函数 以及 三维空间中的坐标位置生成 以及 numpy.repeat()函数介绍

    一.np.meshgrid()函数 1.np.meshgrid()介绍 X, Y = np.meshgrid(x, y) 代表的是将x中每一个数据和y中每一个数据组合生成很多点,然后将这些点的x坐标放 ...

  2. np.meshgrid函数中的indexing参数问题

    目录 二维meshgrid函数 三维meshgrid函数 特别说明 meshgrid函数在二维空间中可以简单地理解为将x轴与y轴的每个位置的坐标关联起来形成了一个网格,我们知道空间中的点是由坐标确定的 ...

  3. np.meshgrid函数解读

    numpy.meshgrid()--生成网格点坐标矩阵 以生成6个点的网格图为例 若是有大量的格点 可以看出,上面这种很繁琐,如果改为meshgrid函数则稍微简单一些(因为他们的x,y坐标都很有规律 ...

  4. python meshgrid_torch.meshgrid()和np.meshgrid()的区别

    np.meshgrid()函数常用于生成二维网格,比如图像的坐标点. pytorch中也有一个类似的函数torch.meshgrid(),功能也类似,但是两者的用法有区别,使用时需要注意(刚踩坑,因此 ...

  5. np.meshgrid, ravel(), np.c_, plt.contourf()函数的用法,以及决策边界的画法。

    前言: 楼主最近在学机器学习时碰到的一些函数,用来画决策边界.记录现在的想法. 1: np.meshgrid的用法: X,Y = np.meshgrid(x,y)是将x中的每个点与y中的每个点连起来成 ...

  6. Numpy中的meshgrid()函数

    官方解释: np.meshgrid(*xi, **kwargs) Return coordinate matrices from coordinate vectors. 从坐标向量中返回坐标矩阵 不够 ...

  7. Numpy中np.mashgri() 函数介绍及2种应用场景

    @[toc](Numpy中np.mashgri() 函数介绍及2种应用场景 文章目录:) 近期在好几个地方都看到meshgrid的使用,虽然之前也注意到meshgrid的用法. 但总觉得印象不深刻,不 ...

  8. python中grid函数_Python-Numpy模块Meshgrid函数

    Numpy中关于Meshgrid函数:meshgrid官方. 1.Meshgrid前言 meshgrid函数就是用两个坐标轴上的点在平面上画网格(当然这里传入的参数是两个的时候).当然我们可以指定多个 ...

  9. numpy中mgrid()和meshgrid()函数

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

最新文章

  1. 抽取文档主题之gensim实现
  2. 敏捷团队如何通过Leangoo领歌做迭代管理、迭代规划及任务协同
  3. 机器学习如何做好分布外异常检测?谷歌这篇 NeurIPS 2019 论文提出了方法
  4. 支付宝扫一下就能体验的深度学习模型
  5. 42岁的波司登, 强势回归是为何?
  6. ExtJS中给Tree节点加click事件
  7. 非常有趣的古越及吴语-台州话
  8. 使用中断后不停止_仓鼠偷吃鼠粮,被发现后立刻停止,但鼠鼠满脸不情愿
  9. 1100: 求组合数(函数专题)
  10. 关于写程序时「对数据库操作」的一些总结。
  11. 论一个蒟蒻的脑子里可以有多少坑(貌似咕了……目前更新保持在noip阶段)
  12. C# datagridview绑定Liststring显示的是数据长度
  13. Atitit java读取堵塞cmd命令行返回结果 java read maven 主要原理是另外线程读取标准流,错误流。。 回显增加out头,这样发布区分errstream和stdstream的
  14. MySql常用函数大全(详细)
  15. 怎样进行文献调研?——与青年朋友谈科研(7)
  16. 大学计算机基础总结与复习
  17. C语言比赛评分系统报告,c语言编程:本课题模拟一个简单的比赛评分系统,选手从1号开始连续编号,选手得分分为专业素质得分和综...
  18. persistent
  19. php时间转换位周月,php日周月统计代码
  20. 【转】对Android开发者有益的40条优化建议

热门文章

  1. 从SARSA算法到Q-learning with ϵ-greedy Exploration算法
  2. 1.7 全通滤波器与最小相位系统
  3. Android存入mysql数据库中文乱码解决方法的超级坑
  4. STM32的中断优先级说明(抢占式与响应式优先级)
  5. 贝尔生物再度备战上市:拟赴上交所主板IPO,已实现连续盈利
  6. Python--PyQt5
  7. 英语中级口译-新东方
  8. CAD二次开发——通过Ribbon界面来运行程序
  9. 使用EasySysprep 4和ghost来封装、备份及还原Windows操作系统
  10. 评测TFN F4 高性能OTDR光时域反射仪性能