我应该创建一个程序来计算角度序列k *α的余弦和正弦,其中k是一个增长的自然数(即0,1,2,...),α是一个恒定的角度,位于0和π之间。我想尽可能快地完成这个程序。
因此,我想首先计算每个角度的余弦值,然后计算与sqrt(1-cos(k*α)^2)
相关的正弦值。问题是正弦的符号,它应该由实线上角度k *α的位置确定。
我想知道如何尽可能快地实现这种动态比较,或者如果最快的方法是直接计算正弦值。
答案 0 :(得分:0)
过了一段时间,我又想到了这个问题,我找到了一个非常简单的解决方案:
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)));
问题解决了。 :)