龙源期刊网 http://www.qikan.com.cn 基于Taylor公式的正弦函数任意精度快速算法 作者:李良 李俊海 来源:《软件导刊》2013年第03期 摘 要:随着科技的不断进步,在给定精度下,需要计算某个角度相应正弦函数值的近似值。由于不同行业所需精度不同,因而有必要对其任意精度算法进行研究。正弦函数的Taylor公式可以使计算结果达到任意精度,但需根据函数性质减少计算量。首先借助三角函数的恒等式,把计算角度的范围缩小到\[0,π/2\],再利用倍角公式,把自变量的取值进一步缩小到0附近,这极大减少了Taylor公式的项数,降低了计算量。 关键词:正弦函数;任意精度;Taylor公式;倍角公式 中图分类号:TP312 文献标识码:A 文章编号:16727800(2013)003005502 0 引言 正弦函数在计算机仿真微粒群算法、电子陀螺仪定位和P波段雷达干扰抑制等领域有非常重要的作用。由于其应用广泛,如何快速、准确地计算正弦函数值就成为人们迫切需要研究的问题。 由于计算机存储自变量的值(角度)方式有二进制、十进制两种方式,为此计算正弦函数的方法也有两类。如果角度是二进制形式,主要采用CORDIC算法;如果角度是十进制形式储存,则使用Taylor 级数展开方法。 1959年,VOLDER提出使用CORDIC算法计算三角函数,其主要思想是:假设CPU最大位数是16bits,把角度范围-π~0和0~π分别等分为32 767份,每个分点对应的角度可以表示成16bits二进制数据,最高位是符号位;然后通过移位、迭代计算出各个角度相应的正弦函数值。该方法具有速度快、节省存储空间等优点,但是计算精度受制于二进制的位数,且不容易估计其十进制的准确有效数字个数。有关研究进展可以参考文献\[1\]和\[2\]。 基于Taylor 公式计算正弦函数方法在高等数学教材上就已给出,其优点为当角度为十进制时很容易估计计算结果的精度,从而明确计算结果中准确有效数字的个数;其缺点是当角度值较大时计算量大、收敛速度慢。为了弥补不足,刘小明和洪一提出一种基于查找表与Taylor展开相结合的正余弦函数算法,可以完成0~360°正弦和余弦值的计算。在角度的有效位数为16位时,结果精度达到0.000 03,并极大地提高了计算速度。为了进一步提高精度,有必要寻找一种计算正弦函数的新方法,使其精度可以达到任何想要的有效数字。 本文来源:https://www.wddqw.com/doc/ee42efcdc950ad02de80d4d8d15abe23492f033a.html