Dan*_*ise 5 python grid gradient numpy
我有一个粒子立方体,我将其投影到 2D 网格上,通过单元格中的云将粒子投影到网格上,并通过标量对其进行加权。
然后我想要每个网格点的标量梯度。在 2D 中,我正在使用此方法,np.gradient并得到两个具有 x 和 y 方向梯度的数组:
gradx, grady = np.gradient(grid)
Run Code Online (Sandbox Code Playgroud)
有谁知道我如何将其概括为 3 维?3D 中单元格中的云很好,但是我留下了一个形状为 (700, 700, 700) 的网格。
据我所知np.gradient无法处理这个?
谢谢,丹尼尔
Numpy 文档表明gradient适用于任何维度:
numpy.gradient(f, *varargs)返回 N 维数组的梯度。
使用内部的中心差和边界的一阶差来计算梯度。因此,返回的梯度具有与输入数组相同的形状。
参数 :
f: array_like.包含标量函数样本的 N 维数组。
*varargs:0、1 或 N 标量,指定每个方向上的样本距离,即:dx、dy、dz...默认距离为 1。返回:
g: ndarray.N 个与 f 形状相同的数组,给出 f 对于每个维度的导数。
看起来您应该能够像您期望的那样将 2 维代码扩展到 3D。
| 归档时间: |
|
| 查看次数: |
8325 次 |
| 最近记录: |