c语言 根据泰勒公式求sinx的近似值

小生刚学到循环结构...
请大家帮我挑错...多谢...

根据泰勒公式求sinx的近似值

#include<stdio.h>
#include<math.h>
int main()
{
int n,i,j;
double x,y;
y=0;
n=1;
scanf("%lf",&x);
while(n<=10){
i=1;
j=1;
while(i<=(2*n-1)){
j=j*i;
i=i++;
}
y=y+(pow(-1,n-1)*pow(x,2*n-1)/j);
n=n++;
}
printf("sin(x)=%.2f\n",y);
return 0;
}

您好,是这样的:泰勒展开是这个: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();
}追问

感谢您的解答!我们要求的是n=10,既算到19的阶乘哪一项就可以了,您能帮我挑挑错误吗?多谢

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-11

#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();
}


c语言 根据泰勒公式求sinx的近似值
printf("sinx=x-x^3\/3!+x^5\/5!-..");printf("sinx=%f",mynum);getch();}

c语言求泰勒公式sinx近似值
你的程序错误太多。直接给出按泰勒公式展开求sinx近似值的程序。include <stdio.h>#include <math.h>int main(){double i,x,k,s=0;scanf("%lf",&x);k=x;for(i=1;abs(k)>=0.0000001;i++){s+=k;k*=-x*x\/(i*2*(i*2+1));}printf("%.3lf",s);return 0;}\/\/运行示例截...

C++编程4. 【问题描述】根据泰勒公式,求sinx的值。
include <stdio.h>int main(){int i;double x,r = 0, item = 0;scanf("%lf",&x);for(i = 1, item = x; i <= 10; i ++){if(i != 1) item = item * x * x * -1 \/ (2*i-1)\/(2*i-2);r += item;}printf("sin(x)=%.2lf\\n", r);} ...

C++编程【问题描述】根据泰勒公式,求sinx的值。
double x;cout<<"请输入x值:";cin>>x;cout<<"sin(x)="<<sin(x);return 0;}

正弦函数sinx的这个近似式怎么得到的?
这个近似式由泰勒展开式定义。根据泰勒公式可知:泰勒公式 公式符号定义 有了泰勒公式后,我们就可以对存在n阶导数的函数f(x)进行展开,即近似表达。正弦函数sinx的近似式,就是取在x0=0处不同阶数导数的展开式进行描述 最终的结果就如上图所示 ...

sinX的泰勒公式展开式用C语言怎么编写?非常急
你这个要求最后一项的近似值的精度...我给你的是10的-5次方的精度。include<math.h> include<stdio.h> main(){ int n=1,count=1;float x;double sum ,term;printf("input x:");scanf("%f",&x);sum=x;term=x;do { term=-term*x*x\/((n+1)*(n+2));sum=sum+term;n=n+2;co...

用泰勒公式求sin18°的近似值,要求误差不超过10^(-4)?
18°=π\/10 设f(x)=sinx,在x=0附近taylor展开 f'(0)=cosx=1 f''(0)=-sinx=0 f³(0)=-cosx=-1 f(4)(0)=sinx=0 可以看到,所有偶数阶导数值均为0,而奇数阶导数值交替为正负1。f(x)=1-x^3\/3!+x^5\/5!-x^7\/7!+x^9\/9!+O(x^11)取前两项就够了,sin18°=...

泰勒公式求∫(0→1)(sinx\/x)dx求近似值,谁会的教教,
在(0,1)之间sinx的泰勒展开sinx = x - x^3\/3!+x^5\/5!+...+(-1)^(k-1)*x^(2k-1)\/(2k-1)!+...sinx\/x=1-x^2\/3!+x^4\/5!+...+(-1)^(k-1)x^(2k-2)\/(2k-1)!+...=> ∫(0→1)(sinx\/x)dx = (0->1)(x-x^3\/(3*3!)+x^5\/(5*5!)+...+(-1)...

sinx的泰勒公式是什么?
是tanx = x+ (1\/3)x^3 +...不同,sinx是:sinx = x-(1\/6)x^3+...常用泰勒展开式e^x = 1+x+x^2\/2!+x^3\/3!+……+x^n\/n!+……ln(1+x)=x-x^2\/2+x^3\/3-……+(-1)^(k-1)*(x^k)\/k + ……(|x|<1)sin x = x-x^3\/3!+x^5\/5!-……+(-1)^(k...

c语言怎么写泰勒公式
泰勒公式是一种用于逼近函数值的数学工具,尤其适用于在某一点附近计算复杂函数的值。在C语言编程中,实现泰勒公式的方法是定义一个函数,根据特定的函数和点来进行逼近。泰勒公式的基础在于将函数展开成多项式的形式,其中每一项都包含了函数的导数信息。要实现这个过程,首先需要确定目标函数以及进行逼近的点...

相似回答