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