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

<<主页

区间二分法

这个模块演示求解一维非线性方程 f(x) = 0的区间二分法. 首先找到一个初始的区间, 使得在它的两个端点处f(x)的函数值符号相反, 然后不断地对区间二等分, 直到方程的解被隔离在很小的范围内, 达到要求的准确度.

使用者既可以选择一个预设的例子问题("Example"按钮), 也可以自行输入函数f(x)的表达式和初始区间("x: from"后的两个输入框). 若自行输入数据,则需点击"Refresh"按钮, 重新绘制坐标系和函数曲线. 然后通过不断点击图右侧的"NEXT"按钮或高亮显示的步骤可一步一步地执行区间二分法. 绘图区中显示了当前步的区间 [a, b]和计算出来的中点m, 它们用短竖线标记出来, 而此处的函数值用圆点标记. 另外, 所有这些变量的数值都显示在下方的表格中. 每迭代一步,根据f(m)的正负号通过令a = mb = m将区间的长度减半, 这个过程如此不断重复下去. 函数的零点始终保持在区间中, 最终越来越准确地定位待求方程的解.

操作与思考: 输入一个没有解的方程, 或者一个解为二重根的方程, 看看这个二分法程序将如何执行?

参考内容: 课本第2.2节.