tan反函数c语言 c语言 tan

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语言表示反正弦,反余弦,反正切函数呢?

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

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语言实现三角函数及反三角函数怎么实现

用自带的函数库

#include stdio.h

#include math.h

#define M_PI 3.14159265358979323846

int main(void)

{

printf("%.4f\n", sin(M_PI / 2));

printf("%.4f\n", cos(M_PI / 3));

printf("%.4f\n", asin(1.00));

printf("%.4f\n", acos(0.50));

printf("%.4f\n", tan(M_PI / 4));

printf("%.4f\n", atan(1.00));

return 0;

}

标题名称:tan反函数c语言 c语言 tan
URL分享:https://www.cdcxhl.com/article8/dochgop.html

成都网站建设公司_创新互联,为您提供全网营销推广网站排名搜索引擎优化网站营销网站改版App开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

微信小程序开发