numpy模块中的meshgrid函数用来生成网格矩阵,最简单的网格矩阵为二维矩阵

meshgrid函数可以接受 x1, x2,..., xn 等 n 个一维向量,生成 N-D 矩阵。

1 基本语法

meshgrid(*xi, **kwargs)

参数:

xi - x1, x2,..., xn : array_like

返回值:

X1, X2,..., XN : ndarray

2 示例(二维网格)

2.1 一个参数时

import numpy as np
a = [1,2,3]
b = np.meshgrid(a)
print(b) # [array([1, 2, 3])]

当只有一个参数时,返回值也只有一个 b ,若写两个返回值  b, c = np.meshgrid(a) 则会报错。

2.2 两个参数时

2.2.1 两个参数长度一致时

示例1 

import numpy as np

a = [1,2,3]
b = [9,8,7]

c, d = np.meshgrid(a,b)

print(c)
print('-'*10)
print(d)

运行

[[1 2 3]
[1 2 3]
[1 2 3]]
----------
[[9 9 9]
[8 8 8]
[7 7 7]]

当两个参数长度一致时(如长度为 N ),则生成 N * N 维矩阵

示例2 

交换两参数的顺序

import numpy as np

a = [1,2,3]
b = [9,8,7]

c, d = np.meshgrid(b,a)

print(c)
# [[9 8 7]
#  [9 8 7]
#  [9 8 7]]
print(d)
# [[1 1 1]
#  [2 2 2]
#  [3 3 3]]

交换两个参数顺序后,输出结果发生了变化。

示例3

当返回值值是两个或两个以上参数时,也可用一个参数来接受。

import numpy as np
a = [1,2,3]
b = [9,8,7]
c = np.meshgrid(a,b)
print(c)
# 下面是打印出的结果+
# [array([[1, 2, 3],
#        [1, 2, 3],
#        [1, 2, 3]]), array([[9, 9, 9],
#        [8, 8, 8],
#        [7, 7, 7]])]

2.2.2 两个参数长度不一致时

import numpy as np
a = [1,2,3]
b = [9,8]
c, d = np.meshgrid(a,b)
print(c)
# [[1 2 3]
#  [1 2 3]]
print(d)
# [[9 9 9]
#  [8 8 8]]

这是一个 2 * 3(2 行 3 列)

相当于 b 由 行向量 变成了 列向量

import numpy as np
a = [1,2,3]
b = [9,8]
c, d = np.meshgrid(b, a)
print(c)
# [[9 8]
#  [9 8]
#  [9 8]]
print(d)
# [[1 1]
#  [2 2]
#  [3 3]]

3 示例(三维网格)

import numpy as np

a = [1,2,3]
b = [4,5,6]
c = [7,8,9]

x, y, z = np.meshgrid(a, b, c)

print(x)
# [[[1 1 1]
#   [2 2 2]
#   [3 3 3]]
#
#  [[1 1 1]
#   [2 2 2]
#   [3 3 3]]
#
#  [[1 1 1]
#   [2 2 2]
#   [3 3 3]]]
print(y)
# [[[4 4 4]
#   [4 4 4]
#   [4 4 4]]
#
#  [[5 5 5]
#   [5 5 5]
#   [5 5 5]]
#
#  [[6 6 6]
#   [6 6 6]
#   [6 6 6]]]
print(z)
# [[[7 8 9]
#   [7 8 9]
#   [7 8 9]]
#
#  [[7 8 9]
#   [7 8 9]
#   [7 8 9]]
#
#  [[7 8 9]
#   [7 8 9]
#   [7 8 9]]]

