1
我具有低于代码的sympy.solve
一个简单的测试:的Python`sympy`模块方程求解乘法中表达
#!/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
。我写错了吗?
在此先感谢。