首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >伪码中的三角函数

伪码中的三角函数
EN

Stack Overflow用户
提问于 2016-05-13 06:56:34
回答 1查看 1K关注 0票数 0

我在寻找伪码中的三角函数。我不擅长数学,所以我不能用维基百科中的公式做很多事情。主要是寻找它们的正弦、余弦、正切和反函数(sin⁻1 1,⁻1 1,tan⁻1 1)。还有其他三角函数。但对我来说,以上这些才是最重要的。

如果可能的话,如果在伪代码中只使用forif和运算符(+-*/%sqrt()),我会很高兴,因为我没有一个具有高级数学函数的库。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-13 07:16:21

三角函数是超越性

你不能用多项式代数的形式找到它们的精确表达式。

不过,您可以近似于

通常的方法是利用周期性和对称性将角α降为等效角α‘,从而使sin(α) =sin(α’)但α‘≪α。

简单地说,在第一个象限或类似的地方,你可以将任何角度缩小到和角度上,这比看上去容易得多。

一旦你有一个小的角度,你可以使用Taylor级数展开来计算这个函数,直到一个固定的误差幅度。

这里是一个教程页面。

另一种方法是使用查表

当您能够跟踪所需的过程的精确性并且非常快时,这尤其有用。

然而,它需要更多的内存,并可能产生一个步骤式的功能。这里是一个介绍性页面。

另一种方法是使用CORDIC算法,这特别适合缺乏乘法支持的硬件(比如一些MIPS和ARM芯片)。维基百科:

当没有硬件乘法器(例如,微控制器)时,CORDIC通常比其他方法更快。 另一方面,当硬件乘法器可用时(例如在DSP微处理器中),查表方法和幂级数通常比CORDIC快。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37203182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档