我有关于多项式的问题,我花了大约4个小时在这上面,但我就是搞不懂。我对Python和编程还不太熟悉,我尝试过在纸上写出来,但我就是不知道。
编写并测试一个Python函数negate(p)
,该函数对其coefficients列表所表示的多项式p
求反,并返回一个新的多项式(表示为列表)。换言之,编写一个使数字列表为负的函数。
编写一个Python函数eval_polynomial(p, x)
,返回P(x)
的值,其中P
是由其系数列表p
表示的多项式。例如,eval_polynomial([1, 0, 3], 2)
应该返回1*2^2+0*2+3=7。使用一个while循环。
编写并测试一个函数multiply_by_one_term(p, a, k)
,它将给定的多项式p
(由系数列表表示)乘以ax^k
,并将乘积作为新列表返回。
如果有人能帮助我,我将非常感激。
我建议使用
numpy.poly1d
和numpy.polymul
,其中的系数是a0*x2 + a1*x + a2
。例如,要表示
3*x**2 + 2*x + 1
:对于生成的
poly1d
对象,您可以使用*
、/
等操作…:如果要构建自己的函数,假设peem>按顺序包含系数:
a0 + a1*x + a2*x**2 + ...
:注意
我的evaluate函数使用指数函数,这可以用Horner规则来避免,正如在另一个答案中所述,这可以在Numpy的
polyval
函数中找到相关问题 更多 >
编程相关推荐