Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 计算一系列角度的余弦和正弦_Performance_Comparison_Trigonometry - Fatal编程技术网

Performance 计算一系列角度的余弦和正弦

Performance 计算一系列角度的余弦和正弦,performance,comparison,trigonometry,Performance,Comparison,Trigonometry,我应该创建一个程序来计算角序列k*α的余弦和正弦,其中k是一个不断增长的自然数(即,0,1,2,…),α是一个介于0和π之间的常数角。我想使这个计划尽可能快 因此,我想先计算每个角度的余弦,然后用sqrt(1-cos(k*α)^2)计算相关的正弦。问题是正弦的符号,它应该由角度k*α在实线上的位置确定 我想知道如何尽可能快地实现这种动态比较,或者最快的方法是直接计算正弦。过了一段时间,我再次思考了这个问题,找到了一个非常简单的解决方案: n = floor(k*alpha/pi); if (n

我应该创建一个程序来计算角序列k*α的余弦和正弦,其中k是一个不断增长的自然数(即,0,1,2,…),α是一个介于0和π之间的常数角。我想使这个计划尽可能快

因此,我想先计算每个角度的余弦,然后用
sqrt(1-cos(k*α)^2)
计算相关的正弦。问题是正弦的符号,它应该由角度k*α在实线上的位置确定


我想知道如何尽可能快地实现这种动态比较,或者最快的方法是直接计算正弦。

过了一段时间,我再次思考了这个问题,找到了一个非常简单的解决方案:

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)));
问题已解决。:)