二分法
一个函数在定义域内单调有根,通过将根区间不断等分寻找近似解或精确解的方法。
算法步骤
步骤1: 准备 计算f(x)在有根区间[a,b]端点处的值f(a),f(b).
步骤2: 二分 计算f(x)在区间中点 (a+b)/2处的值 f((a+b)/2).
步骤3: 判断 若f((a+b)/2)=0,则(a+b)/2即是根,计算过程结束,否则检验;若f((a+b)/2)f(a)<0,则以(a+b)/2代替b,否则以(a+b)/2代替a.
反复执行步骤2和步骤3,直到区间[a,b]的长度小于允许误差e,此时中点(a+b)/2即为所
求近似根。
算法流程
例题
例:证明方程x3 +x-4=0在[1,3]内有一个根;若采用对分区间法求误差的绝对值不大于10-3的近似根,则至少迭代计算多少次?
源码
// An highlighted block
#include "stdio.h"
#include