用C语言实现对y=cosx和y=sinx进行taylor展开,并观察不同阶下的逼近效果.
答案:2 悬赏:30
解决时间 2021-01-31 15:30
- 提问者网友:饮鸿
- 2021-01-30 23:29
用C语言实现对y=cosx和y=sinx进行taylor展开,并观察不同阶下的逼近效果.
最佳答案
- 二级知识专家网友:零负荷的放任
- 2021-01-31 01:06
y=sinx的taylor展开如下,y=cosx可以仿照写出.
#include"stdio.h"
#include"math.h"
main()
{
int t=1,i=1,j;
double h,a=1,b,x,s=0,q,m;
printf("请从键盘输入一个数:");
scanf("%lf",&x);
q=sin(x);
m=x;
h=x;
while(fabs(h)>=1e-7)
{
a=a*m;
for(b=1,j=1;j<=i;j++)
{b=b*j;}
h=t*(a/b);
s=s+h;
i=i+2;
m=x*x;
t=-t;
}
printf("sin%lf的值是%.6lf\n",x,s);
printf("sin%lf=%lf\n",x,q);
}
#include"stdio.h"
#include"math.h"
main()
{
int t=1,i=1,j;
double h,a=1,b,x,s=0,q,m;
printf("请从键盘输入一个数:");
scanf("%lf",&x);
q=sin(x);
m=x;
h=x;
while(fabs(h)>=1e-7)
{
a=a*m;
for(b=1,j=1;j<=i;j++)
{b=b*j;}
h=t*(a/b);
s=s+h;
i=i+2;
m=x*x;
t=-t;
}
printf("sin%lf的值是%.6lf\n",x,s);
printf("sin%lf=%lf\n",x,q);
}
全部回答
- 1楼网友:請叫我丶偏執狂
- 2021-01-31 01:55
首先要包含头文件#include
然后定义两个float或者double类型的变量x,y
y = sin(x) + cos(x);
谢谢采纳
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