原帖由 liangbch 于 2008-2-22 10:36 发表 http://bbs.emath.ac.cn/images/common/back.gif
sqrt(a) 算法:
step1: 得到一个 1/sqrt(a) 近似值 x0
step2: x= 3/2*x + a/2 x^3
另一个形式:( x= x + x ( 1/2- a/2 *x^2)
不断计算step2,x精度逐步提高,每次迭代精度提高一倍。
最后:计算 x* a 得到 sqrt(a) ...
上述算法,即用传统的牛顿迭代法确实比较凑效,
尤其是收尾步骤,因为a是个小整数,所以很快就完成;相对其它算法要简单很多。
再思考几天,看是否有灵感来帮忙。。。 谢谢 :lol
翻晒旧货了
四次迭代算法应该能一次得到四倍精度
但基于额外开销考虑
应该不很快
甚至慢于二次迭代
可惜对应的公式找不到了
是借的图书室一本旧书上的
后悔还掉了
哎 原帖由 无心人 于 2008-8-8 12:03 发表 http://bbs.emath.ac.cn/images/common/back.gif
是借的图书室一本旧书上的
后悔还掉了
看样子你想长期据为己有?:lol
不过,有些书可能只有在某些主人那里才能真正发挥作用。:D 是的
那书不错
在我这里,一个中学图书馆
也就我想看,也就我能看懂
哎
页:
1
[2]