2016-05-13 16 views
0

私は擬似コードで三角関数を探しています。 私は数学をよくしていないので、私はWikipediaの数式ではあまり働けません。 主に私はSine、Cosine、Tangentとそれらの逆関数(sin-1、cos-1、tan-1)を探しています。 他の三角関数もあります。しかし、私にとっては、上記が最も重要です。擬似コードの三角関数

ことが可能である場合には擬似コードで変数だけ、forif、演算子(+-*/%は、sqrt())が使用されている場合、私は、ライブラリを持っていないので、私は、幸せになります高度な数学機能を備えています。

答えて

2

三角法の機能は、Transcendentalです。
正確なの表現は、多項式代数の形で見つけることができません。

おおよそです。

通常のアプローチは内と同等の角度角度αを低減する周期と対称性を使用することであるα ′よう(α)= (α ′)が、α ′&#1 x226a。 α。
単純に、第1象限またはそれに類似した角度に任意の角度を縮小します。これは見た目よりも簡単です。
角度が小さくなると、Taylor Series Expansionを使用して、固定誤差の大きさまで関数を計算することができます。

Hereはチュートリアルページです。


もう1つの方法は、lookup tableを使用することです。
これは、プロセスの必要な精度を追跡でき、非常に高速な場合に特に便利です。
しかし、それはより多くのメモリを必要とし、ステップルッキング機能を引き起こす可能性があります。紹介ページ。 Here


別のアプローチは、CORDIC Algorithmを使用することであり、これは(いくつかのMIPSおよびARMチップのような)乗算サポートを欠いているハードウェアのために特別に適しています。ウィキペディアから :ハードウェア乗算器が使用できない場合

CORDICは、一般的に速く、他のアプローチよりも(例えば、マイクロコントローラは)[...]

一方

は、ハードウェア乗算器が利用可能になったとき(例えば、DSPマイクロプロセッサ内で)、テーブルルックアップ方法およびパワー級数は、一般にCORDICよりも速い。