numpy.polynomial.polynomial.polygrid3d#
- polynomial.polynomial.polygrid3d(x, y, z, c)[源代码]#
在 x、y 和 z 的笛卡尔积上求 3 维多项式。
此函数返回以下值:
\[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 在第三个维度。仅当 x、y 和 z 是元组或列表时,它们才会被转换为数组,否则它们被视为标量。在任一情况下,x、y 和 z 或它们的元素必须支持与自身以及与 c 的元素进行乘法和加法运算。
如果 c 的维度少于三个,则会在其形状后面隐式添加 1,使其变为 3 维。结果的形状将是 c.shape[3:] + x.shape + y.shape + z.shape。
- 参数:
- x, y, zarray_like, 兼容的对象
三维级数在 x、y 和 z 的笛卡尔积的点上进行求值。如果 x、y 或 z 是列表或元组,则首先将其转换为 ndarray,否则保持不变,如果不是 ndarray,则被视为标量。
- c类数组
系数数组按此顺序排列,使得次数为 i,j 的项的系数包含在
c[i,j]中。如果 c 的维度大于两个,则剩余的索引枚举了多组系数。
- 返回:
- valuesndarray, 兼容对象
在 x 和 y 的笛卡尔积的点上的二维多项式的值。
另请参阅
示例
>>> 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.]])