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 的列中.
- 张量布尔值,可选
如果为 True,则系数数组的形状将扩展为右侧带 1,每个 x 的维度对应一个 1.标量对于此操作的维度为 0.结果是 c 中的每一列系数都将针对 x 的每个元素进行计算.如果为 False,则 x 将广播到 c 的列上进行计算.当 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.])