numpy.polynomial.polynomial.polygrid3d#
- polynomial.polynomial.polygrid3d(x, y, z, c)[source]#
在 x、y 和 z 的笛卡尔积上计算一个 3D 多项式。
此函数返回以下值:
\[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 以使其成为 3D。结果的形状将为 c.shape[3:] + x.shape + y.shape + z.shape。
- 参数:
- x, y, zarray_like,兼容对象
在 x、y 和 z 的笛卡尔积中的点处计算三维级数。如果 x、y 或 z 是列表或元组,则首先将其转换为 ndarray,否则将其保持不变,并且如果它不是 ndarray,则将其视为标量。
- carray_like
系数数组,其排序方式使得度数为 i、j 的项的系数包含在
c[i,j]
中。如果 c 的维度大于 2,则其余索引枚举多组系数。
- 返回值:
- valuesndarray,兼容对象
在 x 和 y 的笛卡尔积中的点处,二维多项式的值。
注释
版本 1.7.0 中的新功能。
示例
>>> 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.]])