Вычисление синуса и косинуса


В предложенной программе синус и косинус вычисляются через тангенс половинного аргумента. Тангенс половинного аргумента вычисляется в интервале [0,pi/8] с помощью быстро сходящейся цепной дроби.

Тангенс вычисляется на интервале [0,pi/8], для этого используется цепная дробь:

tan(x) = x/(1-x2/(3-x2/(5-x2/(7-x2/...)))).

Для одинарной точности требуется 4 итерации, для двойной - 6-7.
Затем вычисляются синус и косинус на интервале [0,pi/4] через тангенс половинного аргумента: sin(x1)=2*t/(1+t2), nbsp;   cos(x1)=(1-t2)/(1+t2). Потом, применяя алгоритм к x2=(pi/2-x1), можно будет расширить интервал до [0,pi/2]. Применяя известные формулы тригонометрии, интервал расширяется до полного цикла: [-pi,pi].

Есть и альтернативный подход, требующий большего числа операций, но весьма удобный при представлении аргумента в виде числа с фиксированной точкой. В этом случае алгоритм связан с проведением серии комплексных умножений на табличные данные. 

 
« Предыдущая статья   Следующая статья »