我遇到了一个小问题,看看:
>>> import math
>>> math.sin(math.pi)
1.2246467991473532e-16
这不是我在微积分课上学到的(实际上是 0)
那么,现在,我的问题是:
我需要使用 Python 执行一些繁重的三角函数微积分。我可以使用什么库来获取正确的值?
我可以使用十进制吗?
编辑:
对不起,我的意思是另外一回事。
我想要的是一些方法:
>>> awesome_lib.sin(180)
0
或者这个:
>>> awesome_lib.sin(Decimal("180"))
0
我需要一个可以很好地进行三角函数计算的库。大家都知道 sin 180° 是 0,我也需要一个可以做到这一点的库。
最佳答案
1.2246467991473532e-16
接近于 0 -- 小数点和第一个有效数字之间有 16 个零 -- 与 3.1415926535897931
(math.pi
) 接近圆周率。答案精确到小数点后十六位!
因此,如果您希望 sin(pi)
等于 0,只需将其四舍五入到合理的小数位数即可。 15 对我来说看起来不错,对于任何应用程序来说应该足够了:
print round(math.sin(math.pi), 15)
关于Python:带三角函数的小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10854229/