numpy的生成网格矩阵 meshgrid()的更多相关文章

  1. [matlab] 17.网格矩阵

    生成网格矩阵,并且根据条件筛选,重新赋值为0,1二值图像 clear all;close all; %生成二值图 index= randperm(2500,1000); %生成10个不重复随机指标 Z ...

  2. 深度学习实践-物体检测-faster-RCNN(原理和部分代码说明) 1.tf.image.resize_and_crop(根据比例取出特征层,进行维度变化) 2.tf.slice(数据切片) 3.x.argsort()(对数据进行排列,返回索引值) 4.np.empty(生成空矩阵) 5.np.meshgrid(生成二维数据) 6.np.where(符合条件的索引) 7.tf.gather取值

    1. tf.image.resize_and_crop(net, bbox, 256, [14, 14], name)  # 根据bbox的y1,x1,y2,x2获得net中的位置,将其转换为14*1 ...

  3. [转]numpy中的matrix矩阵处理

    今天看文档发现numpy并不推荐使用matrix类型.主要是因为array才是numpy的标准类型,并且基本上各种函数都有队array类型的处理,而matrix只是一部分支持而已. 这个转载还是先放着 ...

  4. numpy中的matrix矩阵处理

    numpy模块中的矩阵对象为numpy.matrix,包括矩阵数据的处理,矩阵的计算,以及基本的统计功能,转置,可逆性等等,包括对复数的处理,均在matrix对象中. class numpy.matr ...

  5. 【348】通过 Numpy 创建各式各样的矩阵

    参考:NumPy之array-一个程序媛的自我修养-51CTO博客 参考:numpy中数组和矩阵的区别 - jiangsujiangjiang的博客 - CSDN博客 一.使用系统方法 二.用指定的数 ...

  6. numpy中生成随机矩阵并打印出矩阵的shape

    from numpy import * c=zeros((4,5)) print c.shape print numpy.random.random((2,3))

  7. numpy模块之创建矩阵、矩阵运算

    本文参考给妹子讲python  https://zhuanlan.zhihu.com/p/34673397 NumPy是Numerical Python的简写,是高性能科学计算和数据分析的基础包,他是 ...

  8. 科学计算库Numpy——数组生成

    等差数组 使用np.arange()或np.linspace()生成元素是等差数列的数组. 以10为底的数组 使用np.logspace()生成元素是以10为底的数组. 数组扩展 使用np.meshg ...

  9. Numpy入门 - 生成数组

    今天是Numpy入门系列教程第一讲,首先是安装Numpy: $ pip install numpy numpy是高性能科学计算和数据分析的基础包,本节主要介绍生成连续二维数组.随机二维数组和自定义二维 ...

随机推荐

  1. Downloading jQuery 3.2.1

    Downloading jQuery Compressed and uncompressed copies of jQuery files are available. The uncompresse ...

  2. Visual Studio 开始支持编写 Android 程序并自带 Android 模拟器【转载】

    原文地址 本文内容 为什么需要一个 Android 模拟器 针对 Visual Studio Android 模拟器的调试 Visual Studio Android 模拟器的传感器模拟和其他功能 A ...

  3. 关于for in和for循环的遍历

    今日看W3C的javascript教程,发现了这样的有趣的遍历方法. 第一是for in for (x in myArray) { document.write(myArray[x] + " ...

  4. js检测来源网址,如果是搜索引擎跳转到新地址

    [js]代码 <script> var regexp=/\.(sogou|soso|baidu|google|youdao|yahoo|bing|118114|biso|gougou|if ...

  5. C#学习记录二:高级数据存储方式

    1,结构 结构和类的区别主要在于存储和访问方式,结构是一种值 数据类型,而类是一一种引用数据类型.所谓值数据类型存储个人理解是存在堆里面的,所谓引用数据类型存储在了栈里面,相当于存储了一个指针. 结构 ...

  6. 升级Linux内核导致vmware无法使用(vmnet模块无法编译)解决方式

    近期将ubuntu升级到了14.04,出现了vmware无法启动的情况. 详细表现为:每次启动的时候都会弹出一个VMWare Kernel Module Updater的对话框,要求依据当前内核版本号 ...

  7. IE浏览器兼容方案

    1.使用高版本渲染模式 <meta http-equiv=”X-UA-Compatible” content=”IE=edge,chrome=1″/> 2.css hack (1)条件注释 ...

  8. unity的 Social API

    孙广东  2015.12.23 Social API Social API 是訪问的Unity 的point 社会功能.如:• 用户配置文件• 好友列表• 成就• 统计 / 排行榜      它提供了 ...

  9. Android 建立手机与手表数据同步机制总结

    Android Wear 数据同步机制总结 当手机与手表建立蓝牙连接之后.数据就能够通过Google Play Service进行传输. 同步数据对象Data Item DataItem提供手机与手表 ...

  10. Hibernate学习笔记一:项目创建与基本配置文件

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6760773.html  一:ORM ORM:对象-关系 映射. 即:把Java中有关联关系的对象,转换成关系型 ...