求解的迭代公式一般用牛顿法来得到,将作为方程的大于的实根,利用牛顿切线法很容易得到迭代公式。 上的点 的处切线与轴的交点的横坐标就是 ,经过简单的计算就能得到:
。
在康奈尔大学的一门课程里我看到了一个利用“让长方形变得更像正方形”的思路得到这个迭代公式的方法,挺有趣的,也很容易懂,分享给大家。考虑一个面积是的正方形,那么它的边长就是,如果一个面积是的长方形能让它变得更像正方形,那么它的边长就接近了。怎么做呢,可以用求长方形长与宽的算数平均数来代替原来的长,因为平均数是介于长于宽之间的,更新后的长方形的宽自然就是了。反复这么操作下去,长方形的长与宽会越来越接近,都趋近于。
上面操作中每次更新长方形长的迭代公式:
和牛顿法得到的迭代公式相同,是不是很有趣呢。
我把这个方法也写在了知乎这个问题下面,[知乎]如何通俗易懂地讲解牛顿迭代法求开方?数值分析?。
最后附上两张康奈尔大学的这个课件,来自CS1112,这门课叫“Introduction to Computing using Matlab”,用的教材的中文版是《面向计算科学与工程的Matlab编程》,很不错的书呢,是问题引导式的讲法,比较有趣。