如何求一个数的平方根? - 一点点算法的文章 - 知乎
牛顿迭代法的思路是通过切线方程与x轴的 交点,逐渐迭代收敛到一个数的平方根。
我们要求m的平方根,构造函数
用图1进行简单说明:
初始化选A点,求切线,与x轴交点 A′ ,改点横坐标 对应B点,再求切线,与x轴交点 B′ ,之后一直进行,会迭代到曲线与x轴的交点。
代码
def my_sqrt2(x):
x0=x
while abs(x0*x0-x)>0.0000000000001:
x1=0.5*(x0+x/x0)
x0=x1
return x0
手解详情版