如何计算多元方程的输出

时间:2019-06-20 10:45:26

标签: python math differential-equations derivative

我有一个功能

f(x,y)=4x^2*y+3x+y 

显示为

four_x_squared_y_plus_three_x_plus_y = [(4, 2, 1), (3, 1, 0), (1, 0, 1)]

其中,元组中的第一项是系数,第二项是x的指数,第三项是y的指数。我正在尝试以一定的x和y值计算输出

我尝试将术语列表拆分成它们代表的内容,然后在输入它们时输入x和y的值,但是我得到了关于**元组的不受支持的操作数类型-即使我试图拆分在条款内将它们分成单独的值

这是分割像这样的元组的有效方法吗?

def multivariable_output_at(list_of_terms, x_value, y_value):
    coefficient, exponent, intersect = list_of_terms
    calculation =int(coefficient*x_value^exponent*y_value)+int(coefficient*x_value)+int(y_value)
    return calculation


multivariable_output_at(four_x_squared_y_plus_three_x_plus_y, 1, 1) # 8 should be the output

2 个答案:

答案 0 :(得分:1)

请尝试以下操作:

four_x_squared_y_plus_three_x_plus_y = [(4, 2, 1), (3, 1, 0), (1, 0, 1)]


def multivariable_output_at(list_of_terms, x_value, y_value):
    return sum(coeff*(x_value**x_exp)*(y_value**y_exp) for coeff,x_exp,y_exp in list_of_terms)


print(multivariable_output_at(four_x_squared_y_plus_three_x_plus_y, 1, 1))

注意:

这与您的代码最初对待变量的方式不同,并且基于我对术语列表的含义的直观理解(给出示例)。

如果您有更多输入->输出示例,则应检查所有答案,以确保我做的正确。

答案 1 :(得分:0)

第一行代码将元组列表解压缩为三个不同的元组:

coefficient, exponent, intersect = list_of_terms
# coefficient = (4, 2, 1)
# exponent = (3, 1, 0)
# intersect = (1, 0, 1)

元组不支持乘积运算符*,您看到此问题了吗?