清华大学课程“数值分析”(No.20240033)
交互演示网站

<<主页

牛顿法

本模块演示用牛顿法求解一维非线性方程f(x) = 0. 对于一个已知的近似解x, 基于当前点处的局部线性化(一维空间的切线), 牛顿法计算xf(x)⁄ f′(x)得到一个新的近似解. 这个过程重复进行,通常很快就能收敛.

使用者可以选择一个预设的例子问题或者自行输入函数f(x)的表达式, 也可以输入初始解(在右下角"x0: "处)或者使用默认的初始解. 若自行输入数据,则需点击"Refresh"按钮, 重新绘制坐标系和函数曲线. 然后通过不断点击图右侧的"NEXT"按钮或高亮显示的步骤可一步一步地执行牛顿法. 图中用圆点动态地标出当前的x 和函数值f(x), 它们的数值也将显示在下面的表格中. 在牛顿法的每个迭代步,也将当前点处的近似切线(tangent line)在画中绘出,它与 x 轴的交点将作为下一个近似解,这样不断地重复下去. 如果初始解足够接近精确解,牛顿法一定收敛,并且能够达到平方的收敛速度.

Example 1 展示牛顿法快速求解一个包含多项式和三角函数的和的方程. Example 2 展示当初始解取得远离精确解时,牛顿法无法收敛的例子. 当初始解x0 = 1, 牛顿法得到的解一直在x = 1x = −1之间交替变化.

操作与思考: 对于例子1, 看看当初始解取为1时, 会发生什么情况? 可能取到某个初始值, 使牛顿法失败吗?

参考内容: 课本第2.4节.