我试图将表达式中的一些指数函数重写为cosh和sinh。 rewrite()函数用于从双曲函数到其指数表示。但它无法回复。
>>> 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中的短节并没有用。
答案 0 :(得分:3)
应用.rewrite(sympy.cos)
可以根据需要返回cosh(x)
。显然,双曲余弦被rewrite
视为正常变量。
这是reference on rewrite method。
或者,simplify(expr)
也会将exp(x)/2 + exp(-x)/2
转换为cosh(x)
。