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


