牛顿法与本页画面
牛顿法用来逼近f的根,也就是满足的数r,做法是反复同一步。在当前的猜测值处,作图像在的切线。在附近切线贴着曲线,所以切线和x轴的交点,比更接近曲线和x轴的交点。解就得到下一个猜测值。图上的每一步,先沿淡虚线从走到曲线上,再沿切线走到x轴。
记误差。若r是单根(),f的二阶导数连续,把这一步做泰勒展开,在已经靠近r时得到。误差平方一次,正确的位数大约翻一倍。x² − 2从x₀ = 1出发,误差依次是0.086、0.0025、2.1 × 10⁻⁶、1.6 × 10⁻¹²,读数条上的稳定在附近。离根远时没有这样的保证。若,平方项消失,收敛还要更快:arctan x的误差约为,每步立方一次。
这一步要求。水平的切线和x轴不相交,几乎水平的切线交得很远:x² − 2从0.1出发,第一步落在10.05。牛顿法失败时也不一定越跳越远。x³ − 2x + 2在0处的切线落在1,在1处的切线又落回0,0附近的起点会被拉进这个循环:数列有界,却没有极限。arctan x有一个分界α ≈ 1.3917,满足。|x₀| < α的起点会收敛,超过它的起点每一步都落到另一边更远处。“所有起点”按每个起点的去向给x轴上色。x³ − 2x + 2在[−3, 3]里约有五分之一最后陷进循环,其中有许多窄段,越靠近两个水平切点越密。把起点换成复数,这些窄段就成了牛顿分形。
在重根处也等于0,平方的效果没有了。的一步恰好是,误差每步减半。这是线性收敛,大约3.3步才多一位小数。在m重根附近,比值趋于。
值得注意
- 牛顿在1669年讨论过方程。用今天的牛顿法从2出发,依次得到2.1、2.0945681、2.0945514817,三步后小数点后九位已经正确。
- 对,一步是:这就是古老的开平方法,把猜测值和a除以它的商取平均。
操作
- 沿x轴拖动蓝色的点x₀,或在x轴上按一下把它放到那里。它会吸住0.5的整数倍。
- 设定n,图上就画出前n步;按n → ∞则一步一步走到n = 10。记录屏留下每一步的xₙ和误差,到根、碰到水平切线或超过10⁶时提前停下。
- 打开“所有起点”,按每个起点的去向给x轴上色。