永发信息网

怎样用java通过泰勒展开求sinx

答案:2  悬赏:80  手机版
解决时间 2021-02-20 08:11
怎样用java通过泰勒展开求sinx
最佳答案
根本性的逻辑问题。
你也看到pi定义为使sin(x) = 0的最小正实数,
要从这个角度逼近Pi的话,应该尝试代入一系列递增的正实数x,直到sin(x)很小.
但是你只在main函数里取了x = 1,之后x的值就没变过。
即便条件满足了(其实是不可能的),也只能输出x = 1。

幂级数是用来计算sin(x)的,随着n的增大精度提高。
变量dRt的意义是级数的部分和,是随着n的增大而趋近sin(x)的。
但在dRt还没有充分接近sin(x)的时候,abs(dRt)lt;pow(10,-80)这个判断没有任何意义。

要按这个思路编的话,可以写一个用幂级数求sin(x)的函数(比如叫psin(x))。
然后在main里用二分法求x,直到psin(x)充分小。
不过因为需要多次计算psin(x),这种方法的效率很低。
全部回答
您好,是这样的:泰勒展开是这个: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(); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
上火引起的牙疼喝什么茶比较好
【江南style怎么读】江南style的style怎么读
废旧酒瓶子还能做什么用
我家是88年买的土地,94年建的房子,到现在为
滨江生态公园我想知道这个在什么地方
高速电机为什么使用专用变频器
红花岗区遵义维多利亚大酒店(环城路)哪位知道
Make a sentence according to the given wor
宏远装饰材料城在什么地方啊,我要过去处理事
濮阳华龙区东北庄张利娜个人资料
双查都查什么
体重和身高是否成正比例关系?
季家饭庄地址在哪,我要去那里办事
农产品流通渠道包括_____。A.生产者B.消费者C
湛江火车站周边有什么汽车站可以到北海的车?
推荐资讯
喜运来汽车服务中心地址有知道的么?有点事想
乳腺癌一定会有肿块吗?
1973年六月初八什么星座
下列属于矛盾分析法的叙述有 [ ]
国际广场·万和城C区这个地址在什么地方,我
苹果手机appstore的更新提示怎么去掉
非凡英语学校合意分校地址在什么地方,想过去
中国信合五里信用社(王府街道办事处)地址在什
大渡口新生综合加工厂这个地址在什么地方,我
如何成为一个人人都称赞的人 成为人人都认为
老是感觉有点低烧是怎么回事
3本4年读下来要花多少钱/?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?