Sympy自定义功能

安德鲁·福恩特

我注意到,没有像sech(x)和csch(x)这样的函数。

有什么方法可以快速将它们分别定义为1 / cosh(x)和1 / sinh(x)?

另外,如何使sympy将arccos视为acos?

我正在使用解析器,因此已正确解析“ cos(pi / 2)”。但我希望以类似的方式解析“ arccos(pi / 2)”。

加布里埃尔

您可以定义实现所需行为的函数。

import sympy

def sech(x):
    return sympy.cosh(x)**(-1)
# sympy.sech = sech

def csch(x):
    return sympy.sinh(x)**(-1)
# sympy.csch = csch

arccos = sympy.acos

最初,我显示了一些行(现在已注释掉),这些行将它们附加到导入sympy时使​​用的符号上。这是一种称为猴子修补的坏习惯,并且会干扰sympy可能使用这些名称或可能sympy在代码中其他位置修补了猴子的其他人的任何更新还会使阅读您的代码的人认为这些属性是原始sympy包的一部分

y = sympy.symbols('y')
print sech(y)
print csch(y)
print arccos(y)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章