有了tan(x),我怎么能得到tan(x / 2)?在C.

时间:2016-06-21 02:02:22

标签: c math

我知道我可以这样做:

//With A = tax(x);
return tan(arctan(A)/2);

但我想要更高效的东西。

1 个答案:

答案 0 :(得分:5)

x介于-π/ 2和π/ 2之间时,您可以使用以下公式:

t / (1 + sqrt(1 + t*t))

这不是对原始公式的改进,但它使用一个函数调用而不是两个。

注意:我找到了这个公式here。维基百科页面是俄语,相应的英文页面不包含相同的公式。