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

<<主页

割线法

这个模块演示求解一维非线性方程 f(x) = 0的割线法(secant method). 给定两个近似解x0x1,割线法通过计算x1f(x1) (x1x0) ⁄ (f(x1) − f(x0))得到一个新的近似解,它代表了割线(secant line)与x轴的交点位置. 用这个近似解取代前两个近似解中的一个,然后重复上述过程,常常很快就能收敛.

使用者可以选择一个预设的例子问题或者自行输入函数f(x)的表达式, 同时也可以输入两个初始解(在右下角处), 或者接受默认值. 然后通过不断点击图右侧的"NEXT"按钮或高亮显示的步骤可一步一步地执行割线法. 图中用圆点动态地标出当前的x 和函数值f(x), 它们的数值也将显示在下面的表格中. 在割线法的每步迭代,连接当前点的近似割线都显示在绘图区, 它与x轴的交点就是下一个近似解, 这个过程不断重复. 如果初始的近似解与准确解足够接近, 割线法将以超线性的收敛速度收敛.

操作与思考: 尝试改变初始解的取值, 使割线法失败.

参考内容:课本第2.5.1节.