2010-09-17 20 views
17

余切函数是否比返回1.0/tan(x)更稳定的实现?Stable Cotangent

+0

我认为你的问题1 /谭是它的未定义在pi/2时,函数应该返回零? – MerickOWA 2010-09-17 19:46:58

+0

当接近pi/2时,做倒置是否是狡猾是的......我想知道是否有更好的方法来做到这一点。 – 2010-09-17 19:57:08

回答

36

cot(x) = cos(x)/sin(x)应该在数值上更接近于π/ 2的稳定性比cot(x) = 1/tan(x)。您可以在拥有它的平台上使用sincos高效实施。

另一种可能性是cot(x) = tan(M_PI_2 - x)。这应该比上述速度更快(即使sincos可用),但它也可能不太准确,因为M_PI_2当然只是超越数π/ 2的近似值,所以差异M_PI_2 - x将不准确到满一个double尾数的宽度 - 事实上,如果你不走运,它可能只有一些有意义的位。

+0

好的。我想这是我能做的最好的。我还了解了sincos,我必须承认我以前从未见过! – 2010-09-17 20:35:52

+2

只记得一个三角形的身份,让你做得更好,编辑我的答案。 – zwol 2010-09-17 21:13:17

+4

+1。绝对使用tan(pi/2 - x)。 – 2010-09-17 21:15:37

相关问题