numpy.meshgrid 用法说明
numpy.meshgrid(*xi, copy=True, sparse=False, indexing='xy')
return: X1, X2,..., XN
其中 *xi = x1, x2,..., xn
都表示一维 array。
我们从下面这个简单的例子来看 meshgrid
做了什么:
import numpy as npa = np.array([2, 4, 8])
b = np.array([3, 6])x, y = np.meshgrid(a, b)
x
"""
array([[2, 4, 8],[2, 4, 8]])
"""
y
"""
array([[3, 3, 3],[6, 6, 6]])
"""
对于输入的两个一维 array a
和 b
,meshgrid
返回以 ( a
中的元素, b
中的元素) 为坐标点的所有可能组合,但是将两个坐标轴的坐标分开存储。上例中 x
和 y
实际上代表了 6 个坐标点:
(2, 3), (4, 3), (8, 3), (2, 6), (4, 6), (8, 6)
返回值也可以这样理解:
x
相当于把a
重复了len(b)
次;y
相当于b
中的每个元素重复了len(a)
次;- 最终形状都为
(len(b), len(a))
我们将 `meshgrid` 生成的坐标点在网格上画出来,就是下面这样:
plt.plot(x, y, 'rs ')
plt.grid(True)
plt.show()
x
和 y
其实就是描述这个网格上点的坐标矩阵:
X=[248248]\boldsymbol{X}=\begin{bmatrix} 2&4&8\\ 2&4&8 \end{bmatrix} X=[224488]
Y=[333666]\boldsymbol{Y}=\begin{bmatrix} 3&3&3\\ 6&6&6 \end{bmatrix} Y=[363636]
meshgrid
对于计算 grid 上的函数非常有用,例如,如果我们想要估计下面的函数在一个 grid 上一系列点的值
x2+y2\sqrt{ x^2 + y^2} x2+y2
points = np.arange(-5, 5, 0.01) # 1000 equally spaced pointsxs, ys = np.meshgrid(points, points)
xs
"""
array([[-5. , -4.99, -4.98, ..., 4.97, 4.98, 4.99],[-5. , -4.99, -4.98, ..., 4.97, 4.98, 4.99],[-5. , -4.99, -4.98, ..., 4.97, 4.98, 4.99],...,[-5. , -4.99, -4.98, ..., 4.97, 4.98, 4.99],[-5. , -4.99, -4.98, ..., 4.97, 4.98, 4.99],[-5. , -4.99, -4.98, ..., 4.97, 4.98, 4.99]])
"""
ys
"""
array([[-5. , -5. , -5. , ..., -5. , -5. , -5. ],[-4.99, -4.99, -4.99, ..., -4.99, -4.99, -4.99],[-4.98, -4.98, -4.98, ..., -4.98, -4.98, -4.98],...,[ 4.97, 4.97, 4.97, ..., 4.97, 4.97, 4.97],[ 4.98, 4.98, 4.98, ..., 4.98, 4.98, 4.98],[ 4.99, 4.99, 4.99, ..., 4.99, 4.99, 4.99]])
"""
z = np.sqrt(xs ** 2 + ys ** 2)
z.shape
"""
(1000, 1000)
"""
我们可以画出这个图:
import matplotlib.pyplot as pltplt.imshow(z)
plt.colorbar()
plt.title('Image plot of $\sqrt{x^2 + y^2}$ for a grid of values')
numpy.meshgrid 用法说明相关推荐
- numpy meshgrid用法
import numpy as np # 坐标向量 a = np.array([1,2,3]) # 坐标向量 b = np.array([7,8]) # 从坐标向量中返回坐标矩阵 # 返回list,有 ...
- numpy.where()用法
numpy.where() 用法详解 - massquantity - 博客园 numpy.where() 用法详解 - massquantity - 博客园
- numpy meshgrid 和 mgrid 的两个简单实例和解析
numpy.meshgrid 和 numpy.mgrid 用于返回包含坐标向量的坐标矩阵. 当坐标矩阵为二维时, 可用于在图像变形时构建网格. 实例一 from __future__ import p ...
- 【Data Mining】机器学习三剑客之Numpy常用用法总结
点击"小詹学Python",选择"置顶"公众号 重磅干货,第一时间送达 本文转载自AI蜗牛车,禁二次转载 一.前言 玩数据分析.数据挖掘.AI的都知道这个pyt ...
- 【Python数据清洗】numpy.take()用法
numpy.take()用法 学了Python很长时间了但是一直没有去研究take的使用方法 今天周末加班研究一下 写一个简单的笔记,基本上都是借鉴别人的 其旨在根据提供的索引值将元素形成数组输出,如 ...
- 关于numpy.take()用法
关于numpy.take()用法 此文章是对我当时使用错误后的改正,用以记录下来,并作分享. 首先用numpy定义一个二维数组 import numpy as np a = np.random.uni ...
- numpy.meshgrid()理解
一句话解释numpy.meshgrid()--生成网格点坐标矩阵. 关键词:网格点,坐标矩阵 网格点是什么?坐标矩阵又是什么鬼? 看个图就明白了: 图中,每个交叉点都是网格点,描述这些网格点的坐标的矩 ...
- python numpy allclose用法及代码示例
python numpy allclose用法及代码示例 用法: numpy.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False) 如果两个数 ...
- 快速掌握numpy.hanning、numpy.outer、numpy.meshgrid函数
文章目录 numpy.hanning numpy.outer numpy.meshgrid numpy.hanning 这是numpy库中比较常见的函数,它生成余弦窗函数或者高斯函数,用于过滤或者突出 ...
最新文章
- Retrofit 2.0:有史以来最大的改进
- boost::math::negative_binomial用法的测试程序
- 转 安装php时报gd相关的错误(gd_ctx.c)
- 循环所有数据库执行脚本
- 【python】数据结构和算法 + 浅谈单链表与双链表的区别
- 2017.9.30 物流运输 思考记录
- 甲骨文通知用户需付费取得 Java 8 更新
- Python 笔记(一)字典与json使用及注意点
- linux mysql外网连接不成功的可能原因
- python 等号 什么编码_Python运算符与编码
- excel如何随机抽样
- javaweb_表单设计
- python的os库——批量修改文件名称
- Django @csrf_exempt不能在类视图中工作(Django @csrf_exempt not working in class View)
- dvm 与jvm 区别
- 《最优化方法及其Matlab程序设计》马昌凤 部分习题答案
- javascript中mouseover和mouseout事件详解
- 打开win10应用商店,提示管理员已阻止这个应用
- 5 款让开发效率倍增的 VS Code 插件
- 简单的led驱动 了解下