数值分析
Newton 方法:沿着切线寻找答案
从一个简单的求根问题出发,理解 Newton 迭代的几何意义与收敛条件。
2026-09-17 · 5 分钟阅读 · 示例手记
从切线开始
假设我们要解 。在当前近似值 处,用切线近似曲线,再把切线与横轴的交点作为下一次近似。
这就是 Newton 迭代。它把局部的一阶信息,转化为一次向根靠近的行动。
用它计算平方根
令 ,迭代可以写成:
从 出发,前几步约为 1.5、1.416667、1.414216,逐渐接近 。
def sqrt_two(x=1.0, tol=1e-12, max_iter=100):
for _ in range(max_iter):
next_x = 0.5 * (x + 2.0 / x)
if abs(next_x - x) < tol:
return next_x
x = next_x
raise RuntimeError("迭代次数超过限制")
快速收敛的前提
对于足够光滑的函数,如果根是单根,且初值足够靠近根,Newton 方法通常具有局部二次收敛性。这不意味着任意初值都能成功:导数太小、初值太远,都可能导致迭代失效。
实际计算中,应同时检查残差、步长与最大迭代次数,而不只观察一个停止条件。
留给下一次实验
比较不同初值的迭代轨迹,并尝试加入阻尼或区间保护。快速的方法,也需要可靠的边界。