| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2182 人关注过本帖
标题:cos(x)的值如何确定为e-6的精度?
只看楼主 加入收藏
willstier
Rank: 2
等 级:论坛游民
帖 子:40
专家分:60
注 册:2009-8-5
结帖率:85.71%
收藏
 问题点数:0 回复次数:8 
cos(x)的值如何确定为e-6的精度?
计算cos(x)=1-(x2/2!)+x4/4!-x6/6!+x8/8!......,其中x为弧度,要求计算精度为10-6.

x2,x4,x6,x8中的2,4,6,8是指数。

我想通过计算类似于:
func(i+1)-func(i)<0.000001得到func的精度,但是结果不对。
搜索更多相关主题的帖子: 精度 cos 
2009-11-24 20:29
willstier
Rank: 2
等 级:论坛游民
帖 子:40
专家分:60
注 册:2009-8-5
收藏
得分:0 
自己解决了。晕死。

如果func的精度达到了0.000001,那么小数部分,前六位都应该是相同的。
也就是说如果func的精度达不到6位的时候,那么func(i)和func(i+1)前六位的数字应该是不同的。

汗!是不是麻烦了点?

帮助别人就是帮助自己,回答错误,也是发现自己的错误。
2009-11-25 17:14
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
我知道怎么高效的 实现 cos()...等三角函数, 只是我们上网都是受监视的....

我就是真命天子,顺我者生,逆我者死!
2009-11-25 17:36
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
回复 3楼 BlueGuy
说...

我可好玩啦...不信你玩玩^_^
2009-11-25 18:02
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
以下是引用willstier在2009-11-24 20:29:47的发言:

我想通过计算类似于:
func(i+1)-func(i)<0.000001得到func的精度,但是结果不对。
这样不行,比如 func(i+1) 是 0.3,func(i) 是 0.4 是不是满足:func(i+1)-func(i)<0.000001 ?
得它们的绝对值之差小于才行。
2009-11-25 18:10
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
回复 3楼 BlueGuy
你上网的条件什么时候变得这么艰苦了
2009-11-25 18:11
hoho568
Rank: 5Rank: 5
等 级:职业侠客
帖 子:101
专家分:378
注 册:2009-7-14
收藏
得分:0 
如楼上所言。拉了绝对值吧。。
2009-11-25 18:13
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
回复 4楼 pgy
我也略知一些算三角函数的方法。
如果,你用的是intel的CPU,那么它的浮点处理单元(FPU)直接支持一些三角函数的计算。应该想到使用硬件完成计算,这相当高效。
如果要用编程的方法计算,可以先用诱导公式把 x 化到 (-π/4, +π/4) 上去,然后用0点处的泰勒展式。其实就是楼主说的那个公式,但用诱导公式化到这个区间之后,就可以用拉格朗日余项估计(先验)误差了。那个展式,我印象里只用展到 6、7 项左右就有足够的精度了,不用循环。
2009-11-25 18:25
willstier
Rank: 2
等 级:论坛游民
帖 子:40
专家分:60
注 册:2009-8-5
收藏
得分:0 
回复 5楼 pangding
昏死,居然把绝对值忘记了,我说怎么实现不了的。

帮助别人就是帮助自己,回答错误,也是发现自己的错误。
2009-11-25 18:32
快速回复:cos(x)的值如何确定为e-6的精度?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027118 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved