求sinx的近似值程序哪错了。已知sinx约等于x-x^3/3!+x^5/5!-x^7/7!…

要求精度为10^-6 #include<stdio.h> #include<math.h> int main() { int x,n,y,i,s,j; float sum,sinx,temp; scanf("%d",&x); j=-1; s=1; sum=x; for (n=1;fabs(sum-sin(x))>10e-6;n++) { y=2*n+1; for (i=1;i<=y;i++) { s*=i; } temp=j*pow(x,y)/s; sum+=temp; j=-j; } printf("%f",sum); }

第1个回答  2020-04-29
几个问题。
1.x是整数?
2.sinx没用吧
3.10^-6应该用double了吧
其实还是比较简单,不过有些需要注意的地方
#include<stdio.h>
#include<math.h>
int
main()
{
int
n,y,i,j;//x是整数?
double
sum,x;
double
temp=1.0;
double
e=0.000001;
double
s=1.0;//发现整形不够用
scanf("%lf",&x);
j=-1;
sum=x;
for
(n=1;fabs(temp)
>
e;n++)
{
s
=
s*2*n*(2*n+1);//求阶乘没必要每次都算,可以用前一步的结果
temp=1.0*j*pow(x,2*n+1)/s;//使结果为double型
sum+=temp;
j*=-1;
}
printf("%f",sum);
}

...的近似值程序哪错了。已知sinx约等于x-x^3\/3!+x^5\/5!-x^7\/7!…
1.x是整数?2.sinx没用吧 3.10^-6应该用double了吧 其实还是比较简单,不过有些需要注意的地方 include<stdio.h> include<math.h> int main(){ int n,y,i,j;\/\/x是整数?double sum,x;double temp=1.0;double e=0.000001;double s=1.0;\/\/发现整形不够用 scanf("%lf",&x);j=-1...

...的近似值程序哪错了。已知sinx约等于x-x^3\/3!+x^5\/5!-x^7\/7!…
你这个公式只是在x=0处的泰勒级数展开式,只能x在(-1,+1)内才能收敛。sin函数是周期函数,周期为2pi,如x=(0,2*pi),实在想要自己编的话应该在一个周期内分几个点,在这几个点处利用泰勒公式,点与点之间的距离应该小于2,并且越小越好,然后在其他的点处套用这个周期的。。

C语言计算sinx的近似值
\/*sinx=x-x^3\/3!+x^5\/5-x^7\/7!...*\/ include<stdio.h> include<math.h> define ACCURARY 0.00000001 main(){ int i=1,j=1,k,n=1,x;printf("sinx=x-x^3\/3!+x^5\/5-x^7\/7!...\\n请输入一个x\\n");scanf("%d",&x);double sinx=0;for(i=1;fabs(t)>=ACCURARY;i...

sinx的近似值是多少?
无法求得精确值。sin x = x-x^3\/3!+x^5\/5!-...(-1)^(k-1)*x^(2k-1)\/(2k-1)!+Rn(x)(-∞<x<∞)所以:sinx\/x=1-x^2\/3!+x^4\/5!-...(-1)^(k-1)*x^(2k-2)\/(2k-1)!+Rn(x)(-∞<x<∞)则∫sinx\/xdx =x-x^3\/(3*3!)+x^5\/(5*5!)-...(-1)^(...

c语言 根据泰勒公式求sinx的近似值
您好,是这样的:泰勒展开是这个: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++...

sinx泰勒公式展开
sinx泰勒公式展开为:sinx = x - x^3\/3! + x^5\/5! - x^7\/7! + ...这一公式是通过泰勒多项式来逼近正弦函数得到的。泰勒公式是分析数学中一种用于近似函数展开的强大工具,尤其适用于在特定点附近对函数进行近似。在sinx的泰勒展开式中,我们以x为中心点进行展开,得到一系列包含x的高阶项...

sinx泰勒展开式是什么?
sinx泰勒展开式是:sinx = x - x^3\/3! + x^5\/5! - x^7\/7! + ...泰勒展开式是一种用多项式来近似表示函数的数学方法。对于正弦函数sinx,其泰勒展开式可以在x=0处展开,即用一系列三角函数的幂级数来逼近sinx的值。具体的展开形式就是将sinx表示为多项式的形式,每一项都是一个关于x的幂...

sinx的泰勒展开式是什么?
sinx的泰勒展开式是:sinx = x - x^3\/3! + x^5\/5! - x^7\/7! + ...泰勒展开式是一种用多项式来近似表示一个函数的工具。对于sinx这个函数,其泰勒展开式是通过麦克劳林公式进行展开的。泰勒展开式的核心思想是用一个多项式来逼近一个函数。对于sinx,我们可以在x=0处进行泰勒展开,因为sin0...

泰勒公式的证明步骤?
根据导数表得:f(x)=sinx,f'(x)=cosx,f''(x)=-sinx,f'''(x)=-cosx,f⑷(x)=sinx……于是得出了周期规律。分别算出f(0)=0,f'(0)=1,f''(x)=0,f'''(0)=-1,f⑷=0……最后可得:sinx=x-x^3\/3!+x^5\/5!-x^7\/7!+x^9\/9!-……(这里就写成无穷级数的形式了。)...

怎么用利用台劳级数求SinX的近似值。
sin x = x-x^3\/3!+x^5\/5!-...(-1)k-1*x^(2k-1)\/(2k-1)!+... (-∞<x<∞)

相似回答
大家正在搜