numpy.meshgrid 用法说明

article/2025/8/27 0:02:42

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 abmeshgrid 返回以 ( a 中的元素, b中的元素) 为坐标点的所有可能组合,但是将两个坐标轴的坐标分开存储。上例中 xy 实际上代表了 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()

在这里插入图片描述
xy 其实就是描述这个网格上点的坐标矩阵

X = [ 2 4 8 2 4 8 ] \boldsymbol{X}=\begin{bmatrix} 2&4&8\\ 2&4&8 \end{bmatrix} X=[224488]

Y = [ 3 3 3 6 6 6 ] \boldsymbol{Y}=\begin{bmatrix} 3&3&3\\ 6&6&6 \end{bmatrix} Y=[363636]


meshgrid 对于计算 grid 上的函数非常有用,例如,如果我们想要估计下面的函数在一个 grid 上一系列点的值

x 2 + y 2 \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')

在这里插入图片描述


http://chatgpt.dhexx.cn/article/pFSVbJNv.shtml

相关文章

MATLAB:Meshgrid用法

MATLAB-基础画图meshgrid - 知乎 (zhihu.com) 在MATLAB绘制三维曲面图或三维网格图时经常会用到meshgrid指令 比如:通常在确定向量x,y的基础上,使用meshgrid生成新的矩阵数据[X,Y],再输入函数Zf(X,Y),最后使用mesh或surf命令生成三维网格图或三维曲面图…

Python语言Numpy包之Meshgrid 函数

