gpt4 book ai didi

python - 计算多项式

转载 作者:行者123 更新时间:2023-12-01 01:54:31 25 4
gpt4 key购买 nike

我想计算 x 值的多项式。我试着写以整数和整数 x 组成的数组作为参数的函数该函数将返回 x 中多项式的值。

def pol(L, x):
P = None
for i in L:
P = L[0] * (x ** 0) + L[1] * (x ** 1) + L[2] * (x ** 2)
return P

L = [0, 2, 4]
x = 3
print(pol(L, x))

我也尝试过

def pol(L, x):
P = None
for i in L:
j = 0
P = sum(i * (x ** j))
j += 0
return P

L = [0, 2, 4]
x = 3
print(pol(L, x))

在此示例中它将返回 42。我不知道如何增加。谢谢

最佳答案

根据您的尝试,获得多项式的一种直接方法如下:

def poly(p, x):
val = 0
for i, pp in enumerate(p):
val += pp * x**i

return val

不过,有更快、更优雅的方法可以做到这一点。我强烈建议您使用 numpy.polyval()为了提高效率。

请注意,对于 numpy 实现,p[0] 是最高阶多项式,而对于此处显示的示例,p[0] > 是最低顺序!

p = [0, 2, 4]
x = 3

poly(p, x)
>> 42

import numpy as np
poly(p, x) == np.polyval(p[::-1], x)
>> True

关于python - 计算多项式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50375769/

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