189 8069 5689

c语言求tan反函数 c++求反函数

怎样用C语言表示反正弦,反余弦,反正切函数呢?

计算反正切函数(使用欧拉变换公式,精度很高),反正切函数的级数展开公式:

海沧网站建设公司创新互联建站,海沧网站设计制作,有大型网站制作公司丰富经验。已为海沧千余家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的海沧做网站的公司定做!

f(x) = x - x^3/3 + x^5/5 +...+ (-1)^k * x^(2k+1)/(2k + 1)+...

当|x| 1时,级数绝对值发散,无法直接使用欧拉公式计算。因此可以通过下面的公式

进行等价转换之后再进行计算。

等价转换公式:

a) ATan(1/x) = Pi/2 - ATan(x)

b) ATan(-x) = - ATan(x)

特殊情况

0 = ArcTan(0)

Pi/2 = ArcTan(无穷大)

//

// 欧拉公式

//

// sum是和,term是通项值,jterm初始为1,以后按1递增。wrksp是工作单元,视jterm的

// 最大值而定。

//

void eulsum(int nterm,double *sum,double term,int jterm,double wrksp[])

{

double tmp,dum;

if(jterm == 1)

{

nterm = 1;

wrksp[1] = term;

*sum = 0.5 * term;

}

else

{

tmp = wrksp[1];

wrksp[1] = term;

for(int j=1; j = nterm; j++)

{

dum = wrksp[j+1];

wrksp[j+1] = 0.5 * (wrksp[j] + tmp);

tmp = dum;

}

if(fabs(wrksp[nterm + 1]) = fabs(wrksp[nterm]))

{

*sum = *sum + 0.5 * wrksp[nterm + 1];

nterm = nterm + 1;

}

else

{

*sum = *sum + wrksp[nterm + 1];

}

}

}

级数计算就不用我给代码了吧。

C语言中反三角函数的调用

包含头文件 math.h

反3角函数有 acos(double),asin(double),atan(double),atan(double,double),

返回值 double 型,弧度值。转角度要 *180.0/3.1416

例如:

#include stdio.h

#includestdlib.h

#includemath.h

int main()

{

double x=0.5;

printf("acos=%.2lf degrees\n",acos(x) * 180.0/3.1416);

printf("asin=%.2lf degrees\n",asin(x) * 180.0/3.1416);

printf("atan=%.2lf degrees\n",atan(x) * 180.0/3.1416);

printf("atan2=%.2lf degrees\n",atan2(1.0,2.0) * 180.0/3.1416);

return 0;

}

在C语言中怎样求反正切,正切是tan,是atan吗

是的啊,我给你再举个例子,以下两行分别打印出tan(45)=1,atan(1)=45。

注意:要用double类型,不然会得到错误的结果。

#include stdio.h

#include math.h

#define pi 3.1415926

void main()

{

printf("%f\n",tan(double(45)/double(180)*pi));

printf("%f\n",atan(1)*double(180)/pi);

}


本文名称:c语言求tan反函数 c++求反函数
URL链接:http://cdxtjz.cn/article/doiogep.html

其他资讯