我怎样才能解一个二元方程,使它依赖于一个变量?

2024-04-26 18:26:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在为一个项目做一个优化计算器。我在做一个正方形面积的基本例子。为了得到一个我需要推导的方程,我必须解P=XY,所以我想要它显示的表达式是Y=P/X。 我打算让它比只允许整数作为输入更易访问,所以我尝试了如下的解算器方法:

from sympy import *
x, y, p = symbols('x y z')
AExp = x*y
print(solve((x*y),p))

但我得到了错误

ValueError:
Since there is more than one variable in the expression, the
variable(s) of differentiation must be supplied to differentiate

其他解算器似乎用于更复杂的表达式,所以我怀疑是否应该使用它们以及如何使用它们


Tags: the项目方法from表达式整数variable计算器
1条回答
网友
1楼 · 发布于 2024-04-26 18:26:03

不确定错误消息,但问题中的代码有一些问题:

  • x, y, p = symbols('x y z')创建xy,打印为“x”和“y”,以及p,打印为“z”
  • AExp = x*y:创建一个表达式,它是xy的乘积
  • solve((x*y),p):尝试为方程x*y = 0找到p

下面是一些查找y的代码,例如p = x*y

from sympy import *
x, y, p = symbols('x y p', real=True) # telling sympy which type of solutions to search for helps prevent misunderstandings
my_expr = x*y
my_eq = Eq(my_expr, p)   # equation x*y = p
print(solve(my_eq, y))   # find a y for the equation
print(solve(Eq(x*y, p), y))   # shorthand for the same

输出:[p/x]

相关问题 更多 >