gpt4 book ai didi

python - 如何创建处理多项式的函数?

转载 作者:太空狗 更新时间:2023-10-30 01:48:58 25 4
gpt4 key购买 nike

我有这些关于多项式的问题,我在这上面花了大约 4 个小时,但我就是无法理解。我是 Python 和编程的新手,我试过在纸上解决它,但我就是不知道。

  1. 编写并测试一个 Python 函数 negate(p),该函数对由其系数 p 列表表示的多项式取反并返回一个新的多项式(表示为一个列表)。换句话说,编写一个使数字列表为负数的函数。

  2. 编写一个 Python 函数 eval_polynomial(p, x) 返回 P(x) 的值,其中 P 是由其系数 p 列表表示的多项式。例如,eval_polynomial([1, 0, 3], 2) 应返回 1*2^2 + 0*2 + 3 = 7。使用单个 while 循环。

    <
  3. 编写并测试一个函数multiply_by_one_term(p, a, k),它将给定多项式p(由系数列表表示)乘以ax^k 并将产品作为新列表返回。

如果有人能帮助我,我将不胜感激。

最佳答案

我建议使用 numpy.poly1dnumpy.polymul,其中系数是 a0*x2 + a1*x + a2

例如,表示3*x**2 + 2*x + 1:

p1 = numpy.poly1d([3,2,1])

对于生成的 poly1d 对象,您可以使用 */ 等进行操作...:

print(p1*p1)
# 4 3 2
#9 x + 12 x + 10 x + 4 x + 1

如果您想构建自己的函数,假设 p 按顺序包含系数:a0 + a1*x + a2*x**2 + ... :

def eval_polynomial(p,x):
return sum((a*x**i for i,a in enumerate(p)))

def multiply_by_one_term(p, a, k):
return [0]*k + [a*i for i in p]

注意事项

我的评估函数使用指数函数,这可以通过 Horner 规则避免,如另一个答案中所发布的那样,该答案在 Numpy 的 polyval 函数中可用

关于python - 如何创建处理多项式的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18093509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com