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

<<主页

不动点迭代法

这个模块演示寻找一维非线性函数g(x)的不动点的迭代过程. 首先在一个选定的初始点计算该函数, 然后反复将它的计算结果作为输入带入函数, 直到函数输入值与输出结果的差小到满意的程度.

使用者可以选择预设的四个函数g(x)中的任一个进行演示. 在绘图区中点击鼠标, 或在右下角文本框中输入可设定任意的初始值x (图中用红点标出). 注意, 设定初始的x值后可能需要点击"Refresh"按钮重新绘图. 然后通过不断点击图右侧的"NEXT"按钮或高亮显示的步骤可一步一步地进行不动点迭代计算. 图中用圆点动态地标出x 和函数值g(x), 它们的数值也将显示在下面的表格中(h表示g(x)和x的差值). 这个迭代过程可能会收敛到不动点x = g(x), 即曲线g(x) 和直线y = x的交点, 但也可能不收敛, 收敛速度可能较慢(线性收敛)也可能较快(平方收敛). 所给的四个例子是等价于方程f(x) = x2x − 2 = 0的不同的迭代公式, 它们分别演示了不收敛、单调线性收敛、交替线性收敛和平方收敛的四种不同现象.

需说明的是, 本模块程序处理用户自行输入的函数并进行演示的能力还有缺陷. 因此不建议使用者自行输入函数g(x)和x轴, y轴显示范围.

操作与思考: 对于三个收敛的不动点迭代法, 它们都满足课本中不动点迭代法收敛定理的条件吗? 是具有全局收敛性还是局部收敛性? 借助这个演示, 能否发现一个不满足课本定理中的条件, 但全局收敛的不动点迭代法?

参考内容: 课本第2.3节