<<主页
解非线性方程组的牛顿法
本模块演示用牛顿法求解一个二维非线性方程组 f (x, y) = 0. 给定一个近似解,牛顿法基于在当前解处进行局部线性化的原理, 通过计算Jacobian矩阵形成一个线性方程组,求解它便得到生成新的近似解所需的增量步长. 这个过程重复进行,通常很快就能收敛.
使用者可以选择一个预设的例子问题或者自行输入函数f1(x, y) 及 f2(x, y), 也可以输入初始解(x, y) (在右下角处, 输入后再点击"Refresh"按钮)或者使用默认的初始解. 然后通过不断点击图右侧的"NEXT"按钮或高亮显示的步骤可一步一步地执行牛顿法. 图中用圆点标出当前解(x, y)的位置, 并将它们的数值显示在下面的表格中. 在牛顿法的每个迭代步,通过求解线性化得到线性方程组J s = − f, 其中J 是f的Jacobian矩阵, 得到求下一个近似解所需的增量步长s, 这样不断地重复下去. 如果初始解足够接近精确解,牛顿法一定收敛,并且能够达到平方的收敛速度.
注意:本模块绘图区上方的几个按钮提供了绘图区的更多功能的设置, 与本模块无关, 因此不要做任何修改.
参考内容: 课本第2.7.1节.