我在下面的代码中进行了sympy.solve
的简单测试:
#!/usr/bin/python
from sympy import *
x = Symbol('x', real=True)
#expr = sympify('exp(1 - 10*x) - 15')
expr = exp(1 - x) - 15
print "Expressiong:", expr
out = solve(expr)
for item in out:
print "Answer:", item
expr = exp(1 - 10*x) - 15
print expr
out = solve(expr)
for item in out:
print "Answer:", item
输出如下:
Expressiong: exp(-x + 1) - 15
Answer: -log(15) + 1
exp(-10*x + 1) - 15
Answer: log(15**(9/10)*exp(1/10)/15)
等式exp(1 - x) = 15
已正确解决(x = -15log(15) + 1
)。
但是当我将x
更改为10*x
时,结果很奇怪。
如果我在没有x
的情况下初始化符号real=True
,为什么会有很多复杂的答案?
即使在初始化符号real=True
时使用x
,答案仍然不正确。与第一个等式相比,结果应为-3/2*log(15) + 1/10
。我把这个等式写错了吗?
提前致谢。
答案 0 :(得分:1)