c语言实现反正旋函数,反正旋函数的定义域

C语言asin()函数:求反正弦的值(以

C语言中之数学函数

创新互联专注于嘉陵企业网站建设,响应式网站开发,商城系统网站开发。嘉陵网站建设公司,为嘉陵等地区提供建站服务。全流程定制设计,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

C语言提供了以下的数学函数,要使用这些函数时,在程序文件头必须加入:

#include

math.h

编译时,必须加上参数「-lm」(表示连结至数学函式库),例如「gcc

-lm

test.c」。

函数之自变量与传回之值型别见自变量或函数前之型别宣告。

函数已经在「math.h」或其它标头档宣告过了,因此在使用时不必再加型别宣告,例如「y=sin(x);」,不用写成「y=double

sin(double

x);」。

函数说明

double

sin(double

x)

x

的正弦函数值

double

cos(double

x)

x

的余弦函数值

double

tan(double

x)

x

的正切函数值

double

asin(double

x)

x

的反正弦函数值

sin-1x,x的值在

[-1,1]

之间,传回的值在

[-p/2,p/2]

之间

double

acos(double

x)

x

的反余弦函数值cos-1x,x的值在

[-1,1]

之间,传回的值在

[-p/2,p/2]

之间

double

atan(double

x)

x

的反正切函数值tan-1x,传回的值在

[-p/2,p/2]

之间

double

atan2(double

y,

double

x)

y/x

的反正切函数值tan-1(y/x),传回的值在

[-p,

p]

之间

double

sinh(double

x)

x

的双曲正弦函数值

double

cosh(double

x)

x

的双曲余弦函数值

double

tanh(double

x)

x

的双曲正切函数值

double

exp(double

x)

x

的指数函数

ex

double

log(double

x)

x

的自然对数

ln(x),x

double

log10(double

x)

x

底数为

10

的对数,log10x,x

double

pow(double

x,

double

y)

x

y

次方

xy

double

sqrt(double

x)

x

的根号值

√x

double

ceil(double

x)

不小于

x

的最小整数(但其型别为

double)

double

floor(double

x)

不大于

x

的最大整数(但其型别为

double)

int

abs(int

x)

整数

x

的绝对值

|x|

long

labs(long

x)

长整数

x

的绝对值

|x|

double

fabs(double

x)

实数

x

的绝对值

|x|

怎样用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语言中的反函数怎么计算?

例如要使用cos的反函数arccos,C语言里有acos()函数,在头文件math.h里。

1、C语言中,数学函数是函数的一种。指专门进行数学运算的函数,一般都在math.h头文件下。如果该标准库内存在某个函数的反函数,直接调用该反函数即可计算。

2、数学函数列表:

1)int abs(int i); 求整数的绝对值。

2)long labs(long n); 求长整型数的绝对值。

3)double fabs(double x); 求实数的绝对值。

4)double floor(double x); 求不大于x的最大整数,它相当于数学函数[x]。

扩展资料:

语言组成:基本构成。

数据类型:C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

常量与变量:常量其值不可改变,符号常量名通常用大写。

变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。

数组:如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,中括号内的索引值是从0算起的。

参考资料来源:百度百科-c语言


分享标题:c语言实现反正旋函数,反正旋函数的定义域
分享路径:http://scjbc.cn/article/dsgophh.html

其他资讯