np.meshgrid()函数

np.meshgrid函数用于创建坐标矩阵,主要参数包括copy、sparse和indexing。当sparse=False时,返回完整矩阵;为True则返回稀疏矩阵。默认indexing=xy代表笛卡尔坐标,ij则为矩阵坐标。在常规科学计算中,通常保持sparse=False以获取完整矩阵。
摘要由CSDN通过智能技术生成

np.meshgrid函数

函数调用方法:

numpy.meshgrid(*xi, copy=True, sparse=False, indexing='xy')

各个参数意义:
*xi:创建的数组的对象,可以为单个值,列表,元胞等。
copy:可选参数,值为布尔数,如果是 False ,将返回原始数组的视图以减少内存。默认值是 True ,注意,如果 sparse=False ,且copy=False时,将大概率会返回一个不连续的数组。此外,broadcast 数组中的多个元素可能会引用单个内存位置。如果用户需要写入数组,首先应该进行 copy 操作,即维持这个参数的默认值。

由于一般的科学计算不会涉及过多的内存需求(人工智能除外),因此,本文我们不会对对这个参数进行详细地说明,一般情况下,保持这个参数为默认值即可。

index:可选参数,默认是 index='xy' ,表示笛卡尔坐标系,用户也可以设置 index='ij' ,表示矩阵坐标系。具体的可以查看该篇------np.meshgrid函数中的indexing参数问题
sparse:可选参数,且值为布尔数。如果这个值是 True ,对于一个维度为i的数组,将会被从( N 1 , … N i , … N n N_1,\dots Ni,\dots N_n N1,Ni,Nn)缩减到( 1 , … N i , … 1 1,\dots Ni,\dots 1 1,Ni,1)。本文我们将会着重介绍这一参数的用法。
返回值:从坐标向量返回一个坐标矩阵。

示例1

首先我们来看一下,当我们设置 spare=False 默认值时的输出结果:

import numpy as np

x_min, x_max = 0, 2
y_min, y_max = -1, 1

sampling_points_x, sampling_points_y = 3, 3

x = np.linspace(x_min, x_max, sampling_points_x)
y = np.linspace(y_min, y_max, sampling_points_y)

xx, yy = np.meshgrid(x, y, sparse=False)

print(xx)
print(xx.shape)
print(yy)
print(yy.shape)
"""
Result:
[[0. 1. 2.]
 [0. 1. 2.]
 [0. 1. 2.]]
(3, 3)
[[-1. -1. -1.]
 [ 0.  0.  0.]
 [ 1.  1.  1.]]
(3, 3)
"""

我们再来看一下当设置 spare=True 时的输出结果:

import numpy as np

x_min, x_max = 0, 2
y_min, y_max = -1, 1

sampling_points_x, sampling_points_y = 3, 3

x = np.linspace(x_min, x_max, sampling_points_x)
y = np.linspace(y_min, y_max, sampling_points_y)

xx, yy = np.meshgrid(x, y, sparse=True)

print(xx)
print(xx.shape)
print(yy)
print(yy.shape)
"""
Result:
[[0. 1. 2.]]
(1, 3)
[[-1.]
 [ 0.]
 [ 1.]]
(3, 1)
"""

对比参数设置为不同值后的结果,不难看出,当设置 spare=True 我们得到的是一个稀疏矩阵,对于 xx 参数,其所有元素均为第一行的重复,因此仅保留了第一行的所有元素,而对于 yy 参数,其所有元素均为第一列元素的重复,因此仅保留第一列元素。

实际应用中,我们通常使用到的是二维的情况,也就是我们本文中给出的示例 1 中的情况,推荐将 sparse 值保留为默认值,即令 sparse=False

如果大家觉得有用,就请点个赞吧~

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勤奋的大熊猫

你的鼓励将是我写作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值