numpy.polynomial.polynomial.polygrid3d#

polynomial.polynomial.polygrid3d(x, y, z, c)[source]#

在 x, y 和 z 的笛卡尔积上评估一个三维多项式。

此函数返回以下值:

\[p(a,b,c) = \sum_{i,j,k} c_{i,j,k} * a^i * b^j * c^k\]

其中点 (a, b, c) 由从 x 中取 a,从 y 中取 b,从 z 中取 c 组成的所有三元组构成。结果点形成一个网格,其中 x 在第一维度,y 在第二维度,z 在第三维度。

参数 xyz 仅在它们是元组或列表时才被转换为数组,否则它们被视为标量。在任何一种情况下,xyz 或它们的元素都必须支持与它们自身以及与 c 的元素的乘法和加法。

如果 c 的维度少于三维,则隐式地在其形状后追加一,使其变为三维。结果的形状将是 c.shape[3:] + x.shape + y.shape + z.shape。

参数:
x, y, zarray_like, 兼容对象

三维级数在 xyz 的笛卡尔积中的点上进行评估。如果 xyz 是列表或元组,它首先被转换为 ndarray,否则保持不变,如果它不是 ndarray,则被视为标量。

carray_like

系数数组,其顺序为度数为 i,j 的项的系数包含在 c[i,j] 中。如果 c 的维度大于二,则其余索引枚举多组系数。

返回:
valuesndarray, 兼容对象

二维多项式在 xy 的笛卡尔积中的点处的值。

示例

>>> from numpy.polynomial import polynomial as P
>>> c = ((1, 2, 3), (4, 5, 6), (7, 8, 9))
>>> P.polygrid3d([0, 1], [0, 1], [0, 1], c)
array([[ 1., 13.],
       [ 6., 51.]])