我应该创建一个程序来计算一个角度序列k*α的余弦和正弦,其中k是一个增长的自然数(即,0,1,2,...)α是介于0和π之间的一个恒定角度。我想让这个程序尽可能快。
因此,我想先计算每个角度的余弦,然后用sqrt(1-cos(k*α)^2)计算相关的正弦。问题是正弦的符号,它应该由k*α角在实线上的位置来确定。
我想知道如何尽可能快地实现这种动态比较,或者是否最快的方法也是直接计算正弦。
发布于 2012-12-22 00:52:47
一段时间后,我再次思考这个问题,我找到了一个非常简单的解决方案:
n = floor(k*alpha/pi);
if (n % 2 == 0)
sin_alpha = +sqrt(1-pow(cos(k*alpha,2)));
else
sin_alpha = -sqrt(1-pow(cos(k*alpha,2)));问题解决了。:)
https://stackoverflow.com/questions/13896093
复制相似问题