python中mgrid和meshgrid的不同

2023-10-27

在生成插值数据时,有时会用到 mgridmeshgrid 两个函数。
关于插值函数的应用参见 https://blog.csdn.net/gsgbgxp/article/details/116145501#t7

关于两者的差别可参见

一、meshgrid函数

官方文档:numpy.meshgrid

meshgrid函数通常使用在数据的矢量化上。

它适用于生成网格型数据,可以接受两个一维数组生成两个二维矩阵,对应两个数组中所有的(x,y)对。

示例展示:
在这里插入图片描述
在这里插入图片描述

由上面的示例展示可以看出,meshgrid的作用是:

根据传入的两个一维数组参数生成两个数组元素的列表。

如果第一个参数是xarray,维度是xdimesion,

第二个参数是yarray,维度是ydimesion。

那么生成的第一个二维数组是以xarray为行,共ydimesion行的向量;

而第二个二维数组是以yarray的转置为列,共xdimesion列的向量。

二、mgrid函数

官方文档 numpy.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]: pp=np.mgrid[-5:5:5j]   In [4]: pp
Out[4]: array([-5. , -2.5,  0. ,  2.5,  5. ])

例如2D结构 (2D矩阵),如下:

>>> pp = np.mgrid[-1:1:2j,-2:2:3j]
>>> x , y = pp
>>> x
array([[-1., -1., -1.],
       [ 1.,  1.,  1.]])
>>> y 
array([[-2.,  0.,  2.],
       [-2.,  0.,  2.]])

例如3D结构 (3D立方体),如下:

>>> pp = np.mgrid[-1:1:2j,-2:2:3j,-3:3:5j]
>>> print pp
[[[[-1.  -1.  -1.  -1.  -1. ]
   [-1.  -1.  -1.  -1.  -1. ]
   [-1.  -1.  -1.  -1.  -1. ]]
 
  [[ 1.   1.   1.   1.   1. ]
   [ 1.   1.   1.   1.   1. ]
   [ 1.   1.   1.   1.   1. ]]]
 
 
 [[[-2.  -2.  -2.  -2.  -2. ]
   [ 0.   0.   0.   0.   0. ]
   [ 2.   2.   2.   2.   2. ]]
 
  [[-2.  -2.  -2.  -2.  -2. ]
   [ 0.   0.   0.   0.   0. ]
   [ 2.   2.   2.   2.   2. ]]]
 
 
 [[[-3.  -1.5  0.   1.5  3. ]
   [-3.  -1.5  0.   1.5  3. ]
   [-3.  -1.5  0.   1.5  3. ]]
 
  [[-3.  -1.5  0.   1.5  3. ]
   [-3.  -1.5  0.   1.5  3. ]
   [-3.  -1.5  0.   1.5  3. ]]]]

三、meshgrid 和 mgrid 的区别

参考链接: https://blog.csdn.net/Whisper321/article/details/93871132

mgrid[[1:3:3j, 4:5:2j]]
3j:3个点

  • 步长为复数表示点数,左闭右闭
  • 步长为实数表示间隔,左闭右开

在这里插入图片描述

更多例子

import numpy as np 
def func(x,y): 
    return (x+y)*np.exp(-5*(x**2+y**2)) 
x,y = np.mgrid[-1:1:2j,-1:1:3j] 
p,q = np.meshgrid(np.linspace(-1,1,2),np.linspace(-1,1,3))
a,b = np.meshgrid(np.linspace(-1,1,3),np.linspace(-1,1,2))
z = func(x,y)
r = func(p,q)
c = func(a,b)

