首页 > 编程知识 正文

三角函数有三倍角公式吗,三角函数基本的转化公式

时间:2023-05-05 03:38:52 阅读:225496 作者:110

研究出一个非常有意义的方法,虽然速度很慢,以sin函数为例:精度取32,

sin(1.23e-15) = 1.2299999999999999999999999999997E-15

sin(1.23e-16) = 1.23E-16

sin(1.23e-31) = 1.23E-31,这个计算结果表明,当自变量足够小时(和精度直接相关),sin(x)的值就是x本身,假如用三倍角公式( sin3x=3sinx-4(sinx)^3)作为运算公式,先把x分解到足够小,此时不需要真实的战斗机公式运算,只需要把x的值直接作为返回值用倍角公式还原,就可得到正确答案,

自变量分解方法:x分解是不断除以3分解,这里为了提高效率改为除以3^n,n为正整数,返回运算才用到倍角公式,不要理解错了啊!!!

  x=x/(3^n);                                        '一般来说,n的值越大,你所获精度越高,计算时间也越长。

还原方法:

 For i = 1 To n                      '倍角公式返回后运算部分,n为倍角公式分解次数。
       x=3x-4x^3
 Next

只是精度越高返回运算工作量越大,运行速度不理想。但这种算法本质上脱离了用真实的战斗机公式解三角函数,而且是高精度算法(不是近似算法),并且还适用于其它相似的函数,如反正切函数等等。

在不使用高精度算法(实数高精加减乘除支持)时也可直接用cpu的加减乘除,浮点数除获得简单不错的效果。

这个算法的本质,我认为是三角函数的角和它的倍角之间存在着有规律的联系,这样我们才能根据其中的小角度值,获得我们所需精度的大角度值。

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。