numpy.polynomial.polynomial.polyval #

多项式.多项式. polyval ( x , c ,张量= True ) [来源] #

计算 x 点处的多项式。

如果c的长度为n + 1,则此函数返回值

\[p(x) = c_0 + c_1 * x + ... + c_n * x^n\]

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

如果c是一维数组,则p(x)将具有与x相同的形状。如果 c是多维的,则结果的形状取决于张量的值。如果张量为 true,则形状将为 c.shape[1:] + x.shape。如果张量为 false,则形状将为 c.shape[1:]。请注意,标量的形状为 (,)。

系数中的尾随零将用于评估,因此如果考虑效率,则应避免使用它们。

参数
x array_like,兼容对象

如果x是列表或元组,则将其转换为 ndarray,否则保持不变并视为标量。在任何一种情况下,x 或其元素都必须支持与自身以及与c的元素相加和相乘。

数组

系数数组经过排序,以便 n 阶项的系数包含在 c[n] 中。如果c是多维的,则其余索引枚举多个多项式。在二维情况下,系数可以被认为存储在c的列中。

张量布尔值,可选

如果为 True,则系数数组的形状将在右侧扩展,每个维度对应x的每个维度。此操作的标量的维度为 0。结果是c中的每一列系数 都会针对x的每个元素进行评估。如果为 False,则 x将在c的列上广播以进行评估。当c是多维时,此关键字很有用。默认值是true。

1.7.0 版本中的新增内容。

返回
ndarray,兼容对象

返回数组的形状如上所述。

笔记

评估采用霍纳方法。

例子

>>> from numpy.polynomial.polynomial import polyval
>>> polyval(1, [1,2,3])
6.0
>>> a = np.arange(4).reshape(2,2)
>>> a
array([[0, 1],
       [2, 3]])
>>> polyval(a, [1,2,3])
array([[ 1.,   6.],
       [17.,  34.]])
>>> coef = np.arange(4).reshape(2,2) # multidimensional coefficients
>>> coef
array([[0, 1],
       [2, 3]])
>>> polyval([1,2], coef, tensor=True)
array([[2.,  4.],
       [4.,  7.]])
>>> polyval([1,2], coef, tensor=False)
array([2.,  7.])