J'ai le code ci-dessous pour un test simple de sympy.solve
:Python `sympy` équation du module résolution multiplication dans l'expression
#!/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
sortie est la suivante:
Expressiong: exp(-x + 1) - 15
Answer: -log(15) + 1
exp(-10*x + 1) - 15
Answer: log(15**(9/10)*exp(1/10)/15)
L'équation exp(1 - x) = 15
est résolu correctement (x = -15log(15) + 1
). Mais lorsque je change x
en 10*x
, le résultat est bizarre.
Pourquoi y aurait-il beaucoup de réponses complexes si j'initialiser le symbole
x
sansreal=True
? Même avecreal=True
lors de l'initialisation du symbolex
, la réponse n'est toujours pas correcte. En comparant avec la première équation, le résultat devrait être-3/2*log(15) + 1/10
. Ai-je mal écrit l'équation?
Merci d'avance.