2016-04-07 18 views
1

私は式を印刷して、何も操作や簡略化をせずに、自分が望むものを再確認したいと思います。ここでは簡単な例です:これは表現ビット操作したきれいに印刷された式が入力されました

from sympy import * 
import abc 
init_session() 

sigma_1, sigma_0, mu_1, mu_0,x = symbols("sigma_1 sigma_0 mu_1 mu_0 x") 
diff = log(1/(sqrt(2*pi*sigma_1**2)) * exp(-(x-mu_1)**2/(2*sigma_1**2))) - log(1/(sqrt(2*pi*sigma_0**2)) * exp(-(x-mu_0)**2/(2*sigma_0**2))) 
diff 

enter image description here

が、私はそれはかなりちょうど私がそれに入った順序で印刷してもらいたいので、私は反対簡単に確認することができます私が書いた数式は書き留めました。

これを行う方法はありますか?

答えて

1

あなたは

sympify("log(1/(sqrt(2*pi*sigma_1**2)) * exp(-(x-mu_1)**2/(2*sigma_1**2))) - log(1/(sqrt(2*pi*sigma_0**2)) * exp(-(x-mu_0)**2/(2*sigma_0**2)))", evaluate=False) 

を使用して、いくつかの単純化を回避することができますしかし、いくつかの簡略化を回避することはできません。たとえば、同じ順序で用語を保持する方法はなく、1/xx**-1などの一部の表現は、同じ方法で内部的に表現されます。それが言われて、間違いなくsympify(evaluate=False)が改良されるかもしれない場所がある。

関連する問題