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

如题所述

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

#include<stdio.h>#include<math.h>void 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泰勒公式中的每一项拆成了分子,分母以及每一项前的符号这三项,以便于每一项的累加。
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-01-10
泰勒级数展开
第2个回答  2018-01-09
泰勒展开

如何用c语言的数组来实现一个正弦函数
1、C语言中要编写sin函数,实质上要利用sin的泰勒公式,然后根据泰勒公式,将其中的每一项进行分解,最后用循环,累加计算出最终结果。2、下面用for循环实现sin的算法,程序代码如下:include<stdio.h>#include<math.h>void main(){ int i; float x,sum,a,b; \/\/sum代表和,a为分子,b为分母...

如何用C语言中专门的数学算法实现正弦,余弦函数的计算
sin:正弦函数 函数原型:double sin(double x);头文件:#include<math.h> 是否是标准函数:是 函数功能:求x的正弦值,这里,x为弧度。返回值:计算结果的双精度值。例程如下: 求sinx。include <stdio.h> include <math.h> int main(void){ float x;x=M_PI\/2;printf("sin(PI\/2)=%f",...

正弦函数C语言编程
temp = (-1) * temp*x*x\/( (i+1)*(i) );} printf("sin(%lf) = %lf ",x,sin);printf("The number is %d ",i);return 0;}

C语言编写sin函数?求教!
double mysin(double x){double y=x,t=x,t1=x*x;for(int i=2;fabs(t)>1e-10;i+=2){t*=-t1\/(i*(i+1));y+=t;} return y;} int main(){ double x;scanf("%lf",&x);printf("%f\\n",mysin(x));return 0;}

用C语言中的数组编写出正弦波、方波和三角波,写一种就可以了
Write_command(0x0c); \/\/LCD1602开显示 ,不显示光标 Write_command(0x06); \/\/读或写一字符后指针加一 ,显示不移动 Write_command(0x80+0x00); \/\/数据指针地址设置 } void Display() \/\/LCD1602显示英文程序 { Lcd_init();if (i==0){ for (n=0;n<13;n++){ Write_data(str0[...

怎样用c语言编写一个程序用来输出正弦函数值
include<stdio.h> include<math.h> main(){ int x;double y;printf("input x:");scanf("%d",&x);y=sin(x*3.14\/180);printf("%lf",y);} 上面说的都不对,应该是这样的sin(x*3.14\/180),你自己琢磨一下

如何在C语言中解决正弦或余弦函数的表示方法
库内部函数申明:1:double sin(double x);2:double cos(double x);\/\/\/ \/\/自己实现(简单检验):include<stdio.h> include<math.h> void main(void){ double x1=35.77;double x2=65.44;printf("sin(x1)=%f,sin(x2)=%f\\n",sin(x1),sin(x2));} ...

C语言正弦函数
径度与角度不同 建议修改如下:include <stdio.h> include <math.h> define PI 3.14159265 void main(){ float x;double y;printf("入角度值:\\n");scanf("%f",&x);y=sin(x*PI\/180);printf("sin(%f°)=%2lf\\n",x,y);}

用C语言实现三角函数及反三角函数怎么实现
include<stdio.h> include <math.h> void main(){ double a,b,c,d;scanf("%f,%f",&b,&d);a=sin(b);\/*这是三角函数*\/ c=asin(d);\/*这是反三角函数*\/ printf("sin(b)=%f,asin(d)=%d",a,c);} 其他三角函数如cos(x)什么的,可以直接用,前提有math.h的头文件 ...

如何用C语言求正弦函数,要求精确到小数点后六位
"求sin(x)\\n请输入x(弧度):");scanf("%lf",&x); s1=x;do {s+=s1; \/*s1为中间变量*\/s1=-s1*x*x\/(n+1)\/(n+2); n+=2;} while (fabs(s1)>=e); \/*fabs为对实数求绝对值的函数*\/printf("x=%lf\\nsin(x)=%lf\\n",x,s);}运行结果 ...

相似回答