同情和同情

时间:2015-06-26 12:08:17

标签: python numpy sympy

在同情中似乎没有cosdsind的等价物(即以度为单位的参数的余弦和正弦)。有没有简单的方法来实现这些功能?

对于numpy,我做了:

numpy.cosd = lambda x : numpy.cos( numpy.deg2rad(x) )

类似的东西:

sympy.cosd = lambda x : sympy.cos( sympy.pi/180*x )

适用于评估,但表达式打印为:

cos(pi*x/180)

这对于可读性来说并不是很好(由于3D坐标的改变,我的表达很复杂)。有没有办法创建sympy.cosd函数来评估cos(pi/180 * x)但是打印cosd(x)

2 个答案:

答案 0 :(得分:1)

{p> sympympmath模块中有radian converter

sympy.cosd = lambda x : sympy.cos( sympy.mpmath.radians(x) )

答案 1 :(得分:0)

为了在使用度数时保持符号,我做了类似的事情:

import sympy as sp
def tand(x):
    return sp.tan(x * sp.pi / 180)

def sind(x):
    return sp.sin(x * sp.pi / 180)

def cosd(x):
    return sp.cos(x * sp.pi / 180)

示例结果

In [5]: tand(60)
Out[5]: sqrt(3)