2017-05-24 58 views
2

我想重寫cosh和sinh表達式中的一些指數函數。 rewrite()函數用於從雙曲函數獲取其指數表示。但它不起作用。在sympy中簡化雙曲函數的指數表示

>>> import sympy 
>>> x=sympy.Symbol('x') 
>>> sympy.cosh(x).rewrite(sympy.exp) 
exp(x)/2 + exp(-x)/2 
>>> sympy.cosh(x).rewrite(sympy.exp).rewrite(sympy.cosh) 
exp(x)/2 + exp(-x)/2 

我期待最後一條命令的結果是'cosh(x)'。有人可以向我解釋爲什麼它不是? 我試圖找到關於rewrite()函數的一些文檔,但我發現的唯一一點是http://docs.sympy.org/latest/tutorial/simplification.html中的短節,這並不是很有幫助。

回答

2

申請.rewrite(sympy.cos)返回cosh(x)如你所願。顯然,雙曲餘弦被rewrite視爲正常的變體。

這是reference on rewrite method

或者,simplify(expr)也將exp(x)/2 + exp(-x)/2轉換爲cosh(x)