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

[擂台] 高精度计算sqrt(2)

[复制链接]
 楼主| 发表于 2008-2-24 20:38:47 | 显示全部楼层
今晚抽空写了一下程序,经测试发现效果并不理想,不及 liangbch 的快!就不帖出来献丑了。

原帖由 liangbch 于 2008-2-22 10:36 发表
sqrt(a) 算法:

step1: 得到一个 1/sqrt(a) 近似值 x0
step2: x[n+1]= 3/2*x[n] + a/2 x[n]^3
    另一个形式:( x[n+1]= x[n] + x[n] ( 1/2- a/2 *x[n]^2)
不断计算step2,x[n+1]精度逐步提高,每次迭代精度提高一倍。
最后:计算 x[n+1]* a 得到 sqrt(a) ...


上述算法,即用传统的牛顿迭代法确实比较凑效,
尤其是收尾步骤,因为a是个小整数,所以很快就完成;相对其它算法要简单很多。

再思考几天,看是否有灵感来帮忙。。。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-8-8 03:27:40 | 显示全部楼层
谢谢
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-8-8 12:03:46 | 显示全部楼层


翻晒旧货了
四次迭代算法应该能一次得到四倍精度
但基于额外开销考虑
应该不很快
甚至慢于二次迭代

可惜对应的公式找不到了
是借的图书室一本旧书上的
后悔还掉了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-8-8 15:31:41 | 显示全部楼层
原帖由 无心人 于 2008-8-8 12:03 发表
是借的图书室一本旧书上的
后悔还掉了


看样子你想长期据为己有?

不过,有些书可能只有在某些主人那里才能真正发挥作用。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-8-8 16:07:48 | 显示全部楼层
是的
那书不错
在我这里,一个中学图书馆
也就我想看,也就我能看懂
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-4-25 02:01 , Processed in 0.042648 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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