1 Meshgrid 函数的基本用法 在 Numpy 的官方文章里, meshgrid 函数的英文描述也显得文绉绉的,理解起来有些难度。可以这么理解, meshgrid 函数用两个坐标轴上的点在平面上画网格。 用法: [X,Y]meshgrid(x,y) [X,Y]meshgrid(…

matlab meshgrid函数

作用: 创建二维、三维矩阵 格式: [X,Y] meshgrid(x,y) [X,Y] meshgrid(x) [X,Y,Z] meshgrid(x,y,z) [X,Y,Z] meshgrid(x) eg: >> [x,y]meshgrid(1:1:3,5:1:6)x 1 2 31 2 3 y 5 5 56 6 6 …

【Numpy】 meshgrid()函数

np.mesharid()函数通常用来生成二维数据网格,例如一张灰度图片中长为x轴,宽为y轴,图中每一个像素点。 可以接受两个一维数组生成两个二维矩阵: np.meshgrid(np.arange(4),np.arange(4))我们生成的结果为: [array([[…

NumPy(十七):Meshgrid函数【应用场景:等高线、SVC中超平面的绘制】

一、Meshgrid函数 import numpy as np import matplotlib.pyplot as pltx np.linspace(0, 1, 5) y np.linspace(0, 1, 3) print("x ", x) print("-" * 50) print("y ", y) print("-" * 100)X, Y np.meshgrid(x, y) print("…

opencv-meshgrid

opencv-meshgrid 一句话描述 使用opencv::repeat函数和std::iota函数完成meshgrid功能。 小例程 cv::Mat Z cv::Mat::zeros(3, 5, CV_8UC1), X, Y;int x_length Z.cols, y_length Z.rows;std::vector<int> x(x_length);std::iota(x.begin(), x.end(), 1);X cv::re…

python扩展库numpy中函数meshgrid()的使用[当你想要两个for循环嵌套处理时,就该想到它]

看一个简单的例子&#xff1a; 设有一个3阶方阵Z&#xff0c; 其值由式子x^2 y^2生成。 x的取值为4&#xff0c;5&#xff0c;6&#xff1b; y的取值为7&#xff0c;8&#xff0c;9。 按常规的思路应该是由两个循环生成方阵Z&#xff0c;即如下的代码&#xff1a; #!/usr/bin…

np.meshgrid()

目录 1.meshgrid函数介绍2.meshgrid函数官方说明 1.meshgrid函数介绍 参数&#xff1a; *xi&#xff0c;也就是x1&#xff0c;x2&#xff0c;…&#xff0c;xn &#xff1a;表示网格坐标的一维数组。 copy&#xff1a;默认为True&#xff0c;如果为False&#xff0c;就返回原始…

【matlab】meshgrid的使用

函数参数列表 [X,Y] meshgrid(x,y) [X,Y] meshgrid(x) [X,Y,Z] meshgrid(x,y,z) [X,Y,Z] meshgrid(x) meshgrid可以生成2D或者3D的矩阵&#xff0c; 如果为2D&#xff0c;矩阵的shape为&#xff08;y.length, x.length&#xff09; 如果为3D&#xff0c;矩阵的shape为&a…

np.meshgrid

np.meshgrid参考 官方文档给出的解释 Return coordinate matrices from coordinate vectors. Make N-D coordinate arrays for vectorized evaluations of N-D scalar/vector fields over N-D grids, given one-dimensional coordinate arrays x1, x2,…, xn. 参数 indexing : …

meshgrid方法

目录 meshgrid 绘制曲面图三维网络 meshgrid meshgrid 和 mesh 方法的差别在于是否会画出栅格线 绘制曲面图 生成绘制3D图形所需的网格数据。因为在计算机中进行绘图操作时&#xff0c;往往需要一些采样点&#xff0c;然后根据这些采样点来绘制出整个图形。 涉及到x、y这两组数…

matlab meshgrid作用,【 MATLAB 】ndgrid 和 meshgrid 对比理解以及应用

目录 背景 本博文主要分析 ndgrid&#xff0c; meshgrid是附送的&#xff0c;都是类似的东西&#xff0c;学会了一个&#xff0c;另一个很容易就理解了。 为什么会对 ndgrid 感兴趣呢&#xff1f;因为对它的不理解&#xff0c;导致我少写了几篇博文&#xff0c;最后&#xff0c…

Meshgrid用法

在matlab绘制三维曲面图或三维网格图时经常会用到meshgrid指令 比如&#xff1a;通常在确定向量x,y的基础上&#xff0c;使用meshgrid生成新的矩阵数据[X,Y],再输入函数Zf(X,Y),最后使用mesh或surf命令生成三维网格图或三维曲面图。 那么meshgrid指令究竟是什么意思呢&#x…

【matlab】函数meshgrid的用法详解(生成网格矩阵)和ndgrid的区别及用法

------------------------------------------------------------------ meshgrid 函数用来生成网格矩阵&#xff0c;可以是二维网格矩阵。 exp1_1:生成二维网格&#xff0c;用法为&#xff1a;[x y]meshgrid(a b); % a 和b是一维数组&#xff0c;如a[1 2 3]; b [2 3 4]; 则生成…

Python基础(二):Numpy函数介绍:Meshgrid,mgrid,append等

文章目录 np.meshgrid函数np.mgrid函数np.append()函数 [5]参考资料 np.meshgrid函数 meshgrid函数通常使用在数据的矢量化上。它适用于生成网格型数据&#xff0c;可以接受两个一维数组生成两个二维矩阵&#xff0c;对应两个数组中所有的(x,y)对。 meshgrid的作用是&#xf…

【Python】Numpy 中 Meshgrid 函数介绍及简单应用

简单介绍Meshgrid 文字解释 Meshgrid功能为将两个坐标轴上的点转化为平面上的网格&#xff0c;即将两组一维数据分别转化为二维数据&#xff0c;原理为简单复制&#xff08;通过简单复制将以为数组转化为二维数组&#xff0c;即格点&#xff09;。 以上的详细解释&#xff1a…

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

一、meshgrid()函数基本调用格式 meshgrid函数用来生成网格矩阵&#xff0c;既可以是二维网格矩阵&#xff0c;又可以是三维网格矩阵。 1、[X,Y] meshgrid(x,y) :基于向量x和y中包含的坐标返回二维网格坐标。X是一个矩阵&#xff0c;每一行是x的一个副本&#xff0c;Y也是一…

python meshgrid()理解

本文的目的是记录meshgrid()的理解过程: step1. 通过一个示例引入创建网格点矩阵; step2. 基于步骤1&#xff0c;说明meshgrid()的作用; step3. 详细解读meshgrid()的官网定义; 说明:step1和2 的数据都是基于笛卡尔坐标系的矩阵&#xff0c;目的是为了方便讨论。 step1. 通…

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

今天在看点目标成像仿真程序的时候&#xff0c;看到了meshgrid函数&#xff0c;看了matlab的帮助文档后理解了一点&#xff0c;特此记录学习过程。 目录 一、meshgrid函数二、举例验证 三、创建二维网格绘制曲面图四、总结五、meshgrid函数源代码&#xff08;仅供参考&#xff…

计算机网络原理(交换机,路由器详解)

前言 本人是大一新生&#xff0c;对网络知识的了解也只是一知半解&#xff0c;虽然煞费苦心&#xff0c;但这篇文章中肯定还会有很多错误&#xff0c;希望大佬们发现问题后能予以纠正 网络协议 这些东西主要涉及在局域网&#xff0c;osi模型中处在第二层和第三层&#xff0c…