角分数正切的高效计算

计算科学 数值分析 特殊功能
2021-12-03 03:52:17

我要计算a=tan(fθ)为了f[0,1], 给定g=tanθ. 显然,我可以计算a=tan(ftan1g),但我想知道是否有更有效的方法可以避免评估两个超越函数。

我碰巧也想要数量b=tan[(1f)θ], 我相信身份

a+b+gabg=0
持有。我可以合理地保证0g12,所以正切和反正切都是线性的。如果碰巧有任何有效的方法,我认为这个假设应该会有很大帮助。这里的重点是准确性和稳健性。

1个回答

我想不出任何有用的三角恒等式可以帮助评估 所以我会尝试级数展开 但我怀疑如果专注于准确性和鲁棒性,您可以做得比调用.

a=tan(ftan1g)
fg+13f(f21)g3+115f(2f45f2+3)g5+
tan(f*atan(g))

一旦你知道 ,你就可以通过切角减法计算,导致 这证明了你的身份。agb

tan(αβ)=tanαtanβ1+tanαtanβ
α=θβ=fθ
b=ga1+ga

(免责声明:我不是这方面的专家,但在高中时我的三角学非常好,所以我忍不住回答这个问题......)