numpy.polynomial.polynomial.polygrid2d#

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

在 x 和 y 的笛卡尔积上评估二维多项式。

此函数返回以下值:

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

其中点 (a, b) 由从 x 中取 a 和从 y 中取 b 形成的所有对组成。生成的点形成一个网格,其中 x 在第一维,y 在第二维。

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

如果 c 的维度少于两个,则会隐式地将其形状附加为 1 以使其成为二维。结果的形状将为 c.shape[2:] + x.shape + y.shape。

参数:
x, yarray_like,兼容对象

二维序列在 xy 的笛卡尔积中的点处进行评估。如果 xy 是列表或元组,则首先将其转换为 ndarray,否则保持不变,并且,如果它不是 ndarray,则将其视为标量。

carray_like

系数数组,其排序方式使得度数为 i,j 的项的系数包含在 c[i,j] 中。如果 c 的维度大于 2,则其余索引枚举多个系数集。

返回值:
valuesndarray,兼容对象

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

另请参阅

polyvalpolyval2dpolyval3dpolygrid3d

备注

版本 1.7.0 中的新功能。

示例

>>> from numpy.polynomial import polynomial as P
>>> c = ((1, 2, 3), (4, 5, 6))
>>> P.polygrid2d([0, 1], [0, 1], c)
array([[ 1.,  6.],
       [ 5., 21.]])