numpy.polynomial.polynomial.polyval#

polynomial.polynomial.polyval(x, c, tensor=True)[源代码]#

在点 x 处计算多项式.

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

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

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

如果 c 是一个 1-D 数组,那么 p(x) 将具有与 x 相同的形状.如果 c 是多维的,那么结果的形状取决于 tensor 的值.如果 tensor 为真,则形状将为 c.shape[1:] + x.shape.如果 tensor 为假,则形状将为 c.shape[1:].请注意,标量的形状为 (,).

系数中的尾随零将在计算中使用,因此如果关心效率,应避免使用它们.

参数:
x类数组,兼容对象

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

carray_like

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

张量 (tensor)布尔值,可选

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

返回:
valuesndarray,兼容对象

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

注释

计算使用霍纳方法.

示例

>>> import numpy as np
>>> 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.])