Python中的立方多项式

时间:2017-07-24 06:29:00

标签: python-3.x

对于我的编码类(python)中的最新项目,我们需要编程和计算三次函数。所以像3x ^ 3 + 2x ^ 2 + 7x + 1。我无法弄清楚如何在不同的x权力中编码。我知道这是一个非常简单的问题,但我无法在互联网上找到我正在寻找的内容并进行了搜索。考虑到3,2,7& 3,我将如何写出这个多项式? 1值?我假设我需要使用numpy,但只能用一次多项式计算出来。

2 个答案:

答案 0 :(得分:2)

功能可以在python中用**表示(还有一个更复杂的pow)函数:

def f(x):
    return 3*x**3 + 2*x**2 + 7*x + 1

(在python ^中是xor运算符;如果你使用你的表达式,python不会抱怨但只是不计算你想要的东西)

如果您需要能够进行符号数学运算,我建议您安装sympy包:

from sympy import symbols

def f(x):
    return 3*x**3 + 2*x**2 + 7*x + 1

x = symbols('x')

print(f(x))            # 3*x**3 + 2*x**2 + 7*x + 1
print(f(x).subs(x, 5)) # 461

答案 1 :(得分:0)

您还可以创建自定义函数,例如:

def cubic(x, args):
    args_len = len(args)
    for k in args:
        yield k * x ** (args_len-1)
        args_len -=1

演示:

user_input = [3, 2, 7, 1]
user_var_x  = 1
somme = sum(cubic(user_var_x, user_input))
print(somme)

输出:

13