numpy.polynomial.laguerre.lagval#
- polynomial.laguerre.lagval(x, c, tensor=True)[源代码]#
在点 x 处评估 Laguerre 级数.
如果 c 的长度是
n + 1
,这个函数返回值:\[p(x) = c_0 * L_0(x) + c_1 * L_1(x) + ... + c_n * L_n(x)\]参数 x 只有在它是元组或列表时才会被转换为数组,否则它会被视为标量.在任何情况下,`x` 或其元素都必须支持与自身和 c 的元素进行乘法和加法运算.
如果 c 是一个一维数组,那么
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,`x` 会在 c 的列上进行广播以进行评估.当 c 是多维时,此关键字很有用.默认值为 True.
在 1.7.0 版本加入.
- 返回:
- valuesndarray, algebra_like
返回值的形状如上所述.
备注
该评估使用 Clenshaw 递归,即合成除法.
示例
>>> from numpy.polynomial.laguerre import lagval >>> coef = [1, 2, 3] >>> lagval(1, coef) -0.5 >>> lagval([[1, 2],[3, 4]], coef) array([[-0.5, -4. ], [-4.5, -2. ]])