0

一連の角度k*αの余弦定理と正弦を計算するプログラムを作成する必要があります。ここで、kは増加する自然数(つまり、0、1、2、...)であり、αは0の間にある一定の角度です。およびπ。このプログラムをできるだけ速くしたいと思います。

したがって、最初に各角度の正弦を計算し、次に関連する正弦を計算したいと思いsqrt(1-cos(k*α)^2)ます。問題は正弦の符号であり、これは実数直線上の角度k*αの位置によって決定されるべきです。

この動的比較を可能な限り高速に実装する方法、または最も速い方法が正弦を直接計算することであるかどうかを知りたいです。

4

1 に答える 1

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)));

問題が解決しました。:)

于 2012-12-21T16:52:46.817 に答える