正弦函数sinx的这些帕德逼近近似式怎么证明? 正弦函数y sinx的性质
更新时间:2021-11-14 11:02:27 • 作者:WILLIE •阅读 4836
怎么用利用台劳级数求SinX的近似值。
sin x = x-x^3/3!+x^5/5!-...(-1)k-1*x^(2k-1)/(2k-1)!+... (-∞<x<∞)
c语言 求sinx的近似值,用泰勒公式,精确到10e-6.
泰勒展开是这个:sinx=x-x^3/3!+x^5/5!-..
下面给出算20项的程序。
#include"math.h"
#include"stdio.h"
void main()
{
double x=0,y=0,z=1,s=1,mynum=0;
int i=1 ,j=0, k=1;
scanf("x=%f",&x);
for(i=1;i<20;i++)
z=1;k=1;
for(j=1;j<=2*i-1;j++)
{
z=x*z;//算j次方
k=k*j;//算阶乘}
s=-j*pow(-1,i);//pow(a,b)是a的b次方
z=z*s/k;
mymun=mynum+z;
}
printf("sinx=x-x^3/3!+x^5/5!-..");
printf("sinx=%f",mynum);
getch();
}
求sinx的程序近似值怎么写,求大神赐教
改为:
cout<<sinx<<endl;就行了
已知求正弦 sin(x) 的近似值的多项式公式为:
void main()
{double x,z=1,o=0,i=0,c=1;//阶乘用double
int a=1,b,d=0,f=-1;
printf("请输入x的值");
scanf("%lf",&x);
o=x; //初始化为第一项
for(a=1;z>1.0/100000||z<-1.0/100000;a++)//用1.0
{b=2*a-1;
c=1;//每次阶乘初始化为1
for(;b>0;b=b-1)
{c=c*b;};
f=-f;//做一次即可。
z=f*pow(x,b)/c;
o=o+z;
d++;
};
printf("sin(x)=%lf\n",o);
printf("此时累加了%d项\n",d);
}