成都网站建设设计

将想法与焦点和您一起共享

c语言画正函数 c语言绘制正弦曲线

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

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

成都创新互联于2013年创立,是专业互联网技术服务公司,拥有项目网站制作、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元浑南做网站,已为上家服务,为浑南各地企业和个人服务,联系电话:18980820575

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语言画正余弦函数

C 语言是吧,看看:

================================================

#includestdio.h

#include局型math.h

int main()

{

double y;

int x,m,i;

printf("y=sin(x) [0x2*pi]\n");

for(y=1;y=-1;y-=0.1)

{ /*y为列方向,值从1到-1,步长为0.1*/

if(y=0)

{

m=asin(y)*10; /*计算出y对应的弧度m,乘以10为图形放大倍数*/

for(x=1;xm;x++)printf(" ");

printf("*"); /*控制打印 * 号*/

for(;x桐源猜31-m;x++)printf(" ");

printf("*\n");

} /*控制打印同一行中对称的*号*/

else

{

m=-1*asin(y)*10;

for(i=0;i裂此32;i++)printf(" ");

for(x=1;xm;x++)printf(" ");

printf("*");

for(;x31-m;x++)printf(" ");

printf("*\n");

}

}

return 0;

}

=================================================

output:

y=sin(x) [0x2*pi]

* *

* *

* *

* *

* *

* *

* *

* *

* *

* *

* *

* *

* *

* *

* *

* *

* *

* *

* *

* *

* *

请按任意键继续. . .

如何用c语言的数组来实现一个正弦函数

1、C语言中要编写sin函数,实质上要利用sin的泰勒公式,然后根据泰勒公式,将其中的每一项进行分解,最后用循环,累加计算出最终结果。

2、下面用for循环实现sin的算法,程序代码如下:

#includestdio.h#includemath.hvoid main(){ int i; float x,sum,a,b; //sum代表和,a为分子,b为分母 char s; printf("please input x"); scanf("%f",x); s=1; sum=0; a=x; //分母赋枣核衡初值 b=1; //分子赋初值 for(i=1;a/b=1e-6;i++) { sum=sum+s*a/b; //累加一项 a=a*x*x; //求下一项分子 b=b*2*i*(2*i+1); //求下一项分母 s*=-1; } printf("sum=%f\n",sum);}

3、 关于上述程序的几点说明:上述程序的计算结果精确到小数点后六位;上述程序运用了sin的泰勒展开式 sin x=x-x^3/3!+x^5/5! ...... ,程序中将sin泰勒公式中的每一项拆成了分子,分母以及每一项前的符凳做号氏颤这三项,以便于每一项的累加。


分享文章:c语言画正函数 c语言绘制正弦曲线
网页地址:http://chengdu.cdxwcx.cn/article/dspjehg.html