gpt4 book ai didi

python - 各种角度的精确正弦/余弦/正切

转载 作者:行者123 更新时间:2023-11-28 19:44:47 31 4
gpt4 key购买 nike

<分区>

有没有办法获得角度(以弧度为单位)的精确正切/余弦/正弦?

math.tan()/math.sin()/math.cos() 没有给出某些角度的精确值:

>>> from math import *
>>> from decimal import Decimal
>>> sin(pi) # should be 0
1.2246467991473532e-16
>>> sin(2*pi) # should be 0
-2.4492935982947064e-16
>>> cos(pi/2) # should be 0
6.123233995736766e-17
>>> cos(3*pi/2) # 0
-1.8369701987210297e-16
>>> tan(pi/2) # invalid; tan(pi/2) is undefined
1.633123935319537e+16
>>> tan(3*pi/2) # also undefined
5443746451065123.0
>>> tan(2*pi) # 0
-2.4492935982947064e-16
>>> tan(pi) # 0
-1.2246467991473532e-16

我尝试使用 Decimal(),但这也无济于事:

>>> tan(Decimal(pi)*2)
-2.4492935982947064e-16

numpy.sin(x) 和其他三角函数也有同样的问题。

或者,我总是可以创建一个带有值字典的新函数,例如:

def new_sin(x):
sin_values = {math.pi: 0, 2*math.pi: 0}
return sin_values[x] if x in sin_values.keys() else math.sin(x)

但是,这似乎是一种廉价的绕过它的方法。还有别的办法吗?谢谢!

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com