运行结果为
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python中mgrid和meshgrid的不同 的相关文章

  • 关于使用Python启动SSH隧道的问题

    我在从用 Python 编写的 HTTP RPC 服务器启动 SSH 隧道时遇到了麻烦 基于Python的BaseHTTPServer 有一个用Python编写的简单的HTTP RPC服务器 作为其中一项服务的一部分 我想启动从 RPC 服
  • 如何测试顶级窗口是否打开?

    我感觉 Python 编程可能不是我的菜 我创建了一个 tkinter GUI 它使用按钮回调来打开另一个窗口 其他搜索说这个窗口应该是顶级窗口 并且它工作得很好 但是每次按下按钮时它都会打开另一个相同的窗口 如据我所知 窗口 问题 如何测
  • 使用 python 通过搜索端点从 Spotify API 获取曲目

    因此 我尝试使用 API 的搜索端点进行搜索 从而从 Spotify API 获取曲目 请参阅文档 https developer spotify com documentation web api reference search sea
  • Keras,如何获取每一层的输出?

    我已经用 CNN 训练了一个二元分类模型 这是我的代码 model Sequential model add Convolution2D nb filters kernel size 0 kernel size 1 border mode
  • 如何编写高效的配对算法?

    我需要一种算法的帮助 该算法可以有效地将人们分组 并确保以前的配对不会重复 例如 假设我们有 10 位候选人 candidates 0 1 2 3 4 5 6 7 8 9 并假设我们有一个先前匹配的字典 这样每个键值对即candidate
  • 在 C# 中实例化 python 类

    我已经用 python 编写了一个类 我想通过 IronPython 将其包装到 net 程序集中 并在 C 应用程序中实例化 我已将该类迁移到 IronPython 创建了一个库程序集并引用了它 现在 我如何真正获得该类的实例 该类看起来
  • 如何通过 Python socket.send() 发送字符串以外的任何内容

    我对 Python 编程非常陌生 但出于必要 我必须快速地将一些东西组合在一起 我正在尝试通过 UDP 发送一些数据 除了当我执行 socket send 时 我必须以字符串形式输入数据之外 一切都正常 这是我的程序 这样你就可以看到我在做
  • Python NLP 英式英语与美式英语

    我目前正在用Python 进行NLP 工作 然而 在我的语料库中 既有英式英语也有美式英语 实现 实现 我正在考虑将英式英语转换为美式英语 但是 我没有找到一个好的工具 包来做到这一点 有什么建议么 我也找不到包 但试试这个 请注意 我必须
  • Selenium 网页抓取与动态内容和隐藏数据表上的美丽汤

    真的需要这个社区的帮助 我正在使用 Selenium 和 Beautiful Soup 对 Python 中的动态内容进行网页抓取 问题是定价数据表无法解析为 Python 即使使用以下代码 html browser execute scr
  • 出现意外的关键字参数“timeout”(Python 中的 google-cloud-storage)

    使用 google cloud storage 的 Python 项目在本地运行良好 但是当它从 App Engine 运行时 会显示错误 Traceback most recent call last File opt python3 7
  • 如何在Python中获取绝对文件路径

    给定一条路径 例如 mydir myfile txt 如何在Python中找到文件的绝对路径 例如 在 Windows 上 我最终可能会得到 C example cwd mydir myfile txt gt gt gt import os
  • 如何在 Tkinter 的 Button 小部件中创建多个标签?

    我想知道如何在 Tkinter 中创建具有多个标签的按钮小部件 如下图所示 带有子标签的按钮 https i stack imgur com jOZRw jpg正如您所看到的 在某些按钮中有一个子标签 例如按钮 X 有另一个小标签 A 我试
  • 如何从c++调用python

    我是Python新手 我尝试像这样从 C 调用 python 脚本 在 Raspberry Pi 中 std string pythonCommand python Callee py a b int res system pythonCo
  • if/else 在 while 循环内正确缩进[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我开始学习 Python 编程大约几周了 我遇到了一些麻烦 下面的代码是一个小程序 用于检查列表中是否有偶数 如果找到第一个偶数
  • 从 subprocess.Popen 获取整个输出

    我通过调用 subprocess Popen 得到了一个有点奇怪的结果 我怀疑这与我对 Python 的陌生有很大关系 args cscript USERPROFILE tools jslint js USERPROFILE tools j
  • Pandas - 分割大的Excel文件

    我有一个大约有 500 000 行的 Excel 文件 我想将其拆分为多个 Excel 文件 每个文件有 50 000 行 我想用熊猫来做 这样它会是最快和最简单的 有什么想法如何制作吗 感谢您的帮助 假设您的 Excel 文件只有一个 第
  • tweepy 流到 sqlite 数据库 - 语法错误[重复]

    这个问题在这里已经有答案了 可能的重复 tweepy 流到 sqlite 数据库 语法无效 https stackoverflow com questions 9434205 tweepy stream to sqlite database
  • 在 Gensim 中通过 ID 检索文档的字符串版本

    我正在使用 Gensim 进行一些主题建模 并且已经达到使用 LSI 和 tf idf 模型进行相似性查询的程度 我取回 ID 集和相似点 例如 299501 0 64505910873413086 如何获取与 ID 在本例中为 29950
  • 在没有numpy的情况下在python中分配变量NaN

    大多数语言都有一个 NaN 常量 您可以使用它为变量分配值 NaN python 可以在不使用 numpy 的情况下做到这一点吗 是的 使用math nan https docs python org 3 library math html
  • python IDLE shell 似乎无法正确处理一些转义

    例如 b 退格键打印为四元 在下面的示例中显示为 但是 n 换行是可以的 gt gt gt print abc bd abc d gt gt gt print abc nd abc d 我在 Vista pro python 2 7 下运行

随机推荐

  • VS2019安装配置QT插件(qt-vsaddin)

    1 介绍 Windows的Qt开发 一般采用Visual Studio安装Qt插件的方法开发Qt程序 毕竟VS开发工具还是比QtCreator开发工具强大 好用的多 本教程采用VS2019安装配置Qt插件 qt vsaddin msvc20
  • SpringMVC 从入门到精通系列 03 —— 常用注解

    文章目录 1 RequestParam 注解 2 RequestBody 注解 3 PathVariable 注解 4 RequestHeader 注解 了解 5 CookieValue 注解 了解 6 ModelAttribute 注解
  • Vuex常见面试题

    1 vuex是什么 怎么使用 哪种功能场景使用它 Vuex 是一个专为 Vue js 应用程序开发的状态管理插件 公共数据库 当项目遇到以下两种场景时 1 多个组件依赖于同一状态时 2 来自不同组件的行为需要变更同一状态 解决的问题 多个视
  • Python北理工_turtle绘画

    模块1 turtle库的使用 海龟绘图法 turtle setup 调整绘图窗体在电脑屏幕中的布局 空间坐标系 角度坐标系 代码示例 import turtle turtle left 45 turtle fd 150 turtle rig
  • C++11中std::condition_variable的使用

  • Java中如何创建一个枚举Enum类

    从jdk5出现了枚举类后 定义一些字典值可以使用枚举类型 枚举常用的方法是 values 对枚举中的常量值进行遍历 valueof String name 根据名称获取枚举类中定义的常量值 要求字符串跟枚举的常量名必须一致 获取枚举类中的常
  • Node创建应用

    github地址 https github com lily1010 Node learn tree master test 一 使用node的意义 使用 Node js 时 我们不仅仅 在实现一个JS应用 同时还实现了整个 HTTP 服务
  • 国际版阿里云/腾讯云免费:阿里云产品-弹性核算简介(依据官网转载)

    阿里云产品 弹性核算简介 依据官网转载 云服务器ECS Elastic Compute Service 是阿里云供给的功能杰出 安稳牢靠 弹性扩展的IaaS Infrastructure as a Service 等级云核算服务 实例 等同
  • Java复习-16-多态性

    多态性 在Java中对于多态性有两种实现的模式 方法的多态性 方法的重载 同一个方法名称可以根据传入的参数类型和个数的不同 进行不同的处理 方法的覆写 同一个方法可能根据使用子类的不同 由不同的实现 对象的多态性 父子实例之间的转换处理 有
  • 机器学习类比赛中经常用到的一些函数和知识点

    文章目录 豆瓣 清华源命令 pip升级命令 画图plot汉字显示不出 python控制台打印结果省略的问题 enumerate pandas描述数据基本分布情况 isin 判断值是否存在 某两个特征之间的关联性 np corrcoef fo
  • GLib学习

    Gstreamer 基础 学习博客 一 glib glib介绍 1 1 类型介绍 glib的类型定义在gtypes h文件中 关键定义如下 1 1 1 不规则类型 gboolean gpointer gconstpointer gchar
  • 品味树莓派:GPIO Zero库进阶使用

    文章目录 目的 进阶功能 Source Values模式 Device Source Tools 高级设备类库 异常 Internal Devices Pin Factory 总结 目的 GPIO Zero库在传统的GPIO使用基础上还提供
  • 性能测试简介

    性能测试是通过自动化的测试工具模拟多种正常 峰值以及异常负载条件来对系统的各项性能指标进行测试 负载测试和压力测试都属于性能测试 两者可以结合进行 通过负载测试 确定在各种工作负载下系统的性能 第三方测试目标是测试当负载逐渐增加时 系统各项
  • Dubbo笔记 ⑳ :消费者的异步调用

    文章目录 一 前言 1 流程概述 二 关键类 1 DefaultFuture 1 1 DefaultFuture 的构造 1 2 DefaultFuture newFuture 1 3 DefaultFuture received 1 4
  • Windows上利用Zerotier配置moon无法连接

    问题描述 按照相关教程 1 2 配置好moon之后 需要在各客户端zerotier上配置 并连接此服务器 在Windows电脑中 用两种方法将机器连接上 moon 节点 方法一 在打开服务程序services msc 找到服务 ZeroTi
  • 内嵌Python import时undefined symbol错误及解决

    内嵌Python import时undefined symbol错误及解决 以下代码 include lt Python h gt include lt stdio h gt include lt stdlib h gt int main
  • 动态分区分配算法(First Fit,Next Fit,Best Fit,Worst Fit)

    一 动态分区分配算法的背景 为了能将用户程序装入内存 必须为它分配一定大小的内存空间 连续分配方式是最早出现的一种存储器分配方式 曾被广泛应用于上世纪60 80 年代的OS中 该分配万式为个用户程序分配 一个连续的内存空间 即程序中代码或数
  • 十大相似图片搜索网站(以图搜图)

    十大相似图片搜索网站 以图搜图 2011 04 13 21 07 56 分类 默认分类 标签 以图搜图 图片搜索 搜图 百度搜图 搜索引擎 举报 字号 订阅 下载LOFTER客户端 如何凭着一张现有图片找出它的原始图片 或者是凭着一张小的缩
  • ROS-Noetic版本的安装(Ubuntu20.04环境)

    ROS安装 关于ROS的安装已经有很多好的博文供以参考 本文总结了一些安装过程中可能出现的报错情况已经解决方法 许多博文的教程步骤大差不差 建议是直接先按照官方步骤走 遇到问题再一步步解决 ROS官方的参考链接 http wiki ros
  • python中mgrid和meshgrid的不同

    在生成插值数据时 有时会用到 mgrid 和 meshgrid 两个函数 关于插值函数的应用参见 https blog csdn net gsgbgxp article details 116145501 t7 关于两者的差别可参见 htt