1. 问题转化
求 a,本质上不是”开方运算”,而是寻找一个数 x,使得:
x2=a
即这是一个非线性方程求根问题,可以统一写成:
f(x)=x2−a=0
这样做的意义在于:把”代数运算问题”转化为”函数零点问题”,从而可以使用数值方法处理。
2. 套牛顿迭代公式
牛顿法的核心来自一阶泰勒展开:
f(x)≈f(xn)+f′(xn)(x−xn)
用直线近似曲线,并令近似为零:
f(xn)+f′(xn)(xn+1−xn)=0
整理得到:
xn+1=xn−f′(xn)f(xn)
对于本题:
- f(x)=x2−a
- f′(x)=2x
代入:
xn+1=xn−2xnxn2−a
化简得到标准迭代形式:
xn+1=21(xn+xna)
3. 手算示例:2
Step 0:初值选择
取 x0=1。
原因:2≈1.4,初值只需”在附近即可”,牛顿法是局部收敛方法。
Step 1:第一次迭代(粗修正)
x1=21(1+12)=23=1.5
此时结果已从 1→1.5,开始逼近真实值。
Step 2:误差快速压缩
x2=21(1.5+1.52)
先算倒数项:
1.52=1.3333
再平均:
x2=21(2.8333)=1.4167
误差已明显缩小。
Step 3:进入高精度阶段
x3=21(1.4167+1.41672)
1.41672≈1.4118
x3≈1.4142
此时已达到四位小数精度。
4. 收敛结果
2≈1.4142
牛顿法的关键特征:
误差不是线性减少,而是”平方级下降”。
5. 手算规律总结
每一步迭代的本质:
x←2x+a/x
可以理解为:用”当前估计值”和”反推修正值”做平均。
- x:当前猜测
- a/x:从方程反推的修正方向
这种”对称平均”结构是收敛稳定性的关键来源。
6. 为什么收敛很快
牛顿法在根附近满足:
en+1≈C⋅en2
其中:
这意味着误差会被”平方压缩”,例如 0.1→0.01→0.0001。
因此只需要 2∼4 次迭代即可达到高精度。
7. 总结
牛顿法开平方的本质:
用函数 x2−a 的切线不断逼近零点,使问题从”非线性方程”转化为”线性局部修正”。
Discussion
Comments
Share questions, corrections, or extra notes about this post.