重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
泰勒展开是这个:sinx=x-x^3/3!+x^5/5!-..
金堂县网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。成都创新互联于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
下面给出算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;i20;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();
}
楼上的算法不对,不是按泰勒展开算的。
#include stdio.h
#include math.h
int main()
{
double i,x,k=-1,s=0;
scanf("%lf",x);
for(i=1;abs(k)=1e-4;i++)
{k*=-x/i;s+=k;}
printf("%.2f",s);
return 0;
}
这是e的x次方的泰勒展开式,利用它可以计算e^x,你的看不懂,不知是要这个吗
#includestdio.h
#includemath.h
void main()
{
float x=0,y=1,a;
int i,j=1,k;
scanf("%f",a);
for(i=1;;i++)
{
y=y*a;
j=j*i;
if(fabs(y/j)0.00001)
{
break;
}
}
for(k=i;k=1;k--)
{
if(a!=0)
{
x=x+(y/a)/(j/k);
y=y/a;
j=j/k;
}
}
printf("%f",x);
}
#include stdio.h
void main()
{
int i,n;
double x,k=1,m=1,s=1;
scanf("%d%lf",n,x);
for(i=1;i=n;i++)
{
k*=x;
m*=i;
s+=k/m;
}
printf("Fn(%.1f)=%f",x,s);
}
运行示例:
这个示例就是求e的近似值。
程序还是这个程序,输入n的值,再输入x的值0,结果为1