Вычисление синуса и косинуса
|
Страница 1 из 2
В предложенной программе синус и косинус вычисляются через тангенс половинного аргумента. Тангенс половинного аргумента вычисляется в интервале [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]. Есть и альтернативный подход, требующий большего числа операций, но весьма удобный при представлении аргумента в виде числа с фиксированной точкой. В этом случае алгоритм связан с проведением серии комплексных умножений на табличные данные. |