找回密码
 欢迎注册
楼主: abiao

[原创] 我想的圆周率计算法,1万位十进制精度计算时间在数秒至数十秒左右

[复制链接]
发表于 2010-8-19 12:49:01 | 显示全部楼层
x+sin(x)在Pi处泰勒展开,就可以知道楼主的迭代思想了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-8-19 12:57:36 | 显示全部楼层
有点乱,不知道是先有鸡还是先有蛋
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-8-19 13:50:08 | 显示全部楼层
14# gxqcn

sin(x)是可以并行计算的,我现在就是双线程计算
sin x = x-x^3/3!+x^5/5!-...(-1)k-1*x2k-1/(2k-1)!+... (-∞
abiao 发表于 2010-8-18 19:52

你要算到Pi的十万位的话,你的Sin(x)级数就应该至少 算到 406859次幂。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-8-19 20:22:06 | 显示全部楼层
我是判断 叠加上去的数小到一定程度便终止循环,也就是说超过精度范围了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-8-20 10:36:55 | 显示全部楼层
24# abiao

只能说 你的算法是可行的,但是,有很多的算法比你的更高效。
http://en.wikipedia.org/wiki/Numerical_approximations_of_%CF%80
比如,这个收敛速度就奇快:
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-8-20 10:40:04 | 显示全部楼层
还有不少算法,计算指定的精度,不需要判断,直接计算到指定的项
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2010-8-20 19:32:34 | 显示全部楼层
我奇怪的是这么简单的公式,效率也不低,为什么没人发现?尽去整那些复杂的公式?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-8-20 20:41:49 | 显示全部楼层
我是判断 叠加上去的数小到一定程度便终止循环,也就是说超过精度范围了
abiao 发表于 2010-8-19 20:22

x+ sinx的收敛速度的确挺快的,并不需要计算多少次。
我实际验算了一下,初始值x=3,精度设定为1万位,10万位,都只需迭代计算sin十次,即可达到对应的精度
======================================
至于sin的计算,这个可以直接用斯特林公式算出 指定精度位数的sin值需要计算到多少项,可以免去判断。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-8-21 10:37:14 | 显示全部楼层
关键是如何高效的计算sin(x),我在10楼就提出这个问题,到楼主并没有给出令人信服的解答。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-8-22 10:51:38 | 显示全部楼层
29# liangbch
楼主的思路好像说了:
就是sin级数展开,判断 叠加上去的数小到一定程度便终止循环。
============================================
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-26 18:10 , Processed in 0.066877 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表