meshgrid

Numpy 中 meshgrid 和 mgrid 的区别

独自空忆成欢 提交于 2019-12-05 23:22:01
以我的经验,meshgrid 用在数据可视化的时候多一些,mgrid 则在写 CV 方面代码,比如生成 anchor box 的时候用的多些。下面的例子用来说明两者生成矩阵的不同: 首先明显的是两个函数生成网格的方向不同,meshgrid 是 x 不变, 将 y 转置,然后一一配对成 (x, y) 的网格点,这样的结果如图所示,x 就是网格点的 x 轴坐标,y 就是网格点的 y 轴坐标。而 mgrid 的风格是将 a 转置,b 不变,一一配对生成网格点,所以 a 中的数据其实是 y 轴坐标,b 中数据是 x 坐标。这是使用上最大的不同。 此外,meshgrid 仅支持张成二维矩阵,mgrid 则支持任意维度。 注意:mgrid is not callable, 简单说来就是使用 mgrid 时不要用圆括号,要用方括号 来源: CSDN 作者: Whisper321 链接: https://blog.csdn.net/Whisper321/article/details/93871132

NUMPY中的meshgrid()

不想你离开。 提交于 2019-12-05 23:21:51
1、meshgrid函数用两个坐标轴上的点在平面上画格。 用法:   [X,Y]=meshgrid(x,y)   [X,Y]=meshgrid(x)与[X,Y]=meshgrid(x,x)是等同的   [X,Y,Z]=meshgrid(x,y,z)生成三维数组,可用来计算三变量的函数和绘制三维立体图   例如例题1:   x=-3:1:3;y=-2:1:2;   [X,Y]= meshgrid(x,y);   这里meshigrid(x,y)的作用是产生一个以向量x为行,向量y为列的 矩阵 ,而x是从-3开始到3,每间隔1记下一个数据,并把这些数据集成矩阵X;同理y则是从-2到2,每间隔1记下一个数据,并集成矩阵Y。即   X=   -3 -2 -1 0 1 2 3   -3 -2 -1 0 1 2 3   -3 -2 -1 0 1 2 3   -3 -2 -1 0 1 2 3   -3 -2 -1 0 1 2 3   Y =   -2 -2 -2 -2 -2 -2 -2   -1 -1 -1 -1 -1 -1 -1   0 0 0 0 0 0 0   1 1 1 1 1 1 1   2 2 2 2 2 2 2 附注:例题中meshgrid(-3:1:3,-2:1:2);因为-3:1:3产生的是含有7个数字的行向量;-2:1:2产生的是含有5个数字的行向量。所以该命令的结果是产生5

MemoryError when running Numpy Meshgrid

匿名 (未验证) 提交于 2019-12-03 02:22:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I have 8823 data points with x,y coordinates. I'm trying to follow the answer on how to get a scatter dataset to be represented as a heatmap but when I go through the X, Y = np.meshgrid(x, y) instruction with my data arrays I get MemoryError . I am new to numpy and matplotlib and am essentially trying to run this by adapting the examples I can find. Here's how I built my arrays from a file that has them stored: XY_File = open ('XY_Output.txt', 'r') XY = XY_File.readlines() XY_File.close() Xf=[] Yf=[] for line in XY: Xf.append(float(line

Numpy meshgrid in 3D

匿名 (未验证) 提交于 2019-12-03 02:08:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 由 翻译 强力驱动 问题: Numpy's meshgrid is very useful for converting two vectors to a coordinate grid. What is the easiest way to extend this to three dimensions? So given three vectors x, y, and z, construct 3x3D arrays (instead of 2x2D arrays) which can be used as coordinates. 回答1: Here is the source code of meshgrid: def meshgrid ( x , y ): """ Return coordinate matrices from two coordinate vectors. Parameters ---------- x, y : ndarray Two 1-D arrays representing the x and y coordinates of a grid. Returns ------- X, Y : ndarray For vectors `x`, `y`

Unable to interprete MATLAB interp2d in Python scipy.interp

匿名 (未验证) 提交于 2019-12-03 01:45:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: The following code is just to understand the context. My question doesn't require much understanding of this. It need a simple translation of one line of MATLAB code in to Python. us = np.linspace(-(1023)/2,(1023)/2,1024) vs = np.linspace(-(1023)/2,(1023)/2,1024) uu,vv = np.meshgrid(-us,vs) pu = ((((rx*SDD)/(ry+SOD))+us[0])/(-du))+1 xs = np.linspace(-(360-1)/2,(nx-1)/2,360) ys = np.linspace(-(360-1)/2,(ny-1)/2,360) zs = np.linspace(-(360-1)/2,(ny-1)/2,360) xx,yy = np.meshgrid(xs,ys) angle_rad = np.linspace(0,359,360) angle_rad = angle_rad*np

matlab二维插值绘制地貌图

匿名 (未验证) 提交于 2019-12-03 00:05:01
clear clc [ x , y ]= meshgrid ( 1 : 10 ); % 测量数据 h =[ 0 . 02 -. 12 0 - 2.09 0 -. 58 -. 08 0 0 ; . 02 0 0 - 2.38 0 - 4.96 0 0 0 -. 1 ; 0 . 1 1 0 - 3.04 0 -. 53 0 . 1 0 ; 0 0 0 3.52 0 0 0 0 0 0 ; -. 43 - 1.98 0 0 0 . 77 0 2.17 0 0 ; 0 0 - 2.29 0 . 69 0 2.59 0 . 3 0 ; -. 09 -. 31 0 0 0 4.27 0 0 0 -. 01 ; 0 0 0 5.13 7.4 0 1.89 0 . 04 0 ; . 1 0 . 58 0 0 1.75 0 -. 11 0 0 ; 0 -. 01 0 0 . 3 0 0 0 0 . 01 ]; [ xi , yi ]= meshgrid ( 1 :. 1 : 10 ); hi = interp2 ( x , y , h , xi , yi , 'spline' ); % 二维插值,三次样条插值 surf ( hi ) % 绘制地貌图 xlabel ( 'x' ), ylabel ( 'y' ), zlabel ( 'h' ) 来源:51CTO 作者: doubleslow; 链接

matlab二维插值绘制地貌图

泪湿孤枕 提交于 2019-11-29 14:26:02
clear clc [x,y]=meshgrid(1:10); % 测量数据 h=[0 .02 -.12 0 -2.09 0 -.58 -.08 0 0; .02 0 0 -2.38 0 -4.96 0 0 0 -.1; 0 .1 1 0 -3.04 0 -.53 0 .1 0 ; 0 0 0 3.52 0 0 0 0 0 0; -.43 -1.98 0 0 0 .77 0 2.17 0 0; 0 0 -2.29 0 .69 0 2.59 0 .3 0; -.09 -.31 0 0 0 4.27 0 0 0 -.01; 0 0 0 5.13 7.4 0 1.89 0 .04 0 ; .1 0 .58 0 0 1.75 0 -.11 0 0 ; 0 -.01 0 0 .3 0 0 0 0 .01]; [xi,yi]=meshgrid(1:.1:10); hi=interp2(x,y,h,xi,yi,'spline'); % 二维插值,三次样条插值 surf(hi) % 绘制地貌图 xlabel('x'),ylabel('y'),zlabel('h') 来源: https://blog.csdn.net/qq_36607894/article/details/100021016

Python学习(四)数组和矩阵

不想你离开。 提交于 2019-11-26 17:50:25
参考资料: https://github.com/lijin-THU/notes-python(相应实体书为:《自学Python——编程基础、科学计算及数据分析》) 一、生成数组的函数 1. arange()函数:类似于python中的range()函数,只不过返回的不是列表,而是 返回数组 (1)arange(start, stop=None, step=1, dtype=None)  //产生一个在区间 [start, stop) 之间( 不包括stop ),以 step 为间隔的数组,如果只输入一个参数,则默认从 0 开始,并以这个值为结束,数组类型由dtype指定 (2)与 range 不同, arange 允许非整数值输入,产生一个非整型的数组:np.arange(0, 2 * np.pi, np.pi / 4) 或 np.arange(0, 2 * np.pi, np.pi / 4, dtype=np.float32) 注:由于存在精度问题,使用浮点数可能出现问题,如 np.arange(1.5, 2.1, 0.3) 返回 array([1.5, 1.8, 2.1])   终点stop的值2.1 出现在数组中 2. linspace()函数:linspace(start, stop, N)  产生 N 个 等距分布 在 [start, stop] 间的元素组成的数组,

numpy中mgrid()和meshgrid()函数

泄露秘密 提交于 2019-11-26 04:34:34
一、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]: