提问者:小点点

如何创建给定次数和变量的多项式


我想在Python中创建一个多项式,给定所涉及的度数和变量。 我期待这样的事情:

second_order_polynomial = create_polynomial(['x', 'y'], order=2)

其中second_order_polynomial是计算xy的二阶多项式给定值的函数。 对我来说,实际上系数并不相关,只有变量的阶/幂。 因此args可以全部设置为1,但将其作为参数可能会提高问题的通用性:

def second_order_polynomial(x, y, *args) -> float:
    return args[0] * x**2 + args[1] y**2 + args[2] * x*y + args[3] 

理想情况下,create_polynomial适用于任意数量的变量和度数。 我想避免使用符号工具箱。

这个问题类似于处理Mathematica而不是Python的问题:来自Mathematica stackexchange的相关问题


共1个答案

匿名用户

请看下面这个:

def foo(order, li):
    result = 0
    l = len(li)
    if order != len(li):
        raise Exception('Wrong order specified')
    else:
        while(order > 0):
            result += li[l - order] ** order
            order -=1
        return result

print(foo(5, [7, 5, 3, 2, 1])) # 7**5 + 5**4 + 3**3 + 2**2 + 1**1

相关问题