本人发现网上基本上都是教你如何直接使用C语言库函数来调用cos与sin,但由于很多限制,特别硬件编程,必须要自己写cos和sin函数。网上也有几篇自己实现了cos与sin函数的文章,但是都只有单独实现cos和单独实现sin,没有两个函数一起实现的文章,导致算法完全不一样,造成很多麻烦。 这里我来教大家如何一起实现cos(x)与sin(x) 函数
我这里运用了“泰勒级数公式”以及“负角的三角函数定律”:
可以看出sin(x)与cos(x)的不同主要在于sin多了一项阶乘和一项指数,使得sin是奇数的阶乘和次方,cos是偶数的阶乘和次方。并且sin的第一项是“x”,而cos的第一项是“1”。并且还要注意,如果输入是“复角”,sin的结果需要取复数。所以围绕这几个公式可以写出以下代码,代码中我为了完全脱离<math.h>的限制,我还自己实现了“绝对值函数”和“阶乘函数”:
#include <stdio.h>
//sin(-a)=-sin(a)
//cos(-a)=cos(a)
double pi=3.14159265359;
double fabs_self(double x){
if(x>=0){
x=x;
}else{
x=-x;
}
retur