计算多项式:p(x)=a0+a1x+a2x2+...+an*xn 写一个函数poly(x,cpeff),来计算公式 ,假设x=[1,2,3,4,5,6],系数coeff=[1.2,1.5,2.5,1.8,0.5],请计算多项式p(x)
时间: 2024-09-13 13:10:10 浏览: 50
CRC8校验,生成多项式:X8 + X2 + X + 1
要计算给定多项式 p(x) = a0 + a1x + a2x^2 + ... + an*x^n 的值,你可以使用霍纳法则(Horner's Rule),这是一种高效的算法,用于在多项式中每次仅对 x 进行一次乘法和加法来计算多项式的值。
以下是根据霍纳法则编写的一个函数 `poly(x, coeff)` 的示例代码,其中 `x` 是一个列表,代表多项式的根点,`coeff` 是一个列表,包含了多项式的系数,按照从 a0 到 an 的顺序排列。
```python
def poly(x, coeff):
result = coeff[-1]
for i in range(len(coeff) - 2, -1, -1):
result = result * x[i] + coeff[i]
return result
# 给定的 x 和 coeff
x = [1, 2, 3, 4, 5, 6]
coeff = [1.2, 1.5, 2.5, 1.8, 0.5]
# 调用函数计算多项式 p(x)
polynomial_value = poly(x, coeff)
print(polynomial_value)
```
当你运行这段代码时,它会计算出给定系数和 x 值对应的多项式 p(x) 的值。
阅读